@extentos/mcp-server 0.0.69 → 0.0.70

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.
@@ -1 +1 @@
1
- {"version":3,"file":"capabilityPatterns.d.ts","sourceRoot":"","sources":["../../../src/tools/data/capabilityPatterns.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAiTD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAS7D,CAAC;AAEF,eAAO,MAAM,yBAAyB,UAAwC,CAAC"}
1
+ {"version":3,"file":"capabilityPatterns.d.ts","sourceRoot":"","sources":["../../../src/tools/data/capabilityPatterns.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAuTD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAS7D,CAAC;AAEF,eAAO,MAAM,yBAAyB,UAAwC,CAAC"}
@@ -52,14 +52,15 @@ let mediaType = "image/jpeg"`,
52
52
  const RECORD_AUDIO = {
53
53
  feature: "record_audio",
54
54
  summary: "Bounded mic capture with built-in silence-VAD turn-detection AND auto-transcription. The canonical free-form-question-capture primitive (used by every voice-Q&A flow). Returns AudioRecording with `transcript`, `audioDurationMs`, `rawAudioUri`.",
55
- kotlin: `import com.extentos.glasses.core.AudioRecordConfig
55
+ kotlin: `import com.extentos.glasses.core.AudioQuality
56
+ import com.extentos.glasses.core.AudioRecordConfig
56
57
  import com.extentos.glasses.core.valueOrNull
57
58
 
58
59
  val recording = glasses.audio.recordDiscrete(
59
60
  AudioRecordConfig(
60
- maxDurationSeconds = 30,
61
- silenceTimeoutSeconds = 3.0, // VAD turn-end threshold
62
- quality = "standard",
61
+ maxDurationSeconds = 30.0, // Double, not Int
62
+ silenceTimeoutSeconds = 3.0, // VAD turn-end threshold (Double seconds)
63
+ quality = AudioQuality.STANDARD, // STANDARD or HIGH (enum, not String)
63
64
  )
64
65
  ).valueOrNull() ?: return // ExtentosResult.Err — recording.errorOrNull() for shape
65
66
 
@@ -149,12 +150,13 @@ task.cancel()`,
149
150
  const VIDEO_FRAMES = {
150
151
  feature: "video_frames",
151
152
  summary: "Continuous outbound stream of camera frames at the configured frame rate. For on-device ML (object detection, scene classification), live preview UI, anything that needs >1 frame/second.",
152
- kotlin: `glasses.camera.videoFrames(
153
+ kotlin: `import com.extentos.glasses.core.Resolution
154
+ import com.extentos.glasses.core.VideoFrameConfig
155
+
156
+ glasses.camera.videoFrames(
153
157
  VideoFrameConfig(
154
- resolution = "LOW", // LOW is plenty for most ML
155
- frameRate = 2, // 2 fps for ML; 7-15 for preview
156
- codec = "hvc1", // HEVC passthrough — avoid h264 FPS cliff
157
- backpressure = "drop_oldest",
158
+ resolution = Resolution.LOW, // LOW is plenty for most ML
159
+ frameRate = 2, // 2 fps for ML; 7-15 for preview
158
160
  )
159
161
  ).collect { frame ->
160
162
  // process frame.uri or frame.bytes
@@ -170,8 +172,9 @@ const VIDEO_FRAMES = {
170
172
  // process frame.buffer / frame.width / frame.height
171
173
  }`,
172
174
  gotchas: [
175
+ "Kotlin VideoFrameConfig is intentionally minimal — `resolution` and `frameRate` only. Codec is fixed at HVC1 (HEVC passthrough); backpressure is handled internally by the transport layer.",
176
+ "iOS VideoFrameConfig exposes codec + backpressure as explicit fields (F-DOGFOOD-F50 — cross-platform asymmetry; iOS more granular). Multi-platform handlers either accept the iOS-side defaults or peel a platform-specific config block.",
173
177
  "frame_rate × battery: 2fps for ML drains negligibly; 7-15fps for preview lasts ~1hr; 24-30fps drains in ~30min. Always pair high-fps streams with a thermal_warning listener that downgrades.",
174
- "codec hvc1 (HEVC) bypasses the MediaCodec FPS cliff. h264 forces re-encode and drops to <5fps. Use hvc1 unless your consumer can't decode it.",
175
178
  "Gated by camera_streaming_enabled + privacy_mode toggles. battery_save_mode = true clamps to LOW + 2fps regardless of config.",
176
179
  "Requires FOREGROUND_SERVICE on Android 14+; iOS needs bluetooth-central UIBackgroundModes. See getPermissions.",
177
180
  ],
@@ -180,10 +183,12 @@ const VIDEO_FRAMES = {
180
183
  const AUDIO_CHUNKS = {
181
184
  feature: "audio_chunks",
182
185
  summary: "Raw audio chunks from the glasses mic, for custom on-device or cloud STT (your own model, not the platform's), audio analysis, custom keyword spotting.",
183
- kotlin: `glasses.audio.audioChunks(
186
+ kotlin: `import com.extentos.glasses.core.AudioChunkConfig
187
+
188
+ glasses.audio.audioChunks(
184
189
  AudioChunkConfig(
185
- chunkMillis = 20, // canonical opus frame size
186
- backpressure = "drop_oldest",
190
+ chunkMillis = 20, // canonical opus frame size
191
+ sampleRate = 16000, // 16 kHz default — match downstream STT model
187
192
  )
188
193
  ).collect { chunk ->
189
194
  // feed chunk.bytes to your STT / VAD / classifier
@@ -197,6 +202,7 @@ const AUDIO_CHUNKS = {
197
202
  // feed chunk.samples (Data) to your STT / VAD / classifier
198
203
  }`,
199
204
  gotchas: [
205
+ "Kotlin AudioChunkConfig has `chunkMillis` and `sampleRate` only. iOS additionally exposes a `backpressure` field (F-DOGFOOD-F50 — cross-platform asymmetry pending a parity sweep). Kotlin's transport handles backpressure internally with the same default (suspend on a 16-chunk buffer).",
200
206
  "Use transcriptions() if you just want STT — the platform recognizer is cheaper and pre-routed. audio_chunks is for cases where you need raw PCM.",
201
207
  "20ms chunk size is the standard opus/CELT frame; don't change unless your downstream model expects a specific shape.",
202
208
  "16-chunk buffer cap; slow consumers (>50ms/chunk processing on average) will drop. Profile your consumer.",
@@ -1 +1 @@
1
- {"version":3,"file":"capabilityPatterns.js","sourceRoot":"","sources":["../../../src/tools/data/capabilityPatterns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilityPatterns.js","sourceRoot":"","sources":["../../../src/tools/data/capabilityPatterns.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@extentos/mcp-server",
3
- "version": "0.0.69",
3
+ "version": "0.0.70",
4
4
  "description": "Extentos MCP server — deterministic tools for building Meta-glasses apps.",
5
5
  "type": "module",
6
6
  "bin": {