@extentos/mcp-server 0.0.57 → 0.0.59

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.
Files changed (82) hide show
  1. package/README.md +22 -62
  2. package/dist/generated/events.d.ts +3 -3
  3. package/dist/generated/events.d.ts.map +1 -1
  4. package/dist/generated/events.js +11 -6
  5. package/dist/generated/events.js.map +1 -1
  6. package/dist/generated/schemas.d.ts.map +1 -1
  7. package/dist/generated/schemas.js +41 -124
  8. package/dist/generated/schemas.js.map +1 -1
  9. package/dist/index.js +4 -3
  10. package/dist/index.js.map +1 -1
  11. package/dist/tools/data/capabilityPatterns.d.ts +11 -0
  12. package/dist/tools/data/capabilityPatterns.d.ts.map +1 -0
  13. package/dist/tools/data/capabilityPatterns.js +300 -0
  14. package/dist/tools/data/capabilityPatterns.js.map +1 -0
  15. package/dist/tools/data/codeExamples.d.ts +15 -0
  16. package/dist/tools/data/codeExamples.d.ts.map +1 -0
  17. package/dist/tools/data/codeExamples.js +519 -0
  18. package/dist/tools/data/codeExamples.js.map +1 -0
  19. package/dist/tools/definitions.d.ts.map +1 -1
  20. package/dist/tools/definitions.js +99 -181
  21. package/dist/tools/definitions.js.map +1 -1
  22. package/dist/tools/docs/index.d.ts.map +1 -1
  23. package/dist/tools/docs/index.js +321 -800
  24. package/dist/tools/docs/index.js.map +1 -1
  25. package/dist/tools/handlers/createSimulatorSession.d.ts.map +1 -1
  26. package/dist/tools/handlers/createSimulatorSession.js +36 -51
  27. package/dist/tools/handlers/createSimulatorSession.js.map +1 -1
  28. package/dist/tools/handlers/generateConnectionModule.js +14 -15
  29. package/dist/tools/handlers/generateConnectionModule.js.map +1 -1
  30. package/dist/tools/handlers/getCapabilityGuide.d.ts +3 -0
  31. package/dist/tools/handlers/getCapabilityGuide.d.ts.map +1 -0
  32. package/dist/tools/handlers/getCapabilityGuide.js +47 -0
  33. package/dist/tools/handlers/getCapabilityGuide.js.map +1 -0
  34. package/dist/tools/handlers/getCodeExample.d.ts +3 -0
  35. package/dist/tools/handlers/getCodeExample.d.ts.map +1 -0
  36. package/dist/tools/handlers/getCodeExample.js +50 -0
  37. package/dist/tools/handlers/getCodeExample.js.map +1 -0
  38. package/dist/tools/handlers/getCredentialGuide.d.ts.map +1 -1
  39. package/dist/tools/handlers/getCredentialGuide.js +44 -84
  40. package/dist/tools/handlers/getCredentialGuide.js.map +1 -1
  41. package/dist/tools/handlers/getEventLog.d.ts.map +1 -1
  42. package/dist/tools/handlers/getEventLog.js +7 -8
  43. package/dist/tools/handlers/getEventLog.js.map +1 -1
  44. package/dist/tools/handlers/getPermissions.d.ts.map +1 -1
  45. package/dist/tools/handlers/getPermissions.js +27 -12
  46. package/dist/tools/handlers/getPermissions.js.map +1 -1
  47. package/dist/tools/handlers/getPlatformInfo.d.ts.map +1 -1
  48. package/dist/tools/handlers/getPlatformInfo.js +112 -46
  49. package/dist/tools/handlers/getPlatformInfo.js.map +1 -1
  50. package/dist/tools/handlers/getProductionChecklist.d.ts.map +1 -1
  51. package/dist/tools/handlers/getProductionChecklist.js +86 -120
  52. package/dist/tools/handlers/getProductionChecklist.js.map +1 -1
  53. package/dist/tools/handlers/getSimulatorStatus.d.ts.map +1 -1
  54. package/dist/tools/handlers/getSimulatorStatus.js +1 -3
  55. package/dist/tools/handlers/getSimulatorStatus.js.map +1 -1
  56. package/dist/tools/handlers/getVoiceCommandGuidance.d.ts.map +1 -1
  57. package/dist/tools/handlers/getVoiceCommandGuidance.js +18 -45
  58. package/dist/tools/handlers/getVoiceCommandGuidance.js.map +1 -1
  59. package/dist/tools/handlers/inspectIntegration.d.ts.map +1 -1
  60. package/dist/tools/handlers/inspectIntegration.js +14 -52
  61. package/dist/tools/handlers/inspectIntegration.js.map +1 -1
  62. package/dist/tools/handlers/validateIntegration.d.ts.map +1 -1
  63. package/dist/tools/handlers/validateIntegration.js +83 -167
  64. package/dist/tools/handlers/validateIntegration.js.map +1 -1
  65. package/dist/tools/registry.d.ts.map +1 -1
  66. package/dist/tools/registry.js +6 -11
  67. package/dist/tools/registry.js.map +1 -1
  68. package/dist/tools/templates/androidBootstrap.d.ts.map +1 -1
  69. package/dist/tools/templates/androidBootstrap.js +20 -47
  70. package/dist/tools/templates/androidBootstrap.js.map +1 -1
  71. package/dist/tools/templates/iosBootstrap.d.ts.map +1 -1
  72. package/dist/tools/templates/iosBootstrap.js +24 -34
  73. package/dist/tools/templates/iosBootstrap.js.map +1 -1
  74. package/dist/tools/util/manifest.d.ts +0 -61
  75. package/dist/tools/util/manifest.d.ts.map +1 -1
  76. package/dist/tools/util/manifest.js +14 -112
  77. package/dist/tools/util/manifest.js.map +1 -1
  78. package/dist/tools/util/permissions.d.ts +4 -7
  79. package/dist/tools/util/permissions.d.ts.map +1 -1
  80. package/dist/tools/util/permissions.js +151 -161
  81. package/dist/tools/util/permissions.js.map +1 -1
  82. package/package.json +1 -6
@@ -0,0 +1,50 @@
1
+ // getCodeExample — return a complete SDK code example for a use case.
2
+ //
3
+ // The customer's authoring layer post-pivot is Kotlin/Swift code that
4
+ // subscribes to capability primitives. This tool returns the canonical
5
+ // composition for each common voice-glasses use case in both languages so
6
+ // fresh AI agents have a concrete shape to peel from. Patterns live in
7
+ // data/codeExamples.ts; per-feature minimal usage lives in
8
+ // data/capabilityPatterns.ts (served by getCapabilityGuide).
9
+ import { okResponse, errorResponse } from "../response.js";
10
+ import { CODE_EXAMPLES, CODE_EXAMPLE_PATTERNS } from "../data/codeExamples.js";
11
+ export function handleGetCodeExample(raw) {
12
+ if (!raw || typeof raw !== "object") {
13
+ return errorResponse({
14
+ code: "invalid_arguments",
15
+ message: "getCodeExample requires { pattern }.",
16
+ fixHint: `Pass { pattern: "voice_qa_assistant" } (or one of: ${CODE_EXAMPLE_PATTERNS.join(", ")}).`,
17
+ retryable: false,
18
+ });
19
+ }
20
+ const obj = raw;
21
+ const pattern = typeof obj.pattern === "string" ? obj.pattern : "";
22
+ if (!pattern) {
23
+ return errorResponse({
24
+ code: "invalid_arguments",
25
+ message: "pattern is required.",
26
+ fixHint: `Valid patterns: ${CODE_EXAMPLE_PATTERNS.join(", ")}.`,
27
+ retryable: false,
28
+ });
29
+ }
30
+ const example = CODE_EXAMPLES[pattern];
31
+ if (!example) {
32
+ return errorResponse({
33
+ code: "invalid_arguments",
34
+ message: `Unknown pattern ${JSON.stringify(pattern)}.`,
35
+ fixHint: `Valid patterns: ${CODE_EXAMPLE_PATTERNS.join(", ")}.`,
36
+ retryable: false,
37
+ });
38
+ }
39
+ return okResponse({
40
+ pattern: example.pattern,
41
+ title: example.title,
42
+ description: example.description,
43
+ code: example.code,
44
+ explanation: example.explanation,
45
+ gotchas: example.gotchas,
46
+ relatedFeatures: example.relatedFeatures,
47
+ summary: `Returned code example "${example.title}". Study the kotlin + swift code, the explanation for what it does, and the gotchas before adapting. Don't copy whole — peel pieces relevant to your goal.`,
48
+ });
49
+ }
50
+ //# sourceMappingURL=getCodeExample.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCodeExample.js","sourceRoot":"","sources":["../../../src/tools/handlers/getCodeExample.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,EAAE;AACF,sEAAsE;AACtE,uEAAuE;AACvE,0EAA0E;AAC1E,uEAAuE;AACvE,2DAA2D;AAC3D,6DAA6D;AAE7D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAmB,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAE/E,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC/C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,aAAa,CAAC;YACnB,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,sCAAsC;YAC/C,OAAO,EAAE,sDAAsD,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACnG,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,GAAG,GAAG,GAA8B,CAAC;IAC3C,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,aAAa,CAAC;YACnB,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,sBAAsB;YAC/B,OAAO,EAAE,mBAAmB,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAC/D,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,aAAa,CAAC;YACnB,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,mBAAmB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG;YACtD,OAAO,EAAE,mBAAmB,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAC/D,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,OAAO,EAAE,0BAA0B,OAAO,CAAC,KAAK,4JAA4J;KAC7M,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getCredentialGuide.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/getCredentialGuide.ts"],"names":[],"mappings":"AAKA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA8I5E,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAejE"}
1
+ {"version":3,"file":"getCredentialGuide.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/getCredentialGuide.ts"],"names":[],"mappings":"AASA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA8I5E,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAWjE"}
@@ -1,6 +1,11 @@
1
- // getCredentialGuide — step-by-step credential setup for Meta + BYOK providers.
2
- // Spec: docs/mcp/MCP_TOOLS.md § getCredentialGuide
3
- // Built-in provider guides for 9 services + custom fallback.
1
+ // getCredentialGuide — step-by-step credential setup for Meta DAT
2
+ // + BYOK AI service providers.
3
+ //
4
+ // Post pure-SDK pivot: input is `{ services: Service[], platform }` —
5
+ // the agent declares which providers the app integrates with (one for
6
+ // each handler that calls out to an LLM/vision/translation API).
7
+ // Optional `handlers: string[]` lets the agent label each provider
8
+ // guide with the handlers it's for.
4
9
  import { okResponse, errorResponse } from "../response.js";
5
10
  const VALID_SERVICES = [
6
11
  "anthropic",
@@ -123,11 +128,9 @@ export function handleGetCredentialGuide(raw) {
123
128
  const parsed = parseArgs(raw);
124
129
  if ("error" in parsed)
125
130
  return parsed.error;
126
- const { spec, platform, services } = parsed;
127
- const derivedServices = services.length ? services : deriveServicesFromSpec(spec);
128
- const handlers = collectHandlerNames(spec);
131
+ const { platform, services, handlers } = parsed;
129
132
  const metaCredentials = buildMetaCredentials(platform);
130
- const serviceCredentials = derivedServices.map((svc) => buildServiceGuide(svc, handlers, platform));
133
+ const serviceCredentials = services.map((svc) => buildServiceGuide(svc, handlers, platform));
131
134
  const summary = buildSummary(platform, metaCredentials, serviceCredentials);
132
135
  const keyStorage = buildKeyStorageGuidance(platform);
133
136
  return okResponse({ metaCredentials, serviceCredentials, keyStorage, summary });
@@ -164,7 +167,7 @@ function buildServiceGuide(service, handlers, platform) {
164
167
  steps: [
165
168
  "Create an account with your chosen provider and obtain an API key.",
166
169
  "Decide on a key storage strategy: Android keystore / iOS Keychain / BuildConfig / Info.plist / server proxy.",
167
- "Pass the key to your callback handler via dependency injection or constructor args.",
170
+ "Pass the key to your handler via dependency injection or constructor args.",
168
171
  ],
169
172
  codeExample: sampleCode(platform, "YOUR_API_KEY"),
170
173
  };
@@ -183,33 +186,28 @@ function buildServiceGuide(service, handlers, platform) {
183
186
  }
184
187
  function sampleCode(platform, keyName) {
185
188
  if (platform === "android") {
186
- return (`// build.gradle.kts (app)\n` +
187
- `android { defaultConfig { buildConfigField("String", "${keyName}", "\\"${"$"}{System.getenv(\\"${keyName}\\") ?: \\"\\"}\\"") } }\n\n` +
188
- `// ExtentosCallbacks.kt\n` +
189
- `private suspend fun handleVision(call: AppCall): AppCallbackResult {\n` +
190
- ` val client = YourClient(apiKey = BuildConfig.${keyName})\n` +
191
- ` return client.analyze(call.input)\n` +
192
- `}`);
189
+ return (`// app/build.gradle.kts\n` +
190
+ `android { defaultConfig { resValue("string", "${keyName.toLowerCase()}", System.getenv("${keyName}") ?: "") } }\n\n` +
191
+ `// In your handler class (regular Kotlin against the Extentos SDK)\n` +
192
+ `private suspend fun handleVision(image: ByteArray): String {\n` +
193
+ ` val key = context.getString(R.string.${keyName.toLowerCase()})\n` +
194
+ ` val client = YourClient(apiKey = key)\n` +
195
+ ` return client.analyze(image)\n` +
196
+ `}\n\n` +
197
+ `// resValue is preferred over buildConfigField because Kotlin compile-\n` +
198
+ `// time constants inlined from BuildConfig don't re-inline when the\n` +
199
+ `// resValue rotates — the kotlin incremental compiler doesn't notice\n` +
200
+ `// the literal changed, so old binaries silently keep the old key.`);
193
201
  }
194
202
  return (`// Info.plist\n` +
195
203
  `<key>${keyName}</key>\n<string>$(${keyName})</string> <!-- inject via xcconfig, not checked in -->\n\n` +
196
- `// ExtentosCallbacks.swift\n` +
197
- `private func handleVision(payload: JSONValue, context: CallbackContext) async -> JSONValue {\n` +
204
+ `// In your handler (regular Swift against the Extentos SDK)\n` +
205
+ `private func handleVision(image: Data) async throws -> String {\n` +
198
206
  ` let key = Bundle.main.object(forInfoDictionaryKey: "${keyName}") as? String ?? ""\n` +
199
207
  ` let client = YourClient(apiKey: key)\n` +
200
- ` return try await client.analyze(payload)\n` +
208
+ ` return try await client.analyze(image)\n` +
201
209
  `}`);
202
210
  }
203
- function deriveServicesFromSpec(spec) {
204
- const handlers = collectHandlerNames(spec);
205
- const set = new Set();
206
- for (const h of handlers) {
207
- set.add(guessServiceForHandler(h));
208
- }
209
- if (set.size === 0)
210
- set.add("custom");
211
- return [...set].sort();
212
- }
213
211
  function guessServiceForHandler(name) {
214
212
  const n = name.toLowerCase();
215
213
  if (/translate|translation/.test(n))
@@ -222,56 +220,24 @@ function guessServiceForHandler(name) {
222
220
  return "openai";
223
221
  return "custom";
224
222
  }
225
- function collectHandlerNames(spec) {
226
- const set = new Set();
227
- const visit = (actions) => {
228
- if (!Array.isArray(actions))
229
- return;
230
- for (const a of actions) {
231
- if (!a || typeof a !== "object")
232
- continue;
233
- const rec = a;
234
- if (rec.type === "app_callback" && typeof rec.handler === "string")
235
- set.add(rec.handler);
236
- if (rec.type === "branch") {
237
- visit(rec.then);
238
- visit(rec.else);
239
- }
240
- if (rec.type === "retry_with_backoff" || rec.type === "when_connected") {
241
- if (rec.action)
242
- visit([rec.action]);
243
- }
244
- }
245
- };
246
- const triggers = Array.isArray(spec.triggers) ? spec.triggers : [];
247
- for (const t of triggers)
248
- visit(t.actions);
249
- return [...set].sort();
250
- }
251
223
  function buildSummary(platform, meta, services) {
252
224
  const svcCount = services.length;
253
225
  const withHandlers = services.filter((s) => s.forHandlers.length > 0).length;
254
226
  return `Credential guide for ${platform}: Meta DAT ${meta.required ? "required" : "not required"} (${meta.steps.length} steps). ${svcCount} BYOK service${svcCount === 1 ? "" : "s"}${withHandlers ? ` (${withHandlers} handler-linked)` : ""}. Keys are stored in platform-local secure storage — the Extentos library never proxies or relays them. See keyStorage for storage best practices (gitignore + env-vars-first).`;
255
227
  }
256
- // Where the dev should put their API keys. The most common foot-gun on
257
- // Android is `local.properties` — devs drop keys there because Android
258
- // Studio puts `sdk.dir` there too. local.properties IS gitignored by
259
- // default Android Studio templates, but it's not gitignored by some
260
- // CI / template variants, and it leaks via accidental git add or by
261
- // being attached to bug reports. iOS has the analogous trap with
262
- // xcconfig files. Env-vars-first is the safest default.
263
228
  function buildKeyStorageGuidance(platform) {
264
229
  if (platform === "android") {
265
230
  return {
266
- preferredPath: "Read keys from environment variables at build time and inject into BuildConfig. Example in app/build.gradle.kts: `buildConfigField(\"String\", \"ANTHROPIC_API_KEY\", \"\\\"${System.getenv(\"ANTHROPIC_API_KEY\") ?: \"\"}\\\"\")`. Set the env var locally (per-shell or in your IDE's run-config); CI sets it via repo secrets. Keys never touch the filesystem in your repo.",
267
- fallbackPath: "If env vars are inconvenient, read from `local.properties` (which IS in default Android Studio .gitignore). Pattern: `val keys = Properties().apply { rootProject.file(\"local.properties\").inputStream().use(::load) }; val key = keys.getProperty(\"ANTHROPIC_API_KEY\") ?: System.getenv(\"ANTHROPIC_API_KEY\") ?: \"\"`. Before any push, confirm `local.properties` is in your `.gitignore` (`git check-ignore local.properties` should print the path) and that it's never been committed (`git log --all -- local.properties`).",
231
+ preferredPath: "Read keys from environment variables at build time and inject into Android resource strings via `resValue`. Example in app/build.gradle.kts: `resValue(\"string\", \"anthropic_api_key\", System.getenv(\"ANTHROPIC_API_KEY\") ?: \"\")`. Set the env var locally (per-shell or in your IDE's run-config); CI sets it via repo secrets. Read at runtime via `context.getString(R.string.anthropic_api_key)`. `resValue` is preferred over `buildConfigField` because kotlinc inlines BuildConfig String constants at compile time — when you rotate the key, the incremental compiler doesn't see existing .class files as dirty and the old key stays in the binary.",
232
+ fallbackPath: "If env vars are inconvenient, read from `local.properties` (which IS in default Android Studio .gitignore) and emit via `resValue`. Pattern: `val keys = Properties().apply { rootProject.file(\"local.properties\").inputStream().use(::load) }; resValue(\"string\", \"anthropic_api_key\", keys.getProperty(\"ANTHROPIC_API_KEY\") ?: System.getenv(\"ANTHROPIC_API_KEY\") ?: \"\")`. Before any push, confirm `local.properties` is in your `.gitignore` (`git check-ignore local.properties` should print the path) and that it's never been committed (`git log --all -- local.properties`).",
268
233
  doNotDo: [
269
234
  "Hardcode the key as a string literal in any tracked source file (.kt, .xml, .json).",
235
+ "Use `buildConfigField` for secrets that may rotate — kotlinc inlines those constants and stale values survive across rotations until you `gradle clean`.",
270
236
  "Commit `local.properties` — even once. If you've ever pushed it, rotate every key inside.",
271
237
  "Paste keys into bug reports, screenshots, or simulator-session logs.",
272
238
  ],
273
239
  notes: [
274
- "BuildConfig fields end up in the compiled APK — anyone with the APK can extract them. Acceptable for dev-local AND for low-value keys (rate-limited demo accounts). For production, use a server proxy that holds the key and authenticates the app instead of shipping the key in the binary.",
240
+ "Resource string values end up in the compiled APK — anyone with the APK can extract them. Acceptable for dev-local AND for low-value keys (rate-limited demo accounts). For production, use a server proxy that holds the key and authenticates the app instead of shipping the key in the binary.",
275
241
  ],
276
242
  };
277
243
  }
@@ -290,34 +256,28 @@ function buildKeyStorageGuidance(platform) {
290
256
  }
291
257
  function parseArgs(raw) {
292
258
  if (!raw || typeof raw !== "object") {
293
- return {
294
- error: errorResponse({
295
- code: "invalid_arguments",
296
- message: "getCredentialGuide requires { spec, platform }.",
297
- fixHint: 'Pass { spec, platform: "android" | "ios", services?: [...] }.',
298
- retryable: false,
299
- }),
300
- };
259
+ return errInvalid("getCredentialGuide requires { services, platform }.", 'Pass { services: ["anthropic", ...], platform: "android" | "ios", handlers?: [...] }.');
301
260
  }
302
261
  const obj = raw;
303
- if (!obj.spec || typeof obj.spec !== "object") {
304
- return errInvalid("spec is required.", "Pass the current spec.");
305
- }
306
262
  if (obj.platform !== "android" && obj.platform !== "ios") {
307
263
  return errInvalid(`platform must be "android" or "ios" (got ${JSON.stringify(obj.platform)}).`, 'Pass platform: "android" or "ios".');
308
264
  }
265
+ if (!Array.isArray(obj.services) || obj.services.length === 0) {
266
+ return errInvalid("services is required and must be a non-empty array of strings.", `Pass services: [...] with one or more of: ${VALID_SERVICES.join(", ")}.`);
267
+ }
309
268
  const services = [];
310
- if (Array.isArray(obj.services)) {
311
- for (const s of obj.services) {
312
- if (typeof s === "string" && VALID_SERVICES.includes(s)) {
313
- services.push(s);
314
- }
315
- else {
316
- return errInvalid(`services contains invalid entry ${JSON.stringify(s)}.`, `Valid services: ${VALID_SERVICES.join(", ")}.`);
317
- }
269
+ for (const s of obj.services) {
270
+ if (typeof s === "string" && VALID_SERVICES.includes(s)) {
271
+ services.push(s);
272
+ }
273
+ else {
274
+ return errInvalid(`services contains invalid entry ${JSON.stringify(s)}.`, `Valid services: ${VALID_SERVICES.join(", ")}.`);
318
275
  }
319
276
  }
320
- return { spec: obj.spec, platform: obj.platform, services };
277
+ const handlers = Array.isArray(obj.handlers)
278
+ ? obj.handlers.filter((h) => typeof h === "string")
279
+ : [];
280
+ return { platform: obj.platform, services, handlers };
321
281
  }
322
282
  function errInvalid(message, fixHint) {
323
283
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"getCredentialGuide.js","sourceRoot":"","sources":["../../../src/tools/handlers/getCredentialGuide.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getCredentialGuide.js","sourceRoot":"","sources":["../../../src/tools/handlers/getCredentialGuide.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getEventLog.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/getEventLog.ts"],"names":[],"mappings":"AAGA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA4E5E,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CA0FzE"}
1
+ {"version":3,"file":"getEventLog.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/getEventLog.ts"],"names":[],"mappings":"AAGA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA8E5E,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAuFzE"}
@@ -2,17 +2,20 @@
2
2
  // Spec: docs/mcp/MCP_TOOLS.md § getEventLog
3
3
  import { okResponse, errorResponse } from "../response.js";
4
4
  import { backendFetch } from "../util/backendClient.js";
5
+ // Filter values mirror the layers the post-pivot backend writes events to.
6
+ // 'all' + 'errors' are aggregate views; the remaining values each scope to
7
+ // one capability layer. Pre-pivot DSL filters (triggers / blocks / callbacks
8
+ // / spec) are retired — the corresponding event types are no longer emitted.
5
9
  const FILTER_VALUES = new Set([
6
10
  "all",
7
11
  "errors",
8
12
  "transport",
9
- "triggers",
10
- "blocks",
11
- "callbacks",
13
+ "audio",
14
+ "camera",
15
+ "speak",
12
16
  "toggles",
13
17
  "streams",
14
18
  "system",
15
- "spec",
16
19
  ]);
17
20
  // Redaction thresholds. Tuned so:
18
21
  // - normal log messages (<1KB), small JSON payloads, and STT transcripts pass through unchanged.
@@ -83,7 +86,6 @@ export async function handleGetEventLog(raw) {
83
86
  }
84
87
  const limit = typeof o.limit === "number" && o.limit > 0 ? o.limit : 50;
85
88
  const since = typeof o.since === "string" ? o.since : undefined;
86
- const flowId = typeof o.flowId === "string" ? o.flowId : undefined;
87
89
  const responseFormat = o.responseFormat === "concise" ? "concise" : "detailed";
88
90
  const redactBinary = o.redactBinary === false ? false : true;
89
91
  const params = new URLSearchParams();
@@ -91,8 +93,6 @@ export async function handleGetEventLog(raw) {
91
93
  params.set("limit", String(limit));
92
94
  if (since)
93
95
  params.set("since", since);
94
- if (flowId)
95
- params.set("flowId", flowId);
96
96
  const res = await backendFetch(`/api/sessions/${encodeURIComponent(o.sessionId)}/events?${params.toString()}`);
97
97
  if (res.status === 404) {
98
98
  return errorResponse({
@@ -115,7 +115,6 @@ export async function handleGetEventLog(raw) {
115
115
  return {
116
116
  id: e.id,
117
117
  timestamp: e.timestamp,
118
- flowId: e.flowId,
119
118
  layer: e.layer,
120
119
  severity: e.severity,
121
120
  type: e.type,
@@ -1 +1 @@
1
- {"version":3,"file":"getEventLog.js","sourceRoot":"","sources":["../../../src/tools/handlers/getEventLog.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,4CAA4C;AAE5C,OAAO,EAAE,UAAU,EAAE,aAAa,EAAmB,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,KAAK;IACL,QAAQ;IACR,WAAW;IACX,UAAU;IACV,QAAQ;IACR,WAAW;IACX,SAAS;IACT,SAAS;IACT,QAAQ;IACR,MAAM;CACP,CAAC,CAAC;AAEH,kCAAkC;AAClC,kGAAkG;AAClG,gGAAgG;AAChG,gGAAgG;AAChG,+BAA+B;AAC/B,6FAA6F;AAC7F,uDAAuD;AACvD,MAAM,aAAa,GAAG,EAAE,CAAC,CAAY,0CAA0C;AAC/E,MAAM,kBAAkB,GAAG,GAAG,CAAC,CAAM,yEAAyE;AAC9G,MAAM,WAAW,GAAG,GAAG,CAAC,CAAa,0CAA0C;AAC/E,MAAM,gBAAgB,GAAG,IAAI,CAAC,CAAO,mDAAmD;AAcxF;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;YACnE,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;YAC3C,OAAO,GAAG,IAAI,kBAAkB,KAAK,CAAC,MAAM,SAAS,CAAC;QACxD,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;YACpC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,kBAAkB,KAAK,CAAC,MAAM,SAAS,CAAC;QAC/E,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACxD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;YACtE,GAAG,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAY;IAClD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,aAAa,CAAC;YACnB,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,qCAAqC;YAC9C,OAAO,EAAE,gCAAgC;YACzC,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3D,OAAO,aAAa,CAAC;YACnB,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,iCAAiC;YAC1C,OAAO,EAAE,wDAAwD;YACjE,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,OAAO,aAAa,CAAC;YACnB,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,0BAA0B,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YACnE,OAAO,EAAE,gCAAgC;YACzC,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAChE,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,MAAM,cAAc,GAAG,CAAC,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IAC/E,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAE7D,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,IAAI,KAAK;QAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACtC,IAAI,MAAM;QAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAEzC,MAAM,GAAG,GAAG,MAAM,YAAY,CAC5B,iBAAiB,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,MAAM,CAAC,QAAQ,EAAE,EAAE,CAC/E,CAAC;IAEF,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvB,OAAO,aAAa,CAAC;YACnB,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,4BAA4B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG;YACnE,OAAO,EAAE,qDAAqD;YAC9D,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACzB,OAAO,aAAa,CAAC;YACnB,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,mCAAmC,GAAG,CAAC,SAAS,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,GAAG;YACpF,OAAO,EAAE,2CAA2C;YACpD,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/C,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO;gBACL,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,OAAO;YAAE,OAAO,CAAC,CAAC;QAC1C,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAA4B,EAAE,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAwB,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IAC9F,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC;QACjC,CAAC,CAAC,wBAAwB,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,GAAG;QACzD,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,SAAS,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;IAEhM,OAAO,UAAU,CAAC;QAChB,MAAM;QACN,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,aAAa;QACrC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM;QAClD,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK;QAClC,OAAO;KACR,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"getEventLog.js","sourceRoot":"","sources":["../../../src/tools/handlers/getEventLog.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPermissions.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/getPermissions.ts"],"names":[],"mappings":"AAIA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5E,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAmC7D"}
1
+ {"version":3,"file":"getPermissions.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/getPermissions.ts"],"names":[],"mappings":"AAeA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5E,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAgD7D"}
@@ -1,22 +1,38 @@
1
- // getPermissions — derive full platform manifest/Info.plist + Meta DAT requirements.
2
- // Spec: docs/mcp/MCP_TOOLS.md § getPermissions
3
- import { deriveAndroid, deriveIos, deriveMetaDat } from "../util/permissions.js";
1
+ // getPermissions — derive Android permissions / iOS Info.plist keys /
2
+ // Meta DAT scopes from a list of SDK capabilities the app uses.
3
+ //
4
+ // Post pure-SDK pivot: input is a flat list of capability names from
5
+ // `getPlatformInfo.features[].name` (capture_photo, video_frames,
6
+ // transcription_incremental, voice_command, location_updated, …). No
7
+ // spec input — the agent calls this BEFORE wiring the SDK by saying
8
+ // "my app will use these features."
9
+ import { deriveAndroidFromCapabilities, deriveIosFromCapabilities, deriveMetaDatFromCapabilities, KNOWN_CAPABILITIES, } from "../util/permissions.js";
4
10
  import { okResponse, errorResponse } from "../response.js";
5
11
  export function handleGetPermissions(raw) {
6
12
  if (!raw || typeof raw !== "object") {
7
13
  return errorResponse({
8
14
  code: "invalid_arguments",
9
- message: "getPermissions requires { spec, platform }.",
10
- fixHint: 'Pass { spec: <spec>, platform: "android" | "ios" }.',
15
+ message: "getPermissions requires { capabilities, platform }.",
16
+ fixHint: 'Pass { capabilities: ["capture_photo", "transcription_incremental", ...], platform: "android" | "ios" }.',
11
17
  retryable: false,
12
18
  });
13
19
  }
14
20
  const obj = raw;
15
- if (!obj.spec || typeof obj.spec !== "object") {
21
+ if (!Array.isArray(obj.capabilities)) {
16
22
  return errorResponse({
17
23
  code: "invalid_arguments",
18
- message: "spec is required and must be an object.",
19
- fixHint: "Pass the current spec JSON.",
24
+ message: "capabilities is required and must be an array of strings.",
25
+ fixHint: 'Pass capabilities: ["capture_photo", ...]. See getPlatformInfo(sections: ["capabilities"]) for the catalog of valid feature names.',
26
+ retryable: false,
27
+ });
28
+ }
29
+ const capabilities = obj.capabilities.filter((c) => typeof c === "string");
30
+ const unknown = capabilities.filter((c) => !KNOWN_CAPABILITIES.includes(c));
31
+ if (unknown.length > 0) {
32
+ return errorResponse({
33
+ code: "invalid_arguments",
34
+ message: `Unknown capabilities: ${unknown.join(", ")}.`,
35
+ fixHint: `Valid capabilities: ${KNOWN_CAPABILITIES.join(", ")}. See getPlatformInfo(sections: ["capabilities"]) for the full catalog with descriptions.`,
20
36
  retryable: false,
21
37
  });
22
38
  }
@@ -28,10 +44,9 @@ export function handleGetPermissions(raw) {
28
44
  retryable: false,
29
45
  });
30
46
  }
31
- const spec = obj.spec;
32
- const android = deriveAndroid(spec);
33
- const ios = deriveIos(spec);
34
- const metaDat = deriveMetaDat(spec);
47
+ const android = deriveAndroidFromCapabilities(capabilities);
48
+ const ios = deriveIosFromCapabilities(capabilities);
49
+ const metaDat = deriveMetaDatFromCapabilities(capabilities);
35
50
  const summary = buildSummary(obj.platform, android, ios, metaDat);
36
51
  return okResponse({ android, ios, metaDat, summary });
37
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getPermissions.js","sourceRoot":"","sources":["../../../src/tools/handlers/getPermissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getPermissions.js","sourceRoot":"","sources":["../../../src/tools/handlers/getPermissions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPlatformInfo.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/getPlatformInfo.ts"],"names":[],"mappings":"AAeA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAkB5E,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAmC9D"}
1
+ {"version":3,"file":"getPlatformInfo.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/getPlatformInfo.ts"],"names":[],"mappings":"AAmBA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAkC5E,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAmC9D"}