@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,7 +1,16 @@
|
|
|
1
|
-
//
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
//
|
|
1
|
+
// MCP tool definitions for the post-pivot Extentos SDK surface.
|
|
2
|
+
//
|
|
3
|
+
// The library is a pure Kotlin/Swift SDK; customer code subscribes to capability
|
|
4
|
+
// primitives (audio.transcriptions, audio.recordDiscrete, audio.speak,
|
|
5
|
+
// camera.capturePhoto, …) from its own Handler classes. The MCP tools listed
|
|
6
|
+
// here help an AI coding agent compose against that SDK: discover capabilities,
|
|
7
|
+
// fetch canonical code patterns, scaffold the project, drive the browser
|
|
8
|
+
// simulator, and gate ship-readiness. There is no spec / DSL / block / trigger /
|
|
9
|
+
// callback authoring surface — the library no longer interprets a manifest.
|
|
10
|
+
//
|
|
11
|
+
// Schemas are hand-authored plain JSON Schema (no zod→JSONSchema runtime
|
|
12
|
+
// conversion). Cross-field "at least one of" constraints are enforced in the
|
|
13
|
+
// handler, not the schema — see assertNoForbiddenTopLevelKeywords below.
|
|
5
14
|
const platformEnum = { type: "string", enum: ["android", "ios"] };
|
|
6
15
|
const glassesEnum = { type: "string", enum: ["meta_rayban"] };
|
|
7
16
|
const responseFormatEnum = { type: "string", enum: ["concise", "detailed"] };
|
|
@@ -9,7 +18,7 @@ export const toolDefinitions = [
|
|
|
9
18
|
// --- 1. Discovery and Planning ---
|
|
10
19
|
{
|
|
11
20
|
name: "getPlatformInfo",
|
|
12
|
-
description: "Return static platform metadata
|
|
21
|
+
description: "Return static platform metadata: library version + the list of SDK capabilities the glasses expose (audio.transcriptions, audio.recordDiscrete, audio.speak, camera.capturePhoto, camera.videoFrames, audio.audioChunks, toggles, connection.state, …). The right first call for any new task — primes the agent on what primitives are available before writing handler code. **Default response is COMPACT** — capability names and categories only — keeping the typical first-call cost ~2KB. Per-feature call shape + idiom + gotchas comes from `getCapabilityGuide(feature)`; full compositional patterns (wake → record → LLM → speak end-to-end) from `getCodeExample(pattern)`; conceptual docs from `searchDocs(topic)`. Pass `expand: ['capabilities.full']` for the machine-readable catalog with params/payload/requires/constraints. USE at session start before scaffolding or writing handler code. DON'T USE for what's installed in the project (use inspectIntegration).",
|
|
13
22
|
inputSchema: {
|
|
14
23
|
type: "object",
|
|
15
24
|
properties: {
|
|
@@ -32,34 +41,61 @@ export const toolDefinitions = [
|
|
|
32
41
|
additionalProperties: false,
|
|
33
42
|
},
|
|
34
43
|
},
|
|
44
|
+
// --- SDK Composition Reference ---
|
|
45
|
+
// Canonical code patterns + per-feature usage guides. Together with
|
|
46
|
+
// getPlatformInfo these are how a fresh agent learns to compose the SDK.
|
|
35
47
|
{
|
|
36
|
-
name: "
|
|
37
|
-
description: "Reference library — retrieve
|
|
48
|
+
name: "getCodeExample",
|
|
49
|
+
description: "Reference library — retrieve a complete SDK code example (Kotlin + Swift) for a use case. Patterns cover the canonical voice-glasses compositions: voice_qa_assistant (the multi-turn wake+question+LLM+speak flow that motivated the pure-SDK pivot), barge_in_speak (cancel TTS on user interrupt), photo_describe_voice (wake → photo → vision LLM → speak), live_transcription_ui (transcripts into Compose/SwiftUI state), voice_notes (wake → record → persist), connection_page_setup (the minimum bootstrap wiring). USE when you're about to write handler code and want the canonical shape to peel from. DON'T USE for capability discovery (use getPlatformInfo) or per-feature minimal usage (use getCapabilityGuide).",
|
|
38
50
|
inputSchema: {
|
|
39
51
|
type: "object",
|
|
40
52
|
properties: {
|
|
41
53
|
pattern: {
|
|
42
54
|
type: "string",
|
|
43
55
|
enum: [
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"navigation_guide",
|
|
49
|
-
"video_call",
|
|
50
|
-
"object_detection",
|
|
56
|
+
"voice_qa_assistant",
|
|
57
|
+
"barge_in_speak",
|
|
58
|
+
"photo_describe_voice",
|
|
59
|
+
"live_transcription_ui",
|
|
51
60
|
"voice_notes",
|
|
61
|
+
"connection_page_setup",
|
|
52
62
|
],
|
|
63
|
+
description: "Which compositional pattern to fetch. Each returns full Kotlin + Swift code, an explanation, gotchas, and the SDK features it exercises.",
|
|
53
64
|
},
|
|
54
65
|
},
|
|
55
66
|
required: ["pattern"],
|
|
56
67
|
additionalProperties: false,
|
|
57
68
|
},
|
|
58
69
|
},
|
|
70
|
+
{
|
|
71
|
+
name: "getCapabilityGuide",
|
|
72
|
+
description: "Per-feature SDK usage guide — minimal Kotlin + Swift snippet + gotchas + which getCodeExample patterns exercise the feature. Pairs with getPlatformInfo (which lists feature names and categories) by adding the actual idiom for using each feature. USE when you know which feature you need but don't know the canonical call shape, or when you're hitting a confusing failure (the gotchas typically cover it). DON'T USE for a complete compositional pattern (use getCodeExample) or for capability discovery (use getPlatformInfo).",
|
|
73
|
+
inputSchema: {
|
|
74
|
+
type: "object",
|
|
75
|
+
properties: {
|
|
76
|
+
feature: {
|
|
77
|
+
type: "string",
|
|
78
|
+
enum: [
|
|
79
|
+
"capture_photo",
|
|
80
|
+
"record_audio",
|
|
81
|
+
"transcription_incremental",
|
|
82
|
+
"speak",
|
|
83
|
+
"video_frames",
|
|
84
|
+
"audio_chunks",
|
|
85
|
+
"connection_state",
|
|
86
|
+
"toggles",
|
|
87
|
+
],
|
|
88
|
+
description: "Feature name from getPlatformInfo.features[].name. Plus 'connection_state' and 'toggles' for the cross-cutting SDK surfaces.",
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
required: ["feature"],
|
|
92
|
+
additionalProperties: false,
|
|
93
|
+
},
|
|
94
|
+
},
|
|
59
95
|
// --- 2. Setup and Generation ---
|
|
60
96
|
{
|
|
61
97
|
name: "generateConnectionModule",
|
|
62
|
-
description: "One-shot project scaffold — bootstrap module
|
|
98
|
+
description: "One-shot project scaffold — emits the bootstrap module that wires `Extentos.create(...)` into the host app, build-script changes, dependencies, permissions, and the integration manifest. Run once per project; after this lands, the agent writes its own Handler classes against the SDK primitives surfaced by getCapabilityGuide / getCodeExample. **Two-call flow**: call once WITHOUT `placement` to receive `status: \"needs_placement\"` plus the question to ask the dev (where should ExtentosConnectionPage live in the app?); after the dev answers, call again WITH `placement` set to one of the 5 ids to receive the full scaffold (files, suggestedRendering, etc.). Returns files[] with action values 'create' and 'manual_patch' — see searchDocs('file_actions') for how to apply each. USE as the first generation tool when scaffolding a fresh project. DON'T USE when Extentos is already installed (use inspectIntegration to read current state).",
|
|
63
99
|
inputSchema: {
|
|
64
100
|
type: "object",
|
|
65
101
|
properties: {
|
|
@@ -84,139 +120,15 @@ export const toolDefinitions = [
|
|
|
84
120
|
additionalProperties: false,
|
|
85
121
|
},
|
|
86
122
|
},
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
properties: {
|
|
93
|
-
blocks: { type: "array", items: { type: "object" } },
|
|
94
|
-
streams: { type: "array", items: { type: "object" } },
|
|
95
|
-
triggers: { type: "array", items: { type: "object" } },
|
|
96
|
-
presetTriggers: {
|
|
97
|
-
type: "array",
|
|
98
|
-
items: {
|
|
99
|
-
type: "string",
|
|
100
|
-
enum: ["fallback_default", "thermal_throttle", "disconnect_announce"],
|
|
101
|
-
},
|
|
102
|
-
},
|
|
103
|
-
platform: platformEnum,
|
|
104
|
-
appPackage: { type: "string", minLength: 1 },
|
|
105
|
-
currentManifest: { type: "object" },
|
|
106
|
-
projectPath: {
|
|
107
|
-
type: "string",
|
|
108
|
-
description: "Absolute path to the project root. When provided, the server reads any existing ExtentosCallbacks file at the expected location, splices its USER-CODE block bodies into the freshly-rendered content, and returns action: 'write' (content is fully merged — write verbatim). When omitted, action stays 'create_or_merge' and the agent must perform the merge itself.",
|
|
109
|
-
},
|
|
110
|
-
},
|
|
111
|
-
required: ["blocks", "triggers", "platform", "appPackage"],
|
|
112
|
-
additionalProperties: false,
|
|
113
|
-
},
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
name: "generateConsumer",
|
|
117
|
-
description: "Generate lifecycle-safe platform-native boilerplate for consuming spec-declared surfaces (app_callback handlers OR streams). Pass `currentManifest` from inspectIntegration — the response then includes `manifest: { path, content }` with the full next-state manifest to write verbatim. Pass `projectPath` to enable server-side USER-CODE merging: the response action for ExtentosCallbacks/ExtentosStreams becomes 'write' (content is already merged — write verbatim, no agent merge needed) plus a mergeReport. Without projectPath, action stays 'create_or_merge' and the agent does the merge per searchDocs('file_actions'). The bootstrap file action is always 'replace_region' (marker-bounded splice). When kind:'callback', `handlers` is required and must contain at least one `{ name }` object — see the property schema for the full shape. When kind:'stream', `streams` is required with `{ id, type }` items. USE after updateSpec adds new handlers or streams. DON'T USE for initial scaffold (use generateConnectionModule) or capability discovery (use getPlatformInfo).",
|
|
118
|
-
inputSchema: {
|
|
119
|
-
type: "object",
|
|
120
|
-
properties: {
|
|
121
|
-
kind: { type: "string", enum: ["callback", "stream"] },
|
|
122
|
-
appPackage: { type: "string", minLength: 1 },
|
|
123
|
-
platform: platformEnum,
|
|
124
|
-
handlers: {
|
|
125
|
-
type: "array",
|
|
126
|
-
description: "Required when kind:'callback'. Array of handler descriptors — each gets its own marker-bounded USER-CODE block in the emitted ExtentosCallbacks file. May be empty when every handler has been removed from the spec (the orphan-clear path: server appends now-orphaned USER-CODE blocks with `// ORPHANED:<name>` markers — F-R3-6). F-R5-1 from DOGFOOD_R5: previously typed as `array of object` with no item shape, which left agents guessing at the canonical fields and let typos slip through silently.",
|
|
127
|
-
items: {
|
|
128
|
-
type: "object",
|
|
129
|
-
required: ["name"],
|
|
130
|
-
additionalProperties: false,
|
|
131
|
-
properties: {
|
|
132
|
-
name: {
|
|
133
|
-
type: "string",
|
|
134
|
-
minLength: 1,
|
|
135
|
-
description: "Handler name as referenced in the spec's `app_callback.handler` field. Must match exactly so the dispatch `when` arm routes to the right stub. Use snake_case to match spec conventions.",
|
|
136
|
-
},
|
|
137
|
-
inputKeys: {
|
|
138
|
-
type: "array",
|
|
139
|
-
items: { type: "string" },
|
|
140
|
-
description: "Optional list of input field names the handler reads from `call.input`. Surfaces in the generated stub as `// Input: { \"key\": \"<string>\", ... }` so the dev knows what fields to expect at hand-implementation time.",
|
|
141
|
-
},
|
|
142
|
-
service: {
|
|
143
|
-
type: "string",
|
|
144
|
-
description: "Optional descriptive label (free-form) — names the external service the handler integrates with. Surfaced in the stub's TODO comment.",
|
|
145
|
-
},
|
|
146
|
-
suggestedProvider: {
|
|
147
|
-
type: "string",
|
|
148
|
-
description: "Optional AI provider hint. When set, the stub emits a provider-specific TODO comment with example request shape. Recognized: anthropic, openai, google_cloud_vision, google_translate, google_gemini, deepl, azure_cognitive, aws_bedrock, huggingface, custom.",
|
|
149
|
-
},
|
|
150
|
-
},
|
|
151
|
-
},
|
|
152
|
-
},
|
|
153
|
-
streams: {
|
|
154
|
-
type: "array",
|
|
155
|
-
description: "Required when kind:'stream'. Array of stream descriptors copied from the spec's streams[] entries. May be empty when every stream has been removed from the spec (orphan-clear path).",
|
|
156
|
-
items: {
|
|
157
|
-
type: "object",
|
|
158
|
-
required: ["id", "type"],
|
|
159
|
-
additionalProperties: false,
|
|
160
|
-
properties: {
|
|
161
|
-
id: {
|
|
162
|
-
type: "string",
|
|
163
|
-
minLength: 1,
|
|
164
|
-
description: "Stream id from the spec's streams[].id field. Must match exactly so the consumer's lifecycle hooks key off the right stream.",
|
|
165
|
-
},
|
|
166
|
-
type: {
|
|
167
|
-
type: "string",
|
|
168
|
-
enum: [
|
|
169
|
-
"video_frames",
|
|
170
|
-
"audio_chunks",
|
|
171
|
-
"transcription_incremental",
|
|
172
|
-
"outgoing_audio_stream",
|
|
173
|
-
"outgoing_video_stream",
|
|
174
|
-
],
|
|
175
|
-
description: "Stream type discriminator. Copy verbatim from the spec's streams[].type field.",
|
|
176
|
-
},
|
|
177
|
-
},
|
|
178
|
-
},
|
|
179
|
-
},
|
|
180
|
-
scope: { type: "string", enum: ["lifecycle", "connection"] },
|
|
181
|
-
responseFormat: responseFormatEnum,
|
|
182
|
-
currentManifest: { type: "object" },
|
|
183
|
-
projectPath: {
|
|
184
|
-
type: "string",
|
|
185
|
-
description: "Absolute path to the project root. When provided, the server reads any existing ExtentosCallbacks/ExtentosStreams files at the expected locations, splices their USER-CODE block bodies into the freshly-rendered content, and returns action: 'write' (content is fully merged — write verbatim). When omitted, action stays 'create_or_merge' and the agent must perform the merge itself.",
|
|
186
|
-
},
|
|
187
|
-
},
|
|
188
|
-
required: ["kind", "appPackage", "platform"],
|
|
189
|
-
additionalProperties: false,
|
|
190
|
-
},
|
|
191
|
-
},
|
|
192
|
-
{
|
|
193
|
-
name: "updateSpec",
|
|
194
|
-
description: "Apply structured patch operations to an EXISTING spec. Requires basedOn freshness token from inspectIntegration. Pass `currentManifest` from inspectIntegration — the response then includes `manifest: { path, content }` with the full next-state manifest to write verbatim. The 13 operation shapes (addBlock/addStream/addTrigger/addAction/updateMeta/etc.) are documented in searchDocs('spec_operations') — every op has a different field requirement, do not guess. **Spec changes hot-push to any running simulator session via the spec_updated frame** — the response's `liveSessionUpdate` field reports `{status: \"applied\", appNotified: true}` when this fires. No rebuild, no remint of the simulator. USE for any change to an existing spec. DON'T USE for initial creation (use initSpec) or detached spec validation (use validateSpec).",
|
|
195
|
-
inputSchema: {
|
|
196
|
-
type: "object",
|
|
197
|
-
properties: {
|
|
198
|
-
spec: { type: "object" },
|
|
199
|
-
basedOn: {
|
|
200
|
-
type: "object",
|
|
201
|
-
properties: {
|
|
202
|
-
hash: { type: "string" },
|
|
203
|
-
timestamp: { type: "string" },
|
|
204
|
-
},
|
|
205
|
-
required: ["hash", "timestamp"],
|
|
206
|
-
additionalProperties: false,
|
|
207
|
-
},
|
|
208
|
-
operations: { type: "array", items: { type: "object" }, minItems: 1 },
|
|
209
|
-
platform: platformEnum,
|
|
210
|
-
currentManifest: { type: "object" },
|
|
211
|
-
},
|
|
212
|
-
required: ["spec", "basedOn", "operations", "platform"],
|
|
213
|
-
additionalProperties: false,
|
|
214
|
-
},
|
|
215
|
-
},
|
|
123
|
+
// initSpec / updateSpec / validateSpec / getExampleSpec / generateConsumer
|
|
124
|
+
// retired with the pure-SDK pivot — the library no longer interprets a
|
|
125
|
+
// manifest, so DSL authoring, patching, callback-dispatch generation, and
|
|
126
|
+
// detached spec validation are all dead surface. Handler code is now written
|
|
127
|
+
// directly against the SDK primitives; see getCodeExample / getCapabilityGuide.
|
|
216
128
|
// --- 3. Implementation Guidance ---
|
|
217
129
|
{
|
|
218
130
|
name: "getVoiceCommandGuidance",
|
|
219
|
-
description: "Analyze proposed voice
|
|
131
|
+
description: "Analyze proposed voice phrases for UX issues (length, homophones, digit-usage, Meta wake-word collision, ambiguity with existing phrases) before the agent wires them into a `glasses.audio.transcriptions()` consumer. Voice matching post-pivot is plain string contains/regex inside the customer's handler — this tool catches the issues the customer can't see (e.g. a phrase that sounds identical to another, or one that collides with Meta's hardware wake word) before they ship. USE before adding new phrase-match conditions to a handler. DON'T USE for general voice docs (use searchDocs topic 'voice_integration').",
|
|
220
132
|
inputSchema: {
|
|
221
133
|
type: "object",
|
|
222
134
|
properties: {
|
|
@@ -230,33 +142,26 @@ export const toolDefinitions = [
|
|
|
230
142
|
},
|
|
231
143
|
{
|
|
232
144
|
name: "getPermissions",
|
|
233
|
-
description: "Derive
|
|
145
|
+
description: "Derive Android permissions, iOS Info.plist keys, and Meta DAT scopes from the list of SDK capabilities the app uses. USE after deciding which features (capture_photo, transcription_incremental, voice_command, …) the app integrates. DON'T USE for capability discovery (use getPlatformInfo).",
|
|
234
146
|
inputSchema: {
|
|
235
147
|
type: "object",
|
|
236
148
|
properties: {
|
|
237
|
-
|
|
149
|
+
capabilities: {
|
|
150
|
+
type: "array",
|
|
151
|
+
items: { type: "string" },
|
|
152
|
+
minItems: 1,
|
|
153
|
+
description: "Capability names from getPlatformInfo.features[].name. e.g. ['capture_photo', 'transcription_incremental', 'voice_command'].",
|
|
154
|
+
},
|
|
238
155
|
platform: platformEnum,
|
|
239
156
|
},
|
|
240
|
-
required: ["
|
|
157
|
+
required: ["capabilities", "platform"],
|
|
241
158
|
additionalProperties: false,
|
|
242
159
|
},
|
|
243
160
|
},
|
|
244
161
|
// --- 4. Validation ---
|
|
245
|
-
{
|
|
246
|
-
name: "validateSpec",
|
|
247
|
-
description: "Validate a detached spec JSON against the 11 schema rules. Pure JSON check, no filesystem. USE after in-memory spec editing. DON'T USE for on-disk project validation (use validateIntegration).",
|
|
248
|
-
inputSchema: {
|
|
249
|
-
type: "object",
|
|
250
|
-
properties: {
|
|
251
|
-
spec: { type: "object" },
|
|
252
|
-
},
|
|
253
|
-
required: ["spec"],
|
|
254
|
-
additionalProperties: false,
|
|
255
|
-
},
|
|
256
|
-
},
|
|
257
162
|
{
|
|
258
163
|
name: "inspectIntegration",
|
|
259
|
-
description: "Read-only snapshot of current Extentos integration
|
|
164
|
+
description: "Read-only snapshot of current Extentos integration: manifest, generated-file hashes, dependency status, connection-page-config. USE before validateIntegration or for a 'what's wired so far?' read. DON'T USE for correctness checking (use validateIntegration).",
|
|
260
165
|
inputSchema: {
|
|
261
166
|
type: "object",
|
|
262
167
|
properties: {
|
|
@@ -267,7 +172,7 @@ export const toolDefinitions = [
|
|
|
267
172
|
},
|
|
268
173
|
{
|
|
269
174
|
name: "validateIntegration",
|
|
270
|
-
description: "Check the WHOLE project for correctness —
|
|
175
|
+
description: "Check the WHOLE project for correctness — manifest, generated files, dependency, permissions (vs the manifest's capabilities list), bootstrap wiring, toolchain versions. Pre-testing gate. USE after changes before testing. DON'T USE for reading state (use inspectIntegration).",
|
|
271
176
|
inputSchema: {
|
|
272
177
|
type: "object",
|
|
273
178
|
properties: {
|
|
@@ -279,12 +184,11 @@ export const toolDefinitions = [
|
|
|
279
184
|
// --- 5. Simulation ---
|
|
280
185
|
{
|
|
281
186
|
name: "createSimulatorSession",
|
|
282
|
-
description: "**Get-or-create**: provision a browser-based simulator session for this project, OR return the existing saved one.
|
|
187
|
+
description: "**Get-or-create**: provision a browser-based simulator session for this project, OR return the existing saved one. The simulator hosts your customer-built app running against a Meta-DAT-shaped transport stub — `glasses.audio.transcriptions()`, `glasses.camera.capturePhoto()`, `glasses.audio.speak()` and every other capability primitive flow through it exactly as they would on real hardware, so the agent can dogfood a handler in a browser before a Meta DAT is paired. Persistent-simulations model: each project + platform has at most one saved sim tied to the user's account. Calling this returns that sim's existing URL if it exists (status:'resumed') instead of creating a new one. To force a new sim ID (URL hijacked, clean-slate test), pass `resetFresh: true` — archives the existing and creates a fresh one. The dev can also reset from the dashboard at extentos.com/s. **First-time per project**: creates the sim (status:'active'); subsequent calls in any future session return the same sim. **Auto-bind** (response carries autoBind:'attached'): when the dev's running app is reachable via the MCP local bridge, attaches it to the session — no rebuild needed. Otherwise URL-bake fallback (Android: buildConfigField patch; iOS: plist write). For 'resumed' responses, the URL is unchanged from last time so no rebuild/patch is needed regardless. **Iteration model — DO NOT call this per change**: app-code edits rebuild + reinstall and reattach automatically; the simulator URL is stable. Calling this again on the same project just returns the same sim — cheap, idempotent. **First-link auto-poll**: when account-linking is required, by default polls completeAuthLink internally for `autoLinkSeconds` (default 30) and re-mints on success. `autoLink: false` for CI / non-interactive contexts.",
|
|
283
188
|
inputSchema: {
|
|
284
189
|
type: "object",
|
|
285
190
|
properties: {
|
|
286
191
|
glasses: glassesEnum,
|
|
287
|
-
spec: { type: "object" },
|
|
288
192
|
platform: platformEnum,
|
|
289
193
|
projectPath: { type: "string" },
|
|
290
194
|
recordBinary: { type: "boolean" },
|
|
@@ -301,10 +205,10 @@ export const toolDefinitions = [
|
|
|
301
205
|
},
|
|
302
206
|
resetFresh: {
|
|
303
207
|
type: "boolean",
|
|
304
|
-
description: "
|
|
208
|
+
description: "When true, archive any existing saved sim for this project + platform and create a fresh one with a new sessionId. Default false — get-or-create returns the existing saved sim. Use for ID rotation (URL got hijacked, dev wants a clean slate). Dashboard's 'Reset' button hits the same backend path.",
|
|
305
209
|
},
|
|
306
210
|
},
|
|
307
|
-
required: ["glasses"
|
|
211
|
+
required: ["glasses"],
|
|
308
212
|
additionalProperties: false,
|
|
309
213
|
},
|
|
310
214
|
},
|
|
@@ -324,7 +228,7 @@ export const toolDefinitions = [
|
|
|
324
228
|
},
|
|
325
229
|
{
|
|
326
230
|
name: "getEventLog",
|
|
327
|
-
description: "Fetch structured event trace inside a simulator session. Primary debugging tool for why
|
|
231
|
+
description: "Fetch structured event trace inside a simulator session. Primary debugging tool for *why is my handler not seeing what I expect* — transcripts not arriving, photo capture failing, toggle changes not propagating, speak getting cut off, connection dropping. Events are grouped by capability layer (transport / audio / camera / speak / toggle / stream / system) so you can filter to just the surface you're investigating. USE to diagnose which capability primitive is misbehaving. DON'T USE for static configuration checking (use validateIntegration) or for live session phase (use getSimulatorStatus).",
|
|
328
232
|
inputSchema: {
|
|
329
233
|
type: "object",
|
|
330
234
|
properties: {
|
|
@@ -335,18 +239,17 @@ export const toolDefinitions = [
|
|
|
335
239
|
"all",
|
|
336
240
|
"errors",
|
|
337
241
|
"transport",
|
|
338
|
-
"
|
|
339
|
-
"
|
|
340
|
-
"
|
|
242
|
+
"audio",
|
|
243
|
+
"camera",
|
|
244
|
+
"speak",
|
|
341
245
|
"toggles",
|
|
342
246
|
"streams",
|
|
343
247
|
"system",
|
|
344
|
-
"spec",
|
|
345
248
|
],
|
|
249
|
+
description: "Layer to filter the event stream by. 'all' (default) returns every event; 'errors' returns only severity≥error; the remaining values scope to one capability layer.",
|
|
346
250
|
},
|
|
347
251
|
limit: { type: "integer", minimum: 1 },
|
|
348
252
|
since: { type: "string" },
|
|
349
|
-
flowId: { type: "string" },
|
|
350
253
|
responseFormat: responseFormatEnum,
|
|
351
254
|
redactBinary: { type: "boolean" },
|
|
352
255
|
},
|
|
@@ -356,7 +259,7 @@ export const toolDefinitions = [
|
|
|
356
259
|
},
|
|
357
260
|
{
|
|
358
261
|
name: "getSimulatorStatus",
|
|
359
|
-
description: "Read a live simulator session's current state — phase, hardware-ready, roles, active streams
|
|
262
|
+
description: "Read a live simulator session's current state — phase (active/paused/closed), hardware-ready, attached roles (app + browser), active capability streams (which `videoFrames`/`audioChunks`/`transcriptions` subscriptions are open right now), and current toggle values. Session-level snapshot only. USE during testing to confirm a stream is open, a toggle is set, the session is healthy, or the app role has actually attached. DON'T USE for event traces (use getEventLog).",
|
|
360
263
|
inputSchema: {
|
|
361
264
|
type: "object",
|
|
362
265
|
properties: {
|
|
@@ -369,28 +272,36 @@ export const toolDefinitions = [
|
|
|
369
272
|
// --- 6. Production ---
|
|
370
273
|
{
|
|
371
274
|
name: "getProductionChecklist",
|
|
372
|
-
description: "Return a personalized production
|
|
275
|
+
description: "Return a personalized production-readiness checklist based on the SDK capabilities the app uses + the handlers it declares. USE when going to production. DON'T USE during development.",
|
|
373
276
|
inputSchema: {
|
|
374
277
|
type: "object",
|
|
375
278
|
properties: {
|
|
376
|
-
|
|
279
|
+
capabilities: {
|
|
280
|
+
type: "array",
|
|
281
|
+
items: { type: "string" },
|
|
282
|
+
description: "Capability names from getPlatformInfo.features[].name. Drives the streams / hardware-verify / permissions-audit steps.",
|
|
283
|
+
},
|
|
284
|
+
handlers: {
|
|
285
|
+
type: "array",
|
|
286
|
+
items: { type: "string" },
|
|
287
|
+
description: "Names of the handlers the app declares (one per BYOK / AI integration). Drives the API Keys step.",
|
|
288
|
+
},
|
|
377
289
|
platform: platformEnum,
|
|
378
290
|
projectPath: { type: "string" },
|
|
379
291
|
},
|
|
380
|
-
required: ["
|
|
292
|
+
required: ["capabilities", "platform"],
|
|
381
293
|
additionalProperties: false,
|
|
382
294
|
},
|
|
383
295
|
},
|
|
384
296
|
{
|
|
385
297
|
name: "getCredentialGuide",
|
|
386
|
-
description: "Return step-by-step credential setup instructions for
|
|
298
|
+
description: "Return step-by-step credential setup instructions for the Meta DAT plus each BYOK AI service the app integrates with. USE when wiring a new BYOK provider or graduating from simulator to real hardware. DON'T USE during simulator-only dev loop.",
|
|
387
299
|
inputSchema: {
|
|
388
300
|
type: "object",
|
|
389
301
|
properties: {
|
|
390
|
-
spec: { type: "object" },
|
|
391
|
-
platform: platformEnum,
|
|
392
302
|
services: {
|
|
393
303
|
type: "array",
|
|
304
|
+
minItems: 1,
|
|
394
305
|
items: {
|
|
395
306
|
type: "string",
|
|
396
307
|
enum: [
|
|
@@ -406,16 +317,23 @@ export const toolDefinitions = [
|
|
|
406
317
|
"custom",
|
|
407
318
|
],
|
|
408
319
|
},
|
|
320
|
+
description: "List of providers the app integrates with — one per handler/integration. Order doesn't matter.",
|
|
409
321
|
},
|
|
322
|
+
handlers: {
|
|
323
|
+
type: "array",
|
|
324
|
+
items: { type: "string" },
|
|
325
|
+
description: "Optional list of handler names. When provided, each provider guide labels which handlers it's for by matching name patterns (vision/translate/gemini/etc.).",
|
|
326
|
+
},
|
|
327
|
+
platform: platformEnum,
|
|
410
328
|
},
|
|
411
|
-
required: ["
|
|
329
|
+
required: ["services", "platform"],
|
|
412
330
|
additionalProperties: false,
|
|
413
331
|
},
|
|
414
332
|
},
|
|
415
333
|
// --- 7. Documentation ---
|
|
416
334
|
{
|
|
417
335
|
name: "searchDocs",
|
|
418
|
-
description: "Search Extentos documentation by topic or keyword.
|
|
336
|
+
description: "Search Extentos documentation by topic or keyword. The conceptual / narrative layer that complements the action-oriented tools — read these to understand *how* the SDK is meant to be used, not just what calls exist. Canonical post-pivot topics: `getting_started` (full topic index — read first), `custom_handlers` (the central composition doc — how to write a Handler class that subscribes to capability primitives), `voice_integration`, `connection_ui_placement`, `host_app_scaffold`, `auto_bind_session_lifecycle`, `local_bridge_discovery`, `device_code_flow`, `connection_state_model`, `permissions`, `production_checklist`, `concurrency_modes`, `multi_platform_projects`, `library_api`, `toggles`, `audio_video_coexistence`, `simulator_browser_mode`, `event_log_schema`, `file_actions`. Topic IDs are stable. **At least one of `topic` or `query` is required** (enforced by the handler — calling with neither returns an invalid_arguments error). Pass `topic` alone to fetch the full topic content (most common); pass `query` alone for keyword search across all topics; pass both to narrow keyword search inside a topic. USE to learn how primitives compose into a real flow, or to read up on a specific feature (permissions, toggles, connection lifecycle). DON'T USE for the platform capability list (use getPlatformInfo), call-shape per feature (use getCapabilityGuide), or project-installed state (use inspectIntegration).",
|
|
419
337
|
inputSchema: {
|
|
420
338
|
type: "object",
|
|
421
339
|
properties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/docs/index.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAqJD,eAAO,MAAM,SAAS,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/docs/index.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAqJD,eAAO,MAAM,SAAS,EAAE,QAAQ,EAuyB/B,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAuB/E"}
|