@extentos/mcp-server 0.0.94 → 0.1.0

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 (30) hide show
  1. package/dist/tools/data/capabilityPatterns.d.ts.map +1 -1
  2. package/dist/tools/data/capabilityPatterns.js +248 -1
  3. package/dist/tools/data/capabilityPatterns.js.map +1 -1
  4. package/dist/tools/data/codeExamples.d.ts.map +1 -1
  5. package/dist/tools/data/codeExamples.js +337 -2
  6. package/dist/tools/data/codeExamples.js.map +1 -1
  7. package/dist/tools/definitions.d.ts.map +1 -1
  8. package/dist/tools/definitions.js +54 -3
  9. package/dist/tools/definitions.js.map +1 -1
  10. package/dist/tools/docs/index.d.ts.map +1 -1
  11. package/dist/tools/docs/index.js +111 -1
  12. package/dist/tools/docs/index.js.map +1 -1
  13. package/dist/tools/handlers/assertToolCalled.d.ts +3 -0
  14. package/dist/tools/handlers/assertToolCalled.d.ts.map +1 -0
  15. package/dist/tools/handlers/assertToolCalled.js +171 -0
  16. package/dist/tools/handlers/assertToolCalled.js.map +1 -0
  17. package/dist/tools/handlers/getProductionChecklist.d.ts.map +1 -1
  18. package/dist/tools/handlers/getProductionChecklist.js +52 -1
  19. package/dist/tools/handlers/getProductionChecklist.js.map +1 -1
  20. package/dist/tools/handlers/injectAssistantUtterance.d.ts +3 -0
  21. package/dist/tools/handlers/injectAssistantUtterance.d.ts.map +1 -0
  22. package/dist/tools/handlers/injectAssistantUtterance.js +139 -0
  23. package/dist/tools/handlers/injectAssistantUtterance.js.map +1 -0
  24. package/dist/tools/handlers/validateIntegration.d.ts.map +1 -1
  25. package/dist/tools/handlers/validateIntegration.js +67 -0
  26. package/dist/tools/handlers/validateIntegration.js.map +1 -1
  27. package/dist/tools/registry.d.ts.map +1 -1
  28. package/dist/tools/registry.js +4 -0
  29. package/dist/tools/registry.js.map +1 -1
  30. package/package.json +1 -1
@@ -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;AAuyBD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAiB7D,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;AAiiCD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAuB7D,CAAC;AAEF,eAAO,MAAM,yBAAyB,UAAwC,CAAC"}
@@ -781,6 +781,247 @@ _ = glasses.conversation?.onWake(phrase: "hey assistant") { ctx in
781
781
  ],
782
782
  relatedExamples: ["conversation_agent_loop"],
783
783
  };
784
+ // ── Phase 4 assistant runtime guides ──────────────────────────────────
785
+ const ASSISTANT_RUNTIME = {
786
+ feature: "assistant_runtime",
787
+ summary: "Phase 4 — umbrella entry for the `glasses.assistant` API. End-to-end voice provider abstraction: customer code is `glasses.assistant.start(provider) { tool(name, description) { body -> ToolResult } }`. The model owns wake / turn-taking / intent / confirmation; the customer writes tool bodies that act on app state. v1 ships OpenAI Realtime (`gpt-realtime` over WebSocket); Gemini Live in v1.5+. **Canonical replacement for the Phase 3 conversation runtime, which deprecates in v1.4.0 and removes in v2.0.0.** See per-feature entries (assistant_start, assistant_tool, assistant_provider_openai) for call-shape detail. Full composition example: `getCodeExample(pattern: \"assistant_agent_loop\")`. Conceptual guide: `searchDocs(topic: \"assistant_runtime\")`.",
788
+ kotlin: `// The whole runtime in one start block:
789
+ glasses.assistant.setOpenaiApiKey(BuildConfig.OPENAI_API_KEY)
790
+ glasses.assistant.start(
791
+ provider = AssistantProvider.OpenAi(model = "gpt-realtime", voice = "alloy"),
792
+ ) {
793
+ instructions = "You are a helpful assistant on smart glasses. Speak briefly."
794
+ tool("take_picture", "Take a photo with the glasses camera.") {
795
+ val photo = glasses.camera.capturePhoto().valueOrNull()
796
+ ?: return@tool ToolResult.Err("camera failed")
797
+ library.addPhoto(photo)
798
+ ToolResult.Ok("photo saved")
799
+ }
800
+ }`,
801
+ swift: `// The whole runtime in one start closure:
802
+ glasses.assistant.setOpenAiApiKey(Secrets.openAiKey)
803
+ _ = try await glasses.assistant.start(
804
+ provider: .openAI(model: "gpt-realtime", voice: "alloy")
805
+ ) { config in
806
+ config.instructions = "You are a helpful assistant on smart glasses. Speak briefly."
807
+ config.tool("take_picture", description: "Take a photo with the glasses camera.") {
808
+ // capturePhoto returns ExtentosResult<Photo, CaptureError> async
809
+ // (not throwing); extract the success branch via the .success
810
+ // accessor on ExtentosResult (Errors.swift).
811
+ guard let photo = (await glasses.camera.capturePhoto()).success else {
812
+ return .err("camera failed")
813
+ }
814
+ library.add(photo)
815
+ return .ok("photo saved")
816
+ }
817
+ }`,
818
+ gotchas: [
819
+ "**glasses.assistant is always-on — no opt-in.** Unlike Phase 3's nullable `glasses.conversation` (gated on conversationOptions in ExtentosConfig), Phase 4 ships zero on-device ML so there's no cost to always exposing the surface. No ConversationModels.ensureExtracted, no ONNX file paths, no cascaded options to wire.",
820
+ "**Singleton-active per ExtentosGlasses (synthesis #13).** At most one assistant.start() at a time. A second start while active throws AssistantException(AlreadyActive). Call `glasses.assistant.stop()` (or `session.stop()`) before starting a new one. v1 simplicity; can relax in v1.x if customer demand surfaces.",
821
+ "**Eight `assistant.*` lifecycle events emitted automatically (synthesis #15):** session_started / session_ended / user_spoke / assistant_spoke / tool_called / tool_result / reconnected / error. Visible via `glasses.runtime.events.filterIsInstance<RuntimeEvent.Assistant>()`, the simulator's right-rail AssistantPanel, and `getEventLog(filter: \"voice\")`. assistant.error climbs to filter:\"errors\" automatically.",
822
+ "**PII boundary differs from Phase 3.** Assistant events DO carry verbatim transcripts in user_spoke / assistant_spoke. Phase 3 conversation.* stripped text (only textLen) because the cascaded path routed transcripts through Extentos backend. Phase 4 BYOK contract sends transcripts device → openai.com directly without touching Extentos backend, so the platform-side PII enforcement doesn't apply. Customer apps own their data retention story.",
823
+ "**Library-owned transparent reconnection (synthesis #23).** OpenAI Realtime hard-caps sessions at 60 min; library proactively reconnects every ~50 min + on WS onFailure / onClosed. Customer code doesn't see the swap. `assistant.reconnected` event fires for observability. Conversation history (recent 40 turns) replays on each reconnect.",
824
+ "**BYOK key flows direct to OpenAI (synthesis #12).** `setOpenaiApiKey(key)` stores the key in the AssistantClient; when start() opens the WebSocket, the key goes into `Authorization: Bearer ...` for the wss://api.openai.com/v1/realtime connection. Extentos backend never sees the key. See `getCredentialGuide(service: \"openai\")` for the local.properties + resValue / Info.plist plumbing.",
825
+ ],
826
+ relatedExamples: ["assistant_agent_loop"],
827
+ };
828
+ const ASSISTANT_START = {
829
+ feature: "assistant_start",
830
+ summary: "Open an assistant session. Two equivalent forms: sugar `start(provider) { tool(...) { ... } }` (trailing-lambda builder) and raw `createSession(AssistantConfig(...))` + `session.start()`. Sugar is idiomatic for the common case; raw is the customer-can-skip-it primitive for programmatic tool registration. Both return an `AssistantSession`. Singleton-active per synthesis #13.",
831
+ kotlin: `// Sugar form
832
+ val session = glasses.assistant.start(
833
+ provider = AssistantProvider.OpenAi(model = "gpt-realtime", voice = "alloy"),
834
+ ) {
835
+ instructions = "..."
836
+ tool("take_picture", "Take a photo.") { ToolResult.Ok("photo saved") }
837
+ }
838
+
839
+ // Raw form — equivalent
840
+ val session = glasses.assistant.createSession(AssistantConfig(
841
+ provider = AssistantProvider.OpenAi(...),
842
+ instructions = "...",
843
+ tools = listOf(
844
+ ToolDefinition("take_picture", "Take a photo.") { _ -> ToolResult.Ok("photo saved") },
845
+ ),
846
+ ))
847
+ session.start()
848
+
849
+ // Observe lifecycle:
850
+ session.state.collect { state -> /* Idle, Starting, Active, Reconnecting, Stopping, Ended */ }
851
+
852
+ // Stop when done:
853
+ session.stop() // or glasses.assistant.stop() — equivalent`,
854
+ swift: `// Sugar form
855
+ let session = try await glasses.assistant.start(
856
+ provider: .openAI(model: "gpt-realtime", voice: "alloy")
857
+ ) { config in
858
+ config.instructions = "..."
859
+ config.tool("take_picture", description: "Take a photo.") { .ok("photo saved") }
860
+ }
861
+
862
+ // Raw form — equivalent
863
+ let session = glasses.assistant.createSession(config: AssistantConfig(
864
+ provider: .openAI(model: "gpt-realtime", voice: "alloy"),
865
+ instructions: "...",
866
+ tools: [ToolDefinition(name: "take_picture", description: "Take a photo.") { _ in .ok("photo saved") }]
867
+ ))
868
+ try await session.start()
869
+
870
+ // Observe lifecycle (StateFlow-style — replays current on subscribe):
871
+ for await state in session.state.stream { /* idle, starting, active, reconnecting, stopping, ended */ }
872
+
873
+ // Stop when done (async, NOT throwing on iOS):
874
+ await session.stop() // or await glasses.assistant.stop() — equivalent`,
875
+ gotchas: [
876
+ "**`start()` is suspend / async throws — call from a coroutine / Task.** Opens the WebSocket, sends session.update, awaits session.updated handshake (~1-2s typical). Throws AssistantException(NoApiKey) if you haven't called setOpenaiApiKey; AssistantException(AlreadyActive) if another session is active; AssistantException(NetworkError) on WS open failure.",
877
+ "**Sugar form auto-starts the session; raw form does not.** `assistant.start(provider) { ... }` returns an already-Active session. `assistant.createSession(config)` returns an Idle session — you call `session.start()` to activate. The sugar is shorthand for `createSession + start`.",
878
+ "**Customer-can-skip-it (synthesis #7).** The raw form is the primitive; the sugar reduces to it. Every customer can replace `start { tool(...) { ... } }` with `createSession(AssistantConfig(tools = listOf(ToolDefinition(...), ...)))` + `start()` and get identical behavior. Useful for programmatic tool registration (loaded from config, conditional, etc.).",
879
+ "**`stop()` is idempotent.** Calling stop() on an Ended session is a no-op. Calling start() on an Ended session throws AssistantException(SessionEnded) — create a new session via createSession() to start fresh.",
880
+ ],
881
+ relatedExamples: ["assistant_agent_loop"],
882
+ };
883
+ const ASSISTANT_TOOL = {
884
+ feature: "assistant_tool",
885
+ summary: "Register a tool the assistant may call. Three overloads on the `AssistantConfigBuilder` receiver inside `start { ... }`: (1) no-arg `tool(name, description) { -> ToolResult }`, (2) typed-args `tool<Args>(name, description) { args -> ToolResult }` where Args is `@Serializable` (Kotlin) / `Codable` (Swift), (3) explicit-schema escape hatch `tool(name, description, schema = JsonObject(...)) { args -> ToolResult }`. **Cross-platform asymmetry (Q3, intentional):** Kotlin infers the schema from Args's SerialDescriptor at runtime; Swift requires explicit `schema:` parameter on the typed overload (no Mirror walk on types — see synthesis #8). JSON Schema sent to OpenAI is identical regardless of source platform.",
886
+ kotlin: `// No-arg tool (most common — camera, status, simple actions)
887
+ tool("take_picture", "Take a photo when the user asks to capture a moment.") {
888
+ ToolResult.Ok("photo saved")
889
+ }
890
+
891
+ // Typed-args tool — Args inferred from @Serializable type
892
+ @kotlinx.serialization.Serializable
893
+ data class SetReminderArgs(val text: String, val minutesFromNow: Int)
894
+
895
+ tool<SetReminderArgs>("set_reminder", "Set a timed reminder.") { args ->
896
+ reminders.add(args.text, delay = args.minutesFromNow.minutes)
897
+ ToolResult.Ok("reminder set for \${args.minutesFromNow} min")
898
+ }
899
+
900
+ // Explicit-schema escape hatch — for polymorphic types or format constraints
901
+ tool("set_filter", "Apply an image filter.", schema = buildJsonObject {
902
+ put("type", "object")
903
+ put("properties", buildJsonObject {
904
+ put("name", buildJsonObject { put("type", "string"); put("enum", buildJsonArray { add("sepia"); add("noir") }) })
905
+ })
906
+ put("required", buildJsonArray { add("name") })
907
+ }) { args ->
908
+ val filterName = args["name"]?.jsonPrimitive?.contentOrNull
909
+ ToolResult.Ok("filter applied: \$filterName")
910
+ }
911
+
912
+ // Per-tool blocking opt-out (synthesis #9 — default is non-blocking)
913
+ tool("get_battery", "Current battery percentage.", blocking = true) {
914
+ ToolResult.Ok("\${battery.percent()}%")
915
+ }`,
916
+ swift: `// No-arg tool
917
+ config.tool("take_picture", description: "Take a photo when the user asks to capture a moment.") {
918
+ .ok("photo saved")
919
+ }
920
+
921
+ // Typed-args tool — EXPLICIT schema required on Swift (Q3 asymmetry).
922
+ // v1 has no \`JSONSchema\` builder helper; the customer constructs the
923
+ // schema directly via \`JSONValue\` (Codable + Sendable). Args type
924
+ // is inferred from the closure parameter annotation, not a separate
925
+ // \`args:\` parameter — see Tool.swift's typed-overload signature.
926
+ struct SetReminderArgs: Codable, Sendable {
927
+ let text: String
928
+ let minutesFromNow: Int
929
+ }
930
+
931
+ let reminderSchema: JSONValue = .object([
932
+ "type": .string("object"),
933
+ "properties": .object([
934
+ "text": .object(["type": .string("string")]),
935
+ "minutesFromNow": .object(["type": .string("integer")]),
936
+ ]),
937
+ "required": .array([.string("text"), .string("minutesFromNow")]),
938
+ ])
939
+
940
+ config.tool(
941
+ "set_reminder",
942
+ description: "Set a timed reminder.",
943
+ schema: reminderSchema
944
+ ) { (args: SetReminderArgs) in
945
+ await reminders.add(args.text, delaySeconds: args.minutesFromNow * 60)
946
+ return .ok("reminder set for \\(args.minutesFromNow) min")
947
+ }
948
+
949
+ // Per-tool blocking opt-out (synthesis #9 — default is non-blocking)
950
+ config.tool("get_battery", description: "Current battery percentage.", blocking: true) {
951
+ .ok("\\(battery.percent())%")
952
+ }`,
953
+ gotchas: [
954
+ "**Tool descriptions matter — write them for the AI, not the engineer.** The model reads the description verbatim when deciding which tool to call. Use \"Take a photo when the user asks to capture a moment\" (describes WHEN to call) not \"Captures imagery via the camera SDK\" (describes implementation). Mock provider's word-overlap matcher also benefits from descriptions that contain keywords from likely user utterances.",
955
+ "**Tool body runs on Dispatchers.IO (Kotlin) / Swift Task (Swift).** Suspending camera / storage / HTTP calls are fine; CPU-heavy work won't block the main thread. Per-tool blocking opt-out via `blocking = true` parameter (synthesis #9) — true means the model waits silently for the result before speaking. Default false means the model says \"let me check...\" while the tool runs.",
956
+ "**`ToolResult.Ok(text)` vs `ToolResult.Err(message)`.** The `text` for Ok is what the model reads aloud / weaves into its reply. Keep it short + factual: \"photo saved\" not \"Image successfully persisted to local storage at /...\". For structured data the model needs to reason about, return it as a JSON string: `ToolResult.Ok(\"\"\"{\"km\": 12.4}\"\"\")`. Err is the user-facing failure message; the model surfaces it (\"sorry, the camera failed\").",
957
+ "**Customer-can-skip-it (synthesis #8) — the builder is sugar over `ToolDefinition`.** Every tool() call constructs a `ToolDefinition(name, description, schema, blocking, body)` and appends to the builder's list. Customers can skip the builder entirely and pass `tools = listOf(ToolDefinition(...))` to `AssistantConfig` directly for programmatic registration.",
958
+ "**Tools have full access to glasses.* + app state (synthesis #14).** No sandbox in v1. Tool body is regular customer-app code — it sees `glasses.camera`, `glasses.audio`, the app's DBs, view models, repositories, third-party SDKs. Security boundary stays at the app/OS level (Android permissions, iOS Info.plist) — not the SDK level. Per the indie/hobbyist target audience + BYOK provider model.",
959
+ ],
960
+ relatedExamples: ["assistant_agent_loop"],
961
+ };
962
+ const ASSISTANT_PROVIDER_OPENAI = {
963
+ feature: "assistant_provider_openai",
964
+ summary: "OpenAI Realtime provider configuration. `AssistantProvider.OpenAi(model, voice, turnDetection)` — model defaults to \"gpt-realtime\" (use \"gpt-realtime-mini\" for cheaper / faster; \"gpt-realtime-1.5\" for the latest variant); voice from OpenAI's catalog (\"alloy\", \"echo\", \"shimmer\", \"marin\"); turnDetection defaults to `ServerVad(threshold = 0.5, prefixPaddingMs = 300, silenceDurationMs = 500)` per synthesis #10. BYOK key set out-of-band via `setOpenaiApiKey`. WebSocket transport in v1 (WebRTC v1.1+). GA wire format `audio/pcmu` (no rate field; G.711 intrinsic 8 kHz) per synthesis #6.",
965
+ kotlin: `// Default — gpt-realtime + alloy + ServerVad defaults
966
+ val provider = AssistantProvider.OpenAi(
967
+ model = "gpt-realtime",
968
+ voice = "alloy",
969
+ )
970
+
971
+ // Custom VAD tuning — more aggressive turn-end detection
972
+ val provider = AssistantProvider.OpenAi(
973
+ model = "gpt-realtime",
974
+ voice = "marin",
975
+ turnDetection = TurnDetection.ServerVad(
976
+ threshold = 0.6,
977
+ prefixPaddingMs = 200,
978
+ silenceDurationMs = 350,
979
+ ),
980
+ )
981
+
982
+ // Semantic VAD — slower but smarter turn detection (model uses context
983
+ // to decide whether the user actually finished, vs paused mid-sentence)
984
+ val provider = AssistantProvider.OpenAi(
985
+ model = "gpt-realtime",
986
+ voice = "alloy",
987
+ turnDetection = TurnDetection.SemanticVad,
988
+ )
989
+
990
+ // BYOK key — set ONCE at bootstrap; reused on every session.start() +
991
+ // every reconnect within a session.
992
+ glasses.assistant.setOpenaiApiKey(BuildConfig.OPENAI_API_KEY)`,
993
+ swift: `// Default — gpt-realtime + alloy + ServerVad defaults
994
+ let provider: AssistantProvider = .openAI(model: "gpt-realtime", voice: "alloy")
995
+
996
+ // Custom VAD tuning
997
+ let provider: AssistantProvider = .openAI(
998
+ model: "gpt-realtime",
999
+ voice: "marin",
1000
+ turnDetection: .serverVad(
1001
+ threshold: 0.6,
1002
+ prefixPaddingMs: 200,
1003
+ silenceDurationMs: 350
1004
+ )
1005
+ )
1006
+
1007
+ // Semantic VAD
1008
+ let provider: AssistantProvider = .openAI(
1009
+ model: "gpt-realtime",
1010
+ voice: "alloy",
1011
+ turnDetection: .semanticVad
1012
+ )
1013
+
1014
+ // BYOK key
1015
+ glasses.assistant.setOpenAiApiKey(Secrets.openAiKey)`,
1016
+ gotchas: [
1017
+ "**Voice is locked at session start.** Per OpenAI Realtime — once the model has spoken, voice can't change mid-session. Library reads it once at session.update and never re-issues. To switch voice, stop + start a new session.",
1018
+ "**Wire format is `audio/pcmu` with NO rate field (synthesis #6).** G.711 mulaw is intrinsically 8 kHz; the GA spec encodes that via the format type alone. Library handles the PCM↔mulaw codec internally — customer never sees raw bytes. Validated via Twilio's production GA integration. Fallback to `audio/pcm rate=24000` documented but unlikely needed.",
1019
+ "**60-min hard ceiling on OpenAI Realtime sessions.** Library proactively reconnects every ~50 min ahead of the ceiling; on WS onFailure / onClosed mid-session, coalesced reconnect via lifecycle mutex; recent 40 conversation turns replayed on each reconnect; customer never sees the swap. `assistant.reconnected` event fires for observability. Synthesis #23.",
1020
+ "**No Anthropic provider in v1 or v2 (synthesis #17).** Anthropic hasn't shipped a Realtime API. v2.0.0 ships OpenAI only; Gemini Live in v1.5+. Revisit Claude when Anthropic ships their equivalent.",
1021
+ "**Test with `AssistantProvider.Mock()` first (synthesis #16).** Mock is deterministic, sub-millisecond, $0; matches injected utterances against tool descriptions for deterministic CI. Save the OpenAi provider for end-to-end smoke + production.",
1022
+ ],
1023
+ relatedExamples: ["assistant_agent_loop"],
1024
+ };
784
1025
  export const CAPABILITY_GUIDES = {
785
1026
  capture_photo: CAPTURE_PHOTO,
786
1027
  capture_video: CAPTURE_VIDEO,
@@ -792,7 +1033,13 @@ export const CAPABILITY_GUIDES = {
792
1033
  connection_state: CONNECTION_STATE,
793
1034
  toggles: TOGGLES,
794
1035
  voice_command: VOICE_COMMAND,
795
- // Phase 3 conversation runtime primitives (see block above).
1036
+ // Phase 4 assistant runtime primitives (canonical voice-AI surface).
1037
+ assistant_runtime: ASSISTANT_RUNTIME,
1038
+ assistant_start: ASSISTANT_START,
1039
+ assistant_tool: ASSISTANT_TOOL,
1040
+ assistant_provider_openai: ASSISTANT_PROVIDER_OPENAI,
1041
+ // Phase 3 conversation runtime primitives — DEPRECATED in v1.4.0,
1042
+ // REMOVED in v2.0.0. Kept here for the migration window.
796
1043
  conversation_runtime: CONVERSATION_RUNTIME,
797
1044
  conversation_on_wake: CONVERSATION_ON_WAKE,
798
1045
  conversation_listen: CONVERSATION_LISTEN,
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"codeExamples.d.ts","sourceRoot":"","sources":["../../../src/tools/data/codeExamples.ts"],"names":[],"mappings":"AAeA,6DAA6D;AAC7D,MAAM,WAAW,iBAAiB;IAChC,kEAAkE;IAClE,aAAa,EAAE,gBAAgB,GAAG,qBAAqB,GAAG,oBAAoB,GAAG,2BAA2B,CAAC;IAC7G,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,SAAS,EAAE,sBAAsB,CAAC;CACnC;AAED,6DAA6D;AAC7D,MAAM,WAAW,oBAAoB;IACnC,mEAAmE;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,SAAS,EAAE,uBAAuB,GAAG,sBAAsB,CAAC;IAC5D;4EACwE;IACxE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,mEAAmE;AACnE,MAAM,WAAW,oBAAoB;IACnC,sBAAsB;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE;QACrB,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;QAC9B,gBAAgB,CAAC,EAAE,oBAAoB,EAAE,CAAC;KAC3C,CAAC;IACF;;;;;;OAMG;IACH,eAAe,CAAC,EAAE;QAChB,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;KAClC,CAAC;CACH;AA63DD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAUrD,CAAC;AAEF,eAAO,MAAM,qBAAqB,UAAoC,CAAC"}
1
+ {"version":3,"file":"codeExamples.d.ts","sourceRoot":"","sources":["../../../src/tools/data/codeExamples.ts"],"names":[],"mappings":"AAeA,6DAA6D;AAC7D,MAAM,WAAW,iBAAiB;IAChC,kEAAkE;IAClE,aAAa,EAAE,gBAAgB,GAAG,qBAAqB,GAAG,oBAAoB,GAAG,2BAA2B,CAAC;IAC7G,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,SAAS,EAAE,sBAAsB,CAAC;CACnC;AAED,6DAA6D;AAC7D,MAAM,WAAW,oBAAoB;IACnC,mEAAmE;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,SAAS,EAAE,uBAAuB,GAAG,sBAAsB,CAAC;IAC5D;4EACwE;IACxE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,mEAAmE;AACnE,MAAM,WAAW,oBAAoB;IACnC,sBAAsB;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE;QACrB,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;QAC9B,gBAAgB,CAAC,EAAE,oBAAoB,EAAE,CAAC;KAC3C,CAAC;IACF;;;;;;OAMG;IACH,eAAe,CAAC,EAAE;QAChB,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;KAClC,CAAC;CACH;AA6sED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAWrD,CAAC;AAEF,eAAO,MAAM,qBAAqB,UAAoC,CAAC"}