@extentos/mcp-server 0.10.1 → 0.10.2
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 +1 -1
- package/dist/tools/data/capabilities.js +1 -1
- package/dist/tools/data/capabilities.js.map +1 -1
- package/dist/tools/data/capabilityPatterns.d.ts.map +1 -1
- package/dist/tools/data/capabilityPatterns.js +147 -51
- package/dist/tools/data/capabilityPatterns.js.map +1 -1
- package/dist/tools/data/codeExamples.d.ts.map +1 -1
- package/dist/tools/data/codeExamples.js +172 -33
- package/dist/tools/data/codeExamples.js.map +1 -1
- package/dist/tools/definitions.js +2 -2
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/docs/index.d.ts.map +1 -1
- package/dist/tools/docs/index.js +36 -7
- package/dist/tools/docs/index.js.map +1 -1
- package/dist/tools/handlers/generateConnectionModule.d.ts.map +1 -1
- package/dist/tools/handlers/generateConnectionModule.js +25 -3
- package/dist/tools/handlers/generateConnectionModule.js.map +1 -1
- package/dist/tools/handlers/validateIntegration.d.ts.map +1 -1
- package/dist/tools/handlers/validateIntegration.js +89 -31
- package/dist/tools/handlers/validateIntegration.js.map +1 -1
- package/dist/tools/util/dependency.d.ts.map +1 -1
- package/dist/tools/util/dependency.js +64 -13
- package/dist/tools/util/dependency.js.map +1 -1
- package/dist/tools/util/manifest.d.ts.map +1 -1
- package/dist/tools/util/manifest.js +7 -3
- package/dist/tools/util/manifest.js.map +1 -1
- package/dist/tools/util/permissions.d.ts.map +1 -1
- package/dist/tools/util/permissions.js +3 -1
- package/dist/tools/util/permissions.js.map +1 -1
- package/package.json +8 -6
|
@@ -330,7 +330,8 @@ class VisionHandler(
|
|
|
330
330
|
// click-to-fire panel. Same shape as Android.
|
|
331
331
|
registration = glasses.voice.onPhrase(
|
|
332
332
|
phrase: "describe what you see",
|
|
333
|
-
label: "Describe scene"
|
|
333
|
+
label: "Describe scene",
|
|
334
|
+
stops: []
|
|
334
335
|
) { [glasses, vision] in
|
|
335
336
|
let captureResult = await glasses.camera.capturePhoto(
|
|
336
337
|
config: PhotoConfig(resolution: .medium, format: .jpeg)
|
|
@@ -340,7 +341,7 @@ class VisionHandler(
|
|
|
340
341
|
return
|
|
341
342
|
}
|
|
342
343
|
|
|
343
|
-
// Photo.
|
|
344
|
+
// Photo.uri is a String? whose scheme varies by transport
|
|
344
345
|
// (file:// on RealMeta / LocalSim, data: on BrowserSim).
|
|
345
346
|
// Decode via the bundled extension; pass the bytes to
|
|
346
347
|
// your vision LLM however it expects them (base64, Data).
|
|
@@ -511,7 +512,8 @@ class NotesHandler(
|
|
|
511
512
|
// connection page + simulator panel. Same shape as Android.
|
|
512
513
|
registration = glasses.voice.onPhrase(
|
|
513
514
|
phrase: "take a note",
|
|
514
|
-
label: "Take a note"
|
|
515
|
+
label: "Take a note",
|
|
516
|
+
stops: []
|
|
515
517
|
) { [glasses, notes] in
|
|
516
518
|
_ = await glasses.audio.speak("Recording.")
|
|
517
519
|
let result = await glasses.audio.recordDiscrete(
|
|
@@ -1376,7 +1378,7 @@ class CoachHandler(
|
|
|
1376
1378
|
}`,
|
|
1377
1379
|
swift: `// HANDLER UNDER TEST — the agent writes this against the SDK.
|
|
1378
1380
|
// Three assertion-relevant points marked **ASSERT** in comments below.
|
|
1379
|
-
import
|
|
1381
|
+
import GlassesCore
|
|
1380
1382
|
import GRDB // or Core Data; this example uses GRDB for sqlite-readable schema
|
|
1381
1383
|
|
|
1382
1384
|
struct CoachingTurn: Codable, FetchableRecord, PersistableRecord {
|
|
@@ -1388,7 +1390,7 @@ struct CoachingTurn: Codable, FetchableRecord, PersistableRecord {
|
|
|
1388
1390
|
}
|
|
1389
1391
|
|
|
1390
1392
|
actor CoachHandler {
|
|
1391
|
-
let glasses:
|
|
1393
|
+
let glasses: any ExtentosGlasses
|
|
1392
1394
|
let anthropic: AnthropicClient
|
|
1393
1395
|
let db: DatabaseQueue
|
|
1394
1396
|
private var registration: VoiceRegistration?
|
|
@@ -1399,7 +1401,8 @@ actor CoachHandler {
|
|
|
1399
1401
|
func start() {
|
|
1400
1402
|
registration = glasses.voice.onPhrase(
|
|
1401
1403
|
phrase: "ask my coach",
|
|
1402
|
-
label: "Ask"
|
|
1404
|
+
label: "Ask",
|
|
1405
|
+
stops: []
|
|
1403
1406
|
) { [weak self] in
|
|
1404
1407
|
await self?.handleWake()
|
|
1405
1408
|
}
|
|
@@ -1416,7 +1419,7 @@ actor CoachHandler {
|
|
|
1416
1419
|
// **ASSERT POINT 1** — handler enters recordDiscrete; agent's
|
|
1417
1420
|
// injectTranscript satisfies this via the F-R5-03 race fix on iOS.
|
|
1418
1421
|
guard case .success(let rec) = await glasses.audio.recordDiscrete(
|
|
1419
|
-
config: AudioRecordConfig(silenceTimeoutSeconds: 2
|
|
1422
|
+
config: AudioRecordConfig(silenceTimeoutSeconds: 2) // Int seconds on iOS
|
|
1420
1423
|
), !rec.transcript.isEmpty else { return }
|
|
1421
1424
|
|
|
1422
1425
|
// **ASSERT POINT 2** — user turn persisted BEFORE the LLM call.
|
|
@@ -2247,10 +2250,10 @@ final class StravaAssistantHandler: @unchecked Sendable {
|
|
|
2247
2250
|
}
|
|
2248
2251
|
|
|
2249
2252
|
func start() async throws {
|
|
2250
|
-
// Sugar form (trailing-closure builder). Returns
|
|
2251
|
-
//
|
|
2252
|
-
// requires an explicit \`schema:\`
|
|
2253
|
-
// types — see assistant_tool
|
|
2253
|
+
// Sugar form (trailing-closure builder). Returns with the session
|
|
2254
|
+
// set up Dormant — wake() below opens the connection. Q3 asymmetry:
|
|
2255
|
+
// Swift's typed-args overload requires an explicit \`schema:\`
|
|
2256
|
+
// parameter (no Mirror walk on types — see assistant_tool guide).
|
|
2254
2257
|
let session = try await glasses.assistant.start(
|
|
2255
2258
|
provider: .openAI() // model + voice from your dashboard Agent settings
|
|
2256
2259
|
) { config in
|
|
@@ -2279,7 +2282,7 @@ final class StravaAssistantHandler: @unchecked Sendable {
|
|
|
2279
2282
|
config.tool("take_video", description: "Start recording a video clip of the runner's view.") {
|
|
2280
2283
|
self.activeVideo = Task {
|
|
2281
2284
|
let result = await self.glasses.camera.captureVideo(
|
|
2282
|
-
VideoConfig(maxDurationSeconds: 30)
|
|
2285
|
+
config: VideoConfig(maxDurationSeconds: 30)
|
|
2283
2286
|
)
|
|
2284
2287
|
return result.success
|
|
2285
2288
|
}
|
|
@@ -2305,8 +2308,10 @@ final class StravaAssistantHandler: @unchecked Sendable {
|
|
|
2305
2308
|
// Wake mechanism — canonical pattern uses glasses.voice.onPhrase; the
|
|
2306
2309
|
// session is Dormant until the phrase fires session.wake(). Swap for a
|
|
2307
2310
|
// button tap, gesture, or any trigger that calls session.wake().
|
|
2308
|
-
|
|
2309
|
-
|
|
2311
|
+
// (Strong capture is correct: AssistantSession is not class-bound so
|
|
2312
|
+
// 'weak' won't compile, and the closure holds no 'self' — no cycle.)
|
|
2313
|
+
self.wakeRegistration = glasses.voice.onPhrase(phrase: "hey strava") { [session] in
|
|
2314
|
+
try? await session.wake()
|
|
2310
2315
|
}
|
|
2311
2316
|
}
|
|
2312
2317
|
}
|
|
@@ -2616,7 +2621,7 @@ final class NotesAssistant: @unchecked Sendable {
|
|
|
2616
2621
|
provider: .openAI()
|
|
2617
2622
|
) { config in
|
|
2618
2623
|
config.instructions = "You are a voice-notes assistant on glasses. Speak briefly."
|
|
2619
|
-
|
|
2624
|
+
config.sleepAfterSilence(30) // TimeInterval seconds — auto-sleep on silence
|
|
2620
2625
|
|
|
2621
2626
|
config.tool("start_notes", description: "Start capturing the user's speech as a note. Call when the user says 'start notes' / 'take notes'.") {
|
|
2622
2627
|
NSLog("NotesAssistant start_notes: notesActive=\\(self.notesActive)")
|
|
@@ -2647,8 +2652,8 @@ final class NotesAssistant: @unchecked Sendable {
|
|
|
2647
2652
|
// Wake phrase wiring — same path the agent test loop drives via
|
|
2648
2653
|
// injectTranscript("hey notes"). Real users say it; the agent
|
|
2649
2654
|
// simulates it.
|
|
2650
|
-
_ = glasses.voice.onPhrase("hey notes") { [weak self] in
|
|
2651
|
-
await self?.session?.wake()
|
|
2655
|
+
_ = glasses.voice.onPhrase(phrase: "hey notes") { [weak self] in
|
|
2656
|
+
try? await self?.session?.wake()
|
|
2652
2657
|
}
|
|
2653
2658
|
}
|
|
2654
2659
|
}`,
|
|
@@ -3024,12 +3029,95 @@ class NotesDisplayHandler(
|
|
|
3024
3029
|
}
|
|
3025
3030
|
}
|
|
3026
3031
|
}`,
|
|
3027
|
-
swift: `//
|
|
3028
|
-
//
|
|
3029
|
-
//
|
|
3030
|
-
//
|
|
3031
|
-
//
|
|
3032
|
-
|
|
3032
|
+
swift: `// Two-view display navigation — browse ⇄ detail — same state machine as
|
|
3033
|
+
// the Kotlin side. iOS notes: the builder is closure-based (flexBox is the
|
|
3034
|
+
// container; no column/row sugar), and tappable ids AUTO-ASSIGN (no id:
|
|
3035
|
+
// parameter) — read them back via getDisplayState.interactiveIds when
|
|
3036
|
+
// driving from an agent.
|
|
3037
|
+
|
|
3038
|
+
import GlassesCore
|
|
3039
|
+
|
|
3040
|
+
struct Note { let id: Int64; let title: String; let body: String }
|
|
3041
|
+
|
|
3042
|
+
final class NotesDisplayHandler: @unchecked Sendable {
|
|
3043
|
+
private let glasses: any ExtentosGlasses
|
|
3044
|
+
private let notes: @Sendable () -> [Note] // app-internal source of truth
|
|
3045
|
+
private var session: (any AssistantSession)?
|
|
3046
|
+
|
|
3047
|
+
init(glasses: any ExtentosGlasses, notes: @escaping @Sendable () -> [Note]) {
|
|
3048
|
+
self.glasses = glasses
|
|
3049
|
+
self.notes = notes
|
|
3050
|
+
}
|
|
3051
|
+
|
|
3052
|
+
func start() async throws {
|
|
3053
|
+
session = try await glasses.assistant.start(
|
|
3054
|
+
provider: .openAI() // model + voice from your dashboard
|
|
3055
|
+
) { config in
|
|
3056
|
+
config.instructions =
|
|
3057
|
+
"You can use the glasses display. Call show_notes for the browsable " +
|
|
3058
|
+
"list (also to go back to it); clear_display to wipe the screen. If a " +
|
|
3059
|
+
"tool says there is no display, say so and offer to read aloud instead."
|
|
3060
|
+
|
|
3061
|
+
config.tool("show_notes", description: "Show the browsable list of the user's notes on the glasses display. Also call to go back to the list from an open note.") {
|
|
3062
|
+
guard self.glasses.display.isAvailable else {
|
|
3063
|
+
return .err("These glasses have no display. Offer to read the notes aloud instead.")
|
|
3064
|
+
}
|
|
3065
|
+
await self.showBrowse()
|
|
3066
|
+
return .ok("Notes are on the display — slide between them, pinch one to open it.")
|
|
3067
|
+
}
|
|
3068
|
+
|
|
3069
|
+
config.tool("clear_display", description: "Clear the glasses display when the user asks to hide or dismiss it.") {
|
|
3070
|
+
await self.glasses.display.clear()
|
|
3071
|
+
return .ok("Display cleared.")
|
|
3072
|
+
}
|
|
3073
|
+
}
|
|
3074
|
+
// Wake mechanism — same onPhrase wiring as every Phase 4 assistant.
|
|
3075
|
+
_ = glasses.voice.onPhrase(phrase: "hey notes") { [weak self] in
|
|
3076
|
+
try? await self?.session?.wake()
|
|
3077
|
+
}
|
|
3078
|
+
}
|
|
3079
|
+
|
|
3080
|
+
/// BROWSE — every note is a pinchable CARD container (ids auto-assign on iOS).
|
|
3081
|
+
private func showBrowse() async {
|
|
3082
|
+
let all = notes()
|
|
3083
|
+
// Mid-pinch on the root view dismisses the display.
|
|
3084
|
+
await glasses.display.show(onBack: { Task { await self.glasses.display.clear() } }) { root in
|
|
3085
|
+
root.flexBox(direction: .column, gap: 6, padding: EdgeInsets(top: 10, right: 10, bottom: 10, left: 10)) { col in
|
|
3086
|
+
col.text("My notes", style: .heading)
|
|
3087
|
+
for note in all.prefix(5) {
|
|
3088
|
+
col.flexBox(
|
|
3089
|
+
direction: .column,
|
|
3090
|
+
gap: 2,
|
|
3091
|
+
padding: EdgeInsets(top: 8, right: 8, bottom: 8, left: 8),
|
|
3092
|
+
background: .card,
|
|
3093
|
+
onClick: { Task { await self.showDetail(note) } }
|
|
3094
|
+
) { card in
|
|
3095
|
+
card.text(note.title, style: .body)
|
|
3096
|
+
card.text(String(note.body.prefix(40)), style: .caption, color: .secondary)
|
|
3097
|
+
}
|
|
3098
|
+
}
|
|
3099
|
+
if all.count > 5 {
|
|
3100
|
+
col.text("+\\(all.count - 5) more — ask me to open one", style: .caption, color: .secondary)
|
|
3101
|
+
}
|
|
3102
|
+
}
|
|
3103
|
+
}
|
|
3104
|
+
}
|
|
3105
|
+
|
|
3106
|
+
/// DETAIL — one note full-screen; mid-pinch (onBack) or the button goes back.
|
|
3107
|
+
private func showDetail(_ note: Note) async {
|
|
3108
|
+
await glasses.display.show(onBack: { Task { await self.showBrowse() } }) { root in
|
|
3109
|
+
root.flexBox(direction: .column, gap: 8, padding: EdgeInsets(top: 12, right: 12, bottom: 12, left: 12)) { col in
|
|
3110
|
+
col.text(note.title, style: .heading)
|
|
3111
|
+
col.text(note.body, style: .body)
|
|
3112
|
+
// The explicit button pairs with the mid-pinch (onBack above) —
|
|
3113
|
+
// same transition, discoverable on screen.
|
|
3114
|
+
col.button("Back to notes", style: .outline) {
|
|
3115
|
+
Task { await self.showBrowse() }
|
|
3116
|
+
}
|
|
3117
|
+
}
|
|
3118
|
+
}
|
|
3119
|
+
}
|
|
3120
|
+
}`,
|
|
3033
3121
|
},
|
|
3034
3122
|
explanation: `THE AGENT-SIDE VERIFICATION LOOP — run from the same MCP session
|
|
3035
3123
|
|
|
@@ -3085,7 +3173,7 @@ VERIFICATION NOTES
|
|
|
3085
3173
|
"**Gate on `isAvailable`, never the model name** — and return the reason in the tool Err (\"These glasses have no display...\") so the model explains it accurately instead of improvising. The gate flips LIVE when the sim device changes; the same running session can see true then false.",
|
|
3086
3174
|
"**`show {}` replaces the whole display** — own the view state app-side (browse vs detail) and re-render complete views on every transition. There are no incremental updates.",
|
|
3087
3175
|
"**Register `onBack` on EVERY show — back is view-contextual.** Detail's onBack re-renders browse; browse's onBack clears the display; voice 'go back' asks wire to the same transition (show_notes). A show without onBack ignores the gesture, and clear() drops the current handlers so a stale onBack can't fire later. Sim-verified; the real-hardware mid-pinch wiring lands with the DAT display validation pass.",
|
|
3088
|
-
"**Give every clickable node a stable id** — buttons via `id = \"back-to-notes\"`, cards via `column(onClick = ..., id = \"note-\" + note.id)`. Without one, containers fall back to positional box-N ids that shift on reorder, coupling agents/tests to render order instead of identity.",
|
|
3176
|
+
"**Give every clickable node a stable id (Android)** — buttons via `id = \"back-to-notes\"`, cards via `column(onClick = ..., id = \"note-\" + note.id)`. Without one, containers fall back to positional box-N ids that shift on reorder, coupling agents/tests to render order instead of identity. iOS has no `id:` parameter yet — ids always auto-assign; read them back via getDisplayState.interactiveIds.",
|
|
3089
3177
|
"**onClick is a plain () -> Unit** — launch a coroutine inside it for the suspend show()/clear() calls.",
|
|
3090
3178
|
"**A fresh sim session defaults to rayban_meta (no display)** — setSimDevice('rayban_display') before driving any display flow, or every show is a silent no-op and getDisplayState stays empty.",
|
|
3091
3179
|
],
|
|
@@ -3141,13 +3229,19 @@ actor SceneScanner {
|
|
|
3141
3229
|
|
|
3142
3230
|
func start() {
|
|
3143
3231
|
task = Task { [glasses, detector] in
|
|
3144
|
-
|
|
3145
|
-
|
|
3146
|
-
|
|
3147
|
-
|
|
3148
|
-
|
|
3149
|
-
|
|
3232
|
+
// videoFrames is a THROWING stream — CameraStreamPaused if
|
|
3233
|
+
// started while the wearer has paused the camera (temple tap).
|
|
3234
|
+
do {
|
|
3235
|
+
for try await frame in glasses.camera.videoFrames(
|
|
3236
|
+
config: VideoFrameConfig(resolution: .low, frameRate: 2)
|
|
3237
|
+
) {
|
|
3238
|
+
// frame.buffer / frame.width / frame.height / frame.presentationTimeUs
|
|
3239
|
+
if let label = detector.classify(frame) {
|
|
3240
|
+
_ = await glasses.audio.speak("I see a " + label)
|
|
3241
|
+
}
|
|
3150
3242
|
}
|
|
3243
|
+
} catch {
|
|
3244
|
+
// stream refused to start (camera paused) — prompt the wearer
|
|
3151
3245
|
}
|
|
3152
3246
|
}
|
|
3153
3247
|
}
|
|
@@ -3225,9 +3319,54 @@ class GalleryDisplay(
|
|
|
3225
3319
|
showList()
|
|
3226
3320
|
}
|
|
3227
3321
|
}`,
|
|
3228
|
-
swift: `// iOS DisplayClient
|
|
3229
|
-
//
|
|
3230
|
-
//
|
|
3322
|
+
swift: `// iOS DisplayClient note: the list ⇄ detail navigation below works today
|
|
3323
|
+
// (URL-based media). The LOCAL-media roots — image(photo:) / video(clip:)
|
|
3324
|
+
// auto-hosting + forgetHostedImage/-Video — are still Android-only (land
|
|
3325
|
+
// with D5b), so the detail view renders an already-hosted URL; keep
|
|
3326
|
+
// freshly-captured photos on the phone UI until the hosting port lands.
|
|
3327
|
+
|
|
3328
|
+
import GlassesCore
|
|
3329
|
+
|
|
3330
|
+
struct SavedPhoto { let id: Int64; let label: String; let hostedUrl: String }
|
|
3331
|
+
|
|
3332
|
+
final class GalleryDisplay: @unchecked Sendable {
|
|
3333
|
+
private let glasses: any ExtentosGlasses
|
|
3334
|
+
private let store: PhotoStore // YOUR persisted gallery
|
|
3335
|
+
|
|
3336
|
+
init(glasses: any ExtentosGlasses, store: PhotoStore) {
|
|
3337
|
+
self.glasses = glasses
|
|
3338
|
+
self.store = store
|
|
3339
|
+
}
|
|
3340
|
+
|
|
3341
|
+
// Root view: one card per saved photo. Display is per-DEVICE — gate on isAvailable.
|
|
3342
|
+
func showList() async {
|
|
3343
|
+
guard glasses.display.isAvailable else { return }
|
|
3344
|
+
let items = store.all().prefix(5)
|
|
3345
|
+
await glasses.display.show(onBack: { Task { await self.glasses.display.clear() } }) { root in
|
|
3346
|
+
root.flexBox(direction: .column, gap: 8, padding: EdgeInsets(top: 12, right: 12, bottom: 12, left: 12)) { col in
|
|
3347
|
+
col.text("Photos (\\(self.store.all().count))", style: .heading)
|
|
3348
|
+
for p in items {
|
|
3349
|
+
// Tappable card — ids auto-assign on iOS (no id: parameter);
|
|
3350
|
+
// read them back via getDisplayState.interactiveIds.
|
|
3351
|
+
col.flexBox(
|
|
3352
|
+
direction: .column,
|
|
3353
|
+
background: .card,
|
|
3354
|
+
onClick: { Task { await self.showDetail(p) } }
|
|
3355
|
+
) { card in
|
|
3356
|
+
card.text(p.label, style: .body)
|
|
3357
|
+
}
|
|
3358
|
+
}
|
|
3359
|
+
}
|
|
3360
|
+
}
|
|
3361
|
+
}
|
|
3362
|
+
|
|
3363
|
+
// Detail view: the hosted photo full-surface; back returns to the list.
|
|
3364
|
+
private func showDetail(_ p: SavedPhoto) async {
|
|
3365
|
+
await glasses.display.show(onBack: { Task { await self.showList() } }) { root in
|
|
3366
|
+
root.image(url: p.hostedUrl) // glasses fetch http(s) themselves
|
|
3367
|
+
}
|
|
3368
|
+
}
|
|
3369
|
+
}`,
|
|
3231
3370
|
},
|
|
3232
3371
|
explanation: "No assistant, no LLM — just capturePhoto + your store + the display DSL. show {} replaces the entire surface each call, so re-render the whole view on every transition and own your nav state app-side (here: list vs detail). Each show registers its own onBack: the detail view's onBack re-renders the list; the root's clears. image(photo) / video(clip) auto-host the local capture at show() time (near-instant for a photo, a few seconds for a clip) — call forgetHostedImage / forgetHostedVideo when the user deletes the item so the hosted copy is torn down.",
|
|
3233
3372
|
gotchas: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeExamples.js","sourceRoot":"","sources":["../../../src/tools/data/codeExamples.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,sEAAsE;AACtE,sEAAsE;AACtE,uDAAuD;AACvD,sCAAsC;AACtC,EAAE;AACF,qEAAqE;AACrE,uDAAuD;AACvD,wEAAwE;AACxE,kEAAkE;AAClE,oEAAoE;AACpE,2DAA2D;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAuE5C,MAAM,kBAAkB,GAAgB;IACtC,OAAO,EAAE,oBAAoB;IAC7B,KAAK,EAAE,yFAAyF;IAChG,WAAW,EACT,0zBAA0zB;IAC5zB,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwEV;QACE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgET;KACC;IACD,WAAW,EACT,ggCAAggC;IAClgC,OAAO,EAAE;QACP,yXAAyX;QACzX,gbAAgb;QAChb,qXAAqX;QACrX,mSAAmS;QACnS,oSAAoS;QACpS,+SAA+S;QAC/S,msBAAmsB;QACnsB,sIAAsI;QACtI,+HAA+H;QAC/H,yKAAyK;QACzK,kyBAAkyB;QAClyB,0UAA0U;KAC3U;IACD,eAAe,EAAE,CAAC,eAAe,EAAE,2BAA2B,EAAE,cAAc,CAAC;CAChF,CAAC;AAEF,MAAM,cAAc,GAAgB;IAClC,OAAO,EAAE,gBAAgB;IACzB,KAAK,EAAE,gDAAgD;IACvD,WAAW,EACT,2bAA2b;IAC7b,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BV;QACE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCT;KACC;IACD,WAAW,EACT,+ZAA+Z;IACja,OAAO,EAAE;QACP,8IAA8I;QAC9I,6PAA6P;QAC7P,kLAAkL;KACnL;IACD,eAAe,EAAE,CAAC,2BAA2B,CAAC;CAC/C,CAAC;AAEF,MAAM,oBAAoB,GAAgB;IACxC,OAAO,EAAE,sBAAsB;IAC/B,KAAK,EAAE,gDAAgD;IACvD,WAAW,EACT,gfAAgf;IAClf,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6DV;QACE,KAAK,EAAE
|
|
1
|
+
{"version":3,"file":"codeExamples.js","sourceRoot":"","sources":["../../../src/tools/data/codeExamples.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,sEAAsE;AACtE,sEAAsE;AACtE,uDAAuD;AACvD,sCAAsC;AACtC,EAAE;AACF,qEAAqE;AACrE,uDAAuD;AACvD,wEAAwE;AACxE,kEAAkE;AAClE,oEAAoE;AACpE,2DAA2D;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAuE5C,MAAM,kBAAkB,GAAgB;IACtC,OAAO,EAAE,oBAAoB;IAC7B,KAAK,EAAE,yFAAyF;IAChG,WAAW,EACT,0zBAA0zB;IAC5zB,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwEV;QACE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgET;KACC;IACD,WAAW,EACT,ggCAAggC;IAClgC,OAAO,EAAE;QACP,yXAAyX;QACzX,gbAAgb;QAChb,qXAAqX;QACrX,mSAAmS;QACnS,oSAAoS;QACpS,+SAA+S;QAC/S,msBAAmsB;QACnsB,sIAAsI;QACtI,+HAA+H;QAC/H,yKAAyK;QACzK,kyBAAkyB;QAClyB,0UAA0U;KAC3U;IACD,eAAe,EAAE,CAAC,eAAe,EAAE,2BAA2B,EAAE,cAAc,CAAC;CAChF,CAAC;AAEF,MAAM,cAAc,GAAgB;IAClC,OAAO,EAAE,gBAAgB;IACzB,KAAK,EAAE,gDAAgD;IACvD,WAAW,EACT,2bAA2b;IAC7b,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BV;QACE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCT;KACC;IACD,WAAW,EACT,+ZAA+Z;IACja,OAAO,EAAE;QACP,8IAA8I;QAC9I,6PAA6P;QAC7P,kLAAkL;KACnL;IACD,eAAe,EAAE,CAAC,2BAA2B,CAAC;CAC/C,CAAC;AAEF,MAAM,oBAAoB,GAAgB;IACxC,OAAO,EAAE,sBAAsB;IAC/B,KAAK,EAAE,gDAAgD;IACvD,WAAW,EACT,gfAAgf;IAClf,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6DV;QACE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmDT;KACC;IACD,WAAW,EACT,gWAAgW;IAClW,OAAO,EAAE;QACP,4OAA4O;QAC5O,4KAA4K;QAC5K,yGAAyG;QACzG,iRAAiR;QACjR,iMAAiM;QACjM,gRAAgR;QAChR,shBAAshB;KACvhB;IACD,eAAe,EAAE,CAAC,eAAe,EAAE,eAAe,EAAE,2BAA2B,CAAC;CACjF,CAAC;AAEF,MAAM,qBAAqB,GAAgB;IACzC,OAAO,EAAE,uBAAuB;IAChC,KAAK,EAAE,+CAA+C;IACtD,WAAW,EACT,sdAAsd;IACxd,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA4BU;QAClB,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;yBAyBc;KACtB;IACD,WAAW,EACT,4QAA4Q;IAC9Q,OAAO,EAAE;QACP,gNAAgN;QAChN,2KAA2K;QAC3K,6LAA6L;KAC9L;IACD,eAAe,EAAE,CAAC,2BAA2B,CAAC;CAC/C,CAAC;AAEF,MAAM,WAAW,GAAgB;IAC/B,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,sCAAsC;IAC7C,WAAW,EACT,miBAAmiB;IACriB,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2CV;QACE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCT;KACC;IACD,WAAW,EACT,yQAAyQ;IAC3Q,OAAO,EAAE;QACP,iNAAiN;QACjN,iUAAiU;KAClU;IACD,eAAe,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,2BAA2B,CAAC;CAChF,CAAC;AAEF,MAAM,qBAAqB,GAAgB;IACzC,OAAO,EAAE,uBAAuB;IAChC,KAAK,EAAE,8CAA8C;IACrD,WAAW,EACT,+NAA+N;IACjO,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;kDAwBsC;QAC9C,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BT;KACC;IACD,WAAW,EACT,+TAA+T;IACjU,OAAO,EAAE;QACP,kMAAkM;QAClM,meAAme;QACne,iMAAiM;KAClM;IACD,eAAe,EAAE,EAAE;CACpB,CAAC;AAEF,MAAM,cAAc,GAAgB;IAClC,OAAO,EAAE,gBAAgB;IACzB,KAAK,EAAE,mGAAmG;IAC1G,WAAW,EACT,6kDAA6kD;IAC/kD,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2EAiU+D;QACvE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mGA0SwF;KAChG;IACD,WAAW,EACT,0lCAA0lC;IAC5lC,OAAO,EAAE;QACP,qLAAqL;QACrL,oJAAoJ;QACpJ,yWAAyW;QACzW,yUAAyU;QACzU,sLAAsL;QACtL,+rBAA+rB;QAC/rB,sLAAsL;QACtL,8RAA8R;QAC9R,8YAA8Y;QAC9Y,uXAAuX;KACxX;IACD,eAAe,EAAE,CAAC,eAAe,CAAC;IAClC,oBAAoB,EAAE;QACpB,OAAO,EAAE;YACP;gBACE,aAAa,EAAE,gBAAgB;gBAC/B,QAAQ,EAAE,oCAAoC;gBAC9C,SAAS,EAAE,sBAAsB;aAClC;YACD;gBACE,aAAa,EAAE,gBAAgB;gBAC/B,QAAQ,EAAE,wDAAwD;gBAClE,SAAS,EAAE,sBAAsB;aAClC;SACF;QACD,+DAA+D;QAC/D,iCAAiC;QACjC,gBAAgB,EAAE,EAAE;KACrB;IACD,eAAe,EAAE;QACf,OAAO,EAAE;YACP,mEAAmE;YACnE,gEAAgE;YAChE,kEAAkE;YAClE,2DAA2D;YAC3D;gBACE,EAAE,EAAE,2CAA2C;gBAC/C,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,aAAa;gBAC3C,SAAS,EAAE,uBAAuB;gBAClC,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE,gGAAgG;aACvG;YACD;gBACE,EAAE,EAAE,2CAA2C;gBAC/C,SAAS,EAAE,sBAAsB;gBACjC,IAAI,EAAE,gJAAgJ;aACvJ;SACF;KACF;CACF,CAAC;AAEF,MAAM,eAAe,GAAgB;IACnC,OAAO,EAAE,iBAAiB;IAC1B,KAAK,EAAE,mDAAmD;IAC1D,WAAW,EACT,4qBAA4qB;IAC9qB,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+EV;QACE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2ET;KACC;IACD,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mjBA2IoiB;IACjjB,OAAO,EAAE;QACP,syBAAsyB;QACtyB,uRAAuR;QACvR,4mBAA4mB;QAC5mB,wTAAwT;QACxT,kRAAkR;QAClR,6QAA6Q;QAC7Q,iUAAiU;QACjU,wMAAwM;QACxM,kPAAkP;KACnP;IACD,eAAe,EAAE,CAAC,cAAc,EAAE,2BAA2B,EAAE,OAAO,EAAE,eAAe,CAAC;CACzF,CAAC;AAEF,MAAM,uBAAuB,GAAgB;IAC3C,OAAO,EAAE,yBAAyB;IAClC,KAAK,EAAE,oHAAoH;IAC3H,WAAW,EACT,y/BAAy/B;IAC3/B,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuGV;QACE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8ET;KACC;IACD,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEAkGsD;IACnE,OAAO,EAAE;QACP,+TAA+T;QAC/T,iYAAiY;QACjY,2RAA2R;QAC3R,8TAA8T;QAC9T,g4BAAg4B;QACh4B,0YAA0Y;QAC1Y,6PAA6P;KAC9P;IACD,eAAe,EAAE,CAAC,eAAe,EAAE,OAAO,EAAE,2BAA2B,EAAE,SAAS,EAAE,gBAAgB,CAAC;CACtG,CAAC;AAEF,MAAM,oBAAoB,GAAgB;IACxC,OAAO,EAAE,sBAAsB;IAC/B,KAAK,EAAE,qFAAqF;IAC5F,WAAW,EACT,4kCAA4kC;IAC9kC,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmSV;QACE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+HT;KACC;IACD,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qDA8HsC;IACnD,OAAO,EAAE;QACP,wTAAwT;QACxT,ymBAAymB;QACzmB,gdAAgd;QAChd,2aAA2a;QAC3a,wUAAwU;QACxU,8YAA8Y;QAC9Y,qdAAqd;QACrd,uhBAAuhB;QACvhB,kQAAkQ;QAClQ,mwBAAmwB;QACnwB,62BAA62B;KAC92B;IACD,eAAe,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,cAAc,EAAE,OAAO,EAAE,eAAe,CAAC;CACpM,CAAC;AAEF,yEAAyE;AACzE,EAAE;AACF,yEAAyE;AACzE,wEAAwE;AACxE,uEAAuE;AACvE,yEAAyE;AACzE,0EAA0E;AAC1E,cAAc;AACd,EAAE;AACF,uEAAuE;AACvE,qEAAqE;AACrE,0EAA0E;AAC1E,wEAAwE;AACxE,sEAAsE;AACtE,4DAA4D;AAC5D,2EAA2E;AAC3E,mEAAmE;AACnE,wEAAwE;AACxE,uCAAuC;AAEvC,MAAM,0BAA0B,GAAgB;IAC9C,OAAO,EAAE,4BAA4B;IACrC,KAAK,EAAE,iGAAiG;IACxG,WAAW,EACT,m7BAAm7B;IACr7B,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8FV;QACE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgET;KACC;IACD,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gEAwOiD;IAC9D,OAAO,EAAE;QACP,+sBAA+sB;QAC/sB,+fAA+f;QAC/f,mqBAAmqB;QACnqB,qiCAAqiC;QACriC,+mBAA+mB;QAC/mB,+ZAA+Z;QAC/Z,+XAA+X;QAC/X,wQAAwQ;QACxQ,sWAAsW;QACtW,kbAAkb;QAClb,8gBAA8gB;KAC/gB;IACD,eAAe,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,kBAAkB,CAAC;CAC1J,CAAC;AAEF,8EAA8E;AAC9E,8EAA8E;AAC9E,2EAA2E;AAC3E,oCAAoC;AACpC,MAAM,qBAAqB,GAAgB;IACzC,OAAO,EAAE,uBAAuB;IAChC,KAAK,EAAE,uFAAuF;IAC9F,WAAW,EACT,qyBAAqyB;IACvyB,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiHV;QACE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwFT;KACC;IACD,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAiDqB;IAClC,OAAO,EAAE;QACP,+RAA+R;QAC/R,+KAA+K;QAC/K,yZAAyZ;QACzZ,kZAAkZ;QAClZ,wGAAwG;QACxG,iMAAiM;KAClM;IACD,eAAe,EAAE,CAAC,SAAS,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,CAAC;CACrF,CAAC;AAEF,MAAM,eAAe,GAAgB;IACnC,OAAO,EAAE,iBAAiB;IAC1B,KAAK,EAAE,iDAAiD;IACxD,WAAW,EACT,2bAA2b;IAC7b,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BV;QACE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCT;KACC;IACD,WAAW,EACT,gdAAgd;IACld,OAAO,EAAE;QACP,6HAA6H;QAC7H,sGAAsG;QACtG,iJAAiJ;QACjJ,yNAAyN;KAC1N;IACD,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;CACnD,CAAC;AAEF,MAAM,qBAAqB,GAAgB;IACzC,OAAO,EAAE,uBAAuB;IAChC,KAAK,EAAE,yDAAyD;IAChE,WAAW,EACT,8eAA8e;IAChf,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuDV;QACE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CT;KACC;IACD,WAAW,EACT,8iBAA8iB;IAChjB,OAAO,EAAE;QACP,uLAAuL;QACvL,wMAAwM;QACxM,0NAA0N;QAC1N,0GAA0G;KAC3G;IACD,eAAe,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,eAAe,CAAC;CAC/D,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAgC;IACxD,kBAAkB,EAAE,kBAAkB;IACtC,cAAc,EAAE,cAAc;IAC9B,oBAAoB,EAAE,oBAAoB;IAC1C,qBAAqB,EAAE,qBAAqB;IAC5C,WAAW,EAAE,WAAW;IACxB,qBAAqB,EAAE,qBAAqB;IAC5C,cAAc,EAAE,cAAc;IAC9B,eAAe,EAAE,eAAe;IAChC,oBAAoB,EAAE,oBAAoB;IAC1C,0BAA0B,EAAE,0BAA0B;IACtD,qBAAqB,EAAE,qBAAqB;IAC5C,qBAAqB,EAAE,qBAAqB;IAC5C,eAAe,EAAE,eAAe;IAChC,uBAAuB,EAAE,uBAAuB;CACjD,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC"}
|
|
@@ -251,7 +251,7 @@ export const toolDefinitions = [
|
|
|
251
251
|
// dashboard). Canonical design: shared-context/mcp-permission-system-design.md.
|
|
252
252
|
{
|
|
253
253
|
name: "getAssistantConfig",
|
|
254
|
-
description: 'Read the per-project "Agent" (assistant) settings the dashboard holds for an app — the OpenAI Realtime model, the voice, the memory (compaction) model, and the within-session memory mode — plus the catalog of valid options for each, the dashboard defaults, and the SDK hard defaults. Returns { managed, config, options, dashboardDefaults, sdkHardDefaults }: managed=true means a dashboard row exists and drives these at session start; managed=false means none is set, so the SDK uses its hard defaults unless the app code sets values. Runtime precedence is code-set > dashboard config > SDK hard defaults; this tool sees the dashboard layer only. Account-scoped + read-only — requires a linked Extentos account (run `extentos-mcp login`; a 401 returns account_required). Consumed by
|
|
254
|
+
description: 'Read the per-project "Agent" (assistant) settings the dashboard holds for an app — the OpenAI Realtime model, the voice, the memory (compaction) model, and the within-session memory mode — plus the catalog of valid options for each, the dashboard defaults, and the SDK hard defaults. Returns { managed, config, options, dashboardDefaults, sdkHardDefaults }: managed=true means a dashboard row exists and drives these at session start; managed=false means none is set, so the SDK uses its hard defaults unless the app code sets values. Runtime precedence is code-set > dashboard config > SDK hard defaults; this tool sees the dashboard layer only. Account-scoped + read-only — requires a linked Extentos account (run `extentos-mcp login`; a 401 returns account_required). Consumed by BOTH SDKs at assistant start (iOS re-fetches on app relaunch — no rebuild needed). USE to see what models/voice a project is configured with, or to discover the valid option ids before recommending a change. DON\'T USE to change them (use setAssistantConfig; the dashboard\'s Agent section is the human-facing editor) or for usage/cost (use getGatewayUsage).',
|
|
255
255
|
inputSchema: {
|
|
256
256
|
type: "object",
|
|
257
257
|
properties: {
|
|
@@ -267,7 +267,7 @@ export const toolDefinitions = [
|
|
|
267
267
|
},
|
|
268
268
|
{
|
|
269
269
|
name: "setAssistantConfig",
|
|
270
|
-
description: 'Change a project\'s dashboard-managed "Agent" (assistant) settings via MCP — any of the OpenAI Realtime model, voice, memory (compaction) model, or within-session memory mode (PARTIAL update; pass only what you\'re changing). Validates each value against the catalog (call getAssistantConfig first to see valid ids) and echoes the COST IMPACT of a model change (per-1M rates, old → new) so a switch is never blind. GATED by the project\'s MCP access grant — the default is Read+Write so it works out of the box; the owner can restrict it per-project in the dashboard, and a permission_denied (403) means Assistant-config access was set to Read or Off. Requires a linked Extentos account (a 401 returns account_required, run `extentos-mcp login`). Applies to the
|
|
270
|
+
description: 'Change a project\'s dashboard-managed "Agent" (assistant) settings via MCP — any of the OpenAI Realtime model, voice, memory (compaction) model, or within-session memory mode (PARTIAL update; pass only what you\'re changing). Validates each value against the catalog (call getAssistantConfig first to see valid ids) and echoes the COST IMPACT of a model change (per-1M rates, old → new) so a switch is never blind. GATED by the project\'s MCP access grant — the default is Read+Write so it works out of the box; the owner can restrict it per-project in the dashboard, and a permission_denied (403) means Assistant-config access was set to Read or Off. Requires a linked Extentos account (a 401 returns account_required, run `extentos-mcp login`). Applies to the next assistant session on BOTH platforms (a value set in app code still wins; Android picks it up in a fresh process, iOS on app relaunch). USE to configure a project\'s voice agent from the agent loop. DON\'T USE to read current settings (use getAssistantConfig) or to set secrets (credentials are never written through the agent).',
|
|
271
271
|
inputSchema: {
|
|
272
272
|
type: "object",
|
|
273
273
|
properties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"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"}
|
|
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":"AAiBA,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;AAmMD,eAAO,MAAM,SAAS,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/docs/index.ts"],"names":[],"mappings":"AAiBA,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;AAmMD,eAAO,MAAM,SAAS,EAAE,QAAQ,EAywC/B,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAuB/E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,WAAW,GAAE,MAAU,EACvB,eAAe,GAAE,MAAY,GAC5B,MAAM,EAAE,CAmBV"}
|
package/dist/tools/docs/index.js
CHANGED
|
@@ -163,7 +163,7 @@ Obtaining \`glasses\` (iOS) — every snippet references the same \`glasses\` va
|
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
165
|
|
|
166
|
-
(1) Dedicated route — pushed via NavigationLink from anywhere. The system NavigationStack provides a back chevron; .navigationTitle makes the bar visible.
|
|
166
|
+
(1) Dedicated route — pushed via NavigationLink from anywhere. The system NavigationStack provides a back chevron; .navigationTitle makes the bar visible. (GlassesRoute is YOUR navigation value, not an SDK type — define it once: struct GlassesRoute: Hashable {}.)
|
|
167
167
|
|
|
168
168
|
NavigationStack {
|
|
169
169
|
HomeView()
|
|
@@ -215,7 +215,7 @@ export const DOC_INDEX = [
|
|
|
215
215
|
"**Prerequisite: host app must already exist.** `generateConnectionModule` scaffolds Extentos INTO an existing Compose / SwiftUI host app — it does not create the host app itself. CLI agents starting from scratch should fetch `searchDocs(topic: 'host_app_scaffold')` first for a copy-pasteable Compose / SwiftUI project template; Android Studio / Xcode users can use the New Project wizard.\n\n" +
|
|
216
216
|
"**Tool sequence (deterministic, in order):**\n\n" +
|
|
217
217
|
"(1) `getPlatformInfo` — fetch capability surface (compact: feature names + categories + tiers, ~2KB) and library version. The `features` list is the SDK's vocabulary: `capture_photo`, `record_audio`, `transcription_incremental`, `voice_command`, etc. Use these names in subsequent tool calls.\n\n" +
|
|
218
|
-
"(2) `generateConnectionModule` — one-shot scaffold (bootstrap + dependencies + connection-page wiring). Surfaces a developerInstructions Step 1 prompt to ask the dev about `ExtentosConnectionPage` placement; do not skip it.\n\n" +
|
|
218
|
+
"(2) `generateConnectionModule` — one-shot scaffold (bootstrap + dependencies + connection-page wiring). Surfaces a developerInstructions Step 1 prompt to ask the dev about `ExtentosConnectionPage` placement; do not skip it (no human in the loop? `dedicated_route` is the sensible default — say so in your summary). Not sure which `capabilities` to pass yet? It's fine to read step 3's guides first and scaffold after, or scaffold now and re-run with the updated list — re-running with the same arguments is idempotent. `libraryVersion` is platform-scoped (Android Maven version ≠ iOS package version); omit it to get the platform's latest.\n\n" +
|
|
219
219
|
"(3) Write the handler code in Kotlin/Swift directly. Two tools help you compose against the SDK correctly:\n" +
|
|
220
220
|
" - `getCodeExample(pattern)` — full canonical compositions in both languages. **For voice assistants, start with `assistant_agent_loop`** (Phase 4 `glasses.assistant.start(provider) { tool(...) { ... } }` API — the canonical path; OpenAI Realtime in v1, Gemini Live in v1.5+). The model owns wake detection / turn taking / intent / confirmation speech; the customer writes tool bodies + optional onWake/onSleep hooks + chooses the wake mechanism (voice phrase via `glasses.voice.onPhrase` + `session.wake()`, button, gesture, MCP call). Built-in `endOnIntent` (model-driven sleep on farewell), `sleepAfterSilence`, transparent reconnection. **For the agent-side test workflow** (multi-tool sweep, multi-channel verification, real-OpenAi capable since iter5.2): `getCodeExample(pattern:\"agent_driven_e2e_full_loop\")`. **Phase 3 (`conversation_agent_loop` — `glasses.conversation.onWake { listen() / speak() / ai.complete() }`) was REMOVED on Android in 1.4.0** — historical migration reference only. Other compositions for fine-grained control: voice_qa_assistant (LEGACY manual wake+record+LLM+speak), barge_in_speak (cancel TTS on interrupt), photo_describe_voice (voice-activated vision), live_transcription_ui (transcripts into UI state), voice_notes (wake+record+save), connection_page_setup (bootstrap wiring). Peel from these; don't copy whole.\n" +
|
|
221
221
|
" - `getCapabilityGuide(feature)` — per-feature minimal usage + gotchas. Pair with getPlatformInfo: features tells you what exists, getCapabilityGuide tells you how to call it. For Phase 4 voice work, see `getCapabilityGuide(feature: \"assistant_runtime\")`.\n" +
|
|
@@ -225,6 +225,7 @@ export const DOC_INDEX = [
|
|
|
225
225
|
"(6) `createSimulatorSession` — provision a browser simulator session to test end-to-end. Get-or-create: same sim resumes on subsequent calls.\n\n" +
|
|
226
226
|
"(7) `getEventLog` — primary debug tool. Returns the structured event trace for a session: stream lifecycle, toggle changes, connection state transitions, transport errors. Filter by 'errors' for warn/error rows; filter by 'transport' for connection/protocol layer. Note: BYOK calls (Anthropic / OpenAI / Gemini) go customer-app → provider HTTPS directly and don't traverse the simulator transport, so they're invisible to this tool — surface them via `glasses.observability.aiCall(label) { ... }` (F-R3-11) or pull adb logcat / OSLog for the customer's HTTP client tag.\n\n" +
|
|
227
227
|
"(8) `injectTranscript` + `getEventLog` + `adb run-as` — the dual-layer agent-driven verification loop. Drive the handler through `injectTranscript`, read both the protocol activity (`getEventLog`) AND the persisted state (Room / DataStore via `adb exec-out run-as <pkg> cat databases/...`) to assert the flow worked end-to-end. Full recipe + WAL caveat + canonical tool sequence: `searchDocs(topic: 'agent_e2e_testing')`. **For Phase 4 voice-assistant apps**, the agent loop is `injectAssistantUtterance` + `assertToolCalled` + multi-channel verification (getEventLog + adb logcat + screencap + library-state) — driving the real OpenAi Realtime provider, not just Mock, since iter5.2. Recipe: `getCodeExample(pattern: 'agent_driven_e2e_full_loop')`. Both patterns close the agent loop without a human — write a handler, drive it from the same MCP session that scaffolded it, assert the result against independent surfaces (event log, DB, screen, tool-body logcat).\n\n" +
|
|
228
|
+
"**iOS-specific path (same sequence, these deltas):** No step-0 preflight (GitHub Packages / GITHUB_TOKEN is Android-only). Host app from scratch → the headless xcodegen path in `searchDocs(topic: 'host_app_scaffold')` (Xcode wizard if you have a GUI). The Swift package is UNPUBLISHED today — `generateConnectionModule`'s \"add SPM package\" step cannot resolve until the swift-glasses release ships; a local checkout path-dependency is the interim (getPlatformInfo's version.ios reflects the live status). First-build verification: `xcodebuild -scheme <App> -destination 'generic/platform=iOS Simulator' build` (on Apple Silicon add `EXCLUDED_ARCHS[sdk=iphonesimulator*] = x86_64` while using a local SDK build — its simulator slice is arm64-only). Steps 6–8 (sim + event log + inject loops) are platform-neutral; where the Android recipe says adb, use `xcrun simctl` + OSLog instead.\n\n" +
|
|
228
229
|
"**Iteration loop — DO NOT mint a new sim per change.** `createSimulatorSession` is get-or-create: it returns the saved sim for this project (`status:'resumed'`) after the first call. Two rates of change:\n" +
|
|
229
230
|
"(a) APP-CODE edits (Kotlin/Swift) → rebuild + reinstall, the library reattaches to the same saved sim, no remint.\n" +
|
|
230
231
|
"(b) FORCE-FRESH (clean-slate ID rotation) → `createSimulatorSession({ resetFresh: true })` OR click 'Reset' on the dashboard at extentos.com/s.\n" +
|
|
@@ -322,8 +323,8 @@ export const DOC_INDEX = [
|
|
|
322
323
|
{
|
|
323
324
|
topic: "connection_state_model",
|
|
324
325
|
title: "Connection State Model",
|
|
325
|
-
content: "6 GlassesState buckets: NotRegistered, Registered, DeviceDiscovered, Connecting, Active, Disconnected. Active is a supertype covering reconnection + other internal states; a transport failure surfaces as Disconnected(cause), not a separate Failed bucket. Transport selects one of BrowserSimTransport / LocalSimTransport / RealMetaTransport and drives the state machine. Scope is per-session — app tear-down resets to NotRegistered.",
|
|
326
|
-
keywords: ["connection", "state", "active", "disconnected", "glassesstate", "transport", "reconnect"],
|
|
326
|
+
content: "6 GlassesState buckets: NotRegistered, Registered, DeviceDiscovered, Connecting, Active, Disconnected. Active is a supertype covering reconnection + other internal states; a transport failure surfaces as Disconnected(cause), not a separate Failed bucket. Transport selects one of BrowserSimTransport / LocalSimTransport / RealMetaTransport and drives the state machine. Scope is per-session — app tear-down resets to NotRegistered.\n\n**The rule for app code: treat ONLY `Disconnected` (and demotion out of `Active`, e.g. back to `Registered` on a lost link) as a lost connection — never `!Active`.** Internal work (camera session arming, auto-recovery, stream re-arms) stays WITHIN Active. Tearing down app resources (an RTMP relay, a recording, a subscription) on any non-Active state will kill them during normal internal transitions. Once connected, `Connecting` only reappears after a genuine demotion.\n\n`Active(Connected)` carries a `camera: CameraStatus` refinement — `ready` (capture works, or self-arms on demand), `starting` (session warming, self-resolving — render neutrally, never prompt the user to act), `broken` (a capture failed and won't self-heal mid-session; pull-to-refresh / app reopen fixes it — the only state that warrants an actionable warning). The packaged connection page renders these via the core's `connectionSummary` / `connectionIndicatorRole`.",
|
|
327
|
+
keywords: ["connection", "state", "active", "disconnected", "glassesstate", "transport", "reconnect", "captureready", "lifecycle"],
|
|
327
328
|
relatedTools: ["getSimulatorStatus", "getEventLog"],
|
|
328
329
|
},
|
|
329
330
|
{
|
|
@@ -713,6 +714,7 @@ export const DOC_INDEX = [
|
|
|
713
714
|
"- Custom TTS provider (e.g. ElevenLabs) — fetch the audio bytes yourself, then play them through the phone speaker OR fall back to `glasses.audio.speak(...)` for plain text. Direct routing of arbitrary audio bytes to the glasses speaker is a future SDK feature; for now, premium-voice TTS plays from the phone.\n" +
|
|
714
715
|
"- New hardware-event listeners — the library surfaces a fixed set of hardware alerts (thermal, hinges, audio route, call state, lifecycle). Anything not on the list isn't reachable from the SDK; ask for it in the Extentos repo / feedback channel.\n\n" +
|
|
715
716
|
"The SDK keeps a tight, vendor-validated surface intentionally — every primitive is something we can wire to multiple glasses vendors. Adding a primitive here means we commit to maintaining it across the line; custom one-off integrations belong in your handler, not the library.\n\n" +
|
|
717
|
+
"**Escape-hatch policy (when the vendor allows something the vocabulary doesn't cover):** Extentos escape hatches are explicitly opt-in APIs at a LOWER ALTITUDE inside the ecosystem (Android `@ExtentosEscapeHatch`, iOS `@_spi(ExtentosEscapeHatch)`) — never a handout of the raw vendor session. The vendor device session is a single-owner handle; a second owner outside Extentos would fight the SDK over one transport. Everything done through a hatch still rides the Extentos session: same state machine, same event log, same toggles/permission gates. The shipped hatch today is the custom connection-UI surface (see `searchDocs(topic: 'connection_ui')`); vendor-specific extension hatches follow the same rule as they land.\n\n" +
|
|
716
718
|
"If you find yourself wishing for a missing primitive, see the feedback flow in `searchDocs(topic: 'getting_started')` — that's the path to getting it into the library.",
|
|
717
719
|
keywords: ["custom", "extension", "byo", "escape hatch", "missing capability", "stt", "tts", "vision", "audio chunks", "video frames"],
|
|
718
720
|
relatedTools: ["getPlatformInfo"],
|
|
@@ -980,7 +982,7 @@ export const DOC_INDEX = [
|
|
|
980
982
|
content: "**ExtentosConnectionPage** is the drop-in UI that handles pairing, status, toggles, and developer-facing diagnostics for the glasses connection. Three customization layers:\n\n" +
|
|
981
983
|
"1. **Drop-in** — `ExtentosConnectionPage(glasses)` (Kotlin) / `ExtentosConnectionPage(glasses: glasses)` (Swift). Zero config; works out of the box. Auto-updates with new library versions.\n" +
|
|
982
984
|
"2. **Theme** — pass an `ExtentosTheme` to override colors / typography while keeping the structural layout. Auto-updates with new library versions.\n" +
|
|
983
|
-
"3. **`@ExtentosEscapeHatch`** — full replacement with your own UI. Build against `glasses.connection.state`, `glasses.toggles.state`, and `glasses.connection.simulatorHint` directly. Forfeits structural auto-updates: when the library adds a new connection sub-state or toggle, your UI won't show it until you re-implement.\n\n" +
|
|
985
|
+
"3. **`@ExtentosEscapeHatch`** — full replacement with your own UI. Build against `glasses.connection.state`, `glasses.toggles.state`, and `glasses.connection.simulatorHint` directly (iOS: `@_spi(ExtentosEscapeHatch)` import; Android: `@OptIn(ExtentosEscapeHatch::class)`). Forfeits structural auto-updates: when the library adds a new connection sub-state or toggle, your UI won't show it until you re-implement. The hatch stays fully inside the Extentos ecosystem — you're reading the same Extentos state streams the packaged page renders (lower altitude, same session/state machine/telemetry); it never exposes the raw vendor SDK session (see `searchDocs(topic: 'custom_extensions')` for the policy).\n\n" +
|
|
984
986
|
"── Placement patterns ──\n\n" +
|
|
985
987
|
"Five placements covered by `generateConnectionModule`'s placement gate (`searchDocs(topic: 'connection_ui_placement')` for full code snippets):\n" +
|
|
986
988
|
"- **dedicated_route** — single-purpose route with a back-arrow scaffold.\n" +
|
|
@@ -1178,8 +1180,35 @@ export const DOC_INDEX = [
|
|
|
1178
1180
|
"After steps 1–9 + wrapper bootstrap, run `./gradlew :app:assembleDebug` from project root (Windows: `gradlew.bat :app:assembleDebug` from PowerShell/cmd — the wrapper bootstrap writes both `gradlew` and `gradlew.bat`; on PowerShell set env vars with `$env:JAVA_HOME=\"...\"`, not the POSIX `KEY=value` form). Expected: ~1–3 min for first build (downloads Gradle distribution + dependencies). On success, APK lands at `app/build/outputs/apk/debug/app-debug.apk`. On failure, `JAVA_HOME` or `sdk.dir` is the most common culprit (see prerequisites).\n\n" +
|
|
1179
1181
|
"── Now run generateConnectionModule ──\n" +
|
|
1180
1182
|
"With the host app building cleanly, call `generateConnectionModule({ platform: 'android', glasses: 'meta_rayban', appPackage: 'com.example.myapp' })`. The first call returns the placement question; ask the dev which placement; re-call with `placement: '<chosen_id>'` to receive the scaffold.\n\n" +
|
|
1181
|
-
"── iOS — minimum-viable SwiftUI app ──\n" +
|
|
1182
|
-
"
|
|
1183
|
+
"── iOS — minimum-viable SwiftUI app (GUI path) ──\n" +
|
|
1184
|
+
"Xcode users: New Project wizard (File > New > Project > App, SwiftUI lifecycle, target iOS 16.0+). After the project is created, `xcodebuild -scheme MyApp -destination 'platform=iOS Simulator,name=iPhone 16 Pro' build` should succeed before running generateConnectionModule.\n\n" +
|
|
1185
|
+
"── iOS — headless / CLI path (xcodegen) ──\n" +
|
|
1186
|
+
"CLI agents can't open Xcode, and hand-authoring .xcodeproj is impractical — use **xcodegen** (`brew install xcodegen`): declare the project in `project.yml`, run `xcodegen generate`, build with xcodebuild. Minimum-viable `project.yml`:\n" +
|
|
1187
|
+
"```yaml\n" +
|
|
1188
|
+
"name: MyApp\n" +
|
|
1189
|
+
"options:\n" +
|
|
1190
|
+
" bundleIdPrefix: com.example\n" +
|
|
1191
|
+
"packages:\n" +
|
|
1192
|
+
" Extentos:\n" +
|
|
1193
|
+
" url: https://github.com/extentos/swift-glasses\n" +
|
|
1194
|
+
" from: <published version> # unpublished today — use `path: <local checkout>` until the SPM package ships\n" +
|
|
1195
|
+
"targets:\n" +
|
|
1196
|
+
" MyApp:\n" +
|
|
1197
|
+
" type: application\n" +
|
|
1198
|
+
" platform: iOS\n" +
|
|
1199
|
+
" deploymentTarget: '16.0'\n" +
|
|
1200
|
+
" sources: [Sources]\n" +
|
|
1201
|
+
" settings:\n" +
|
|
1202
|
+
" base:\n" +
|
|
1203
|
+
" INFOPLIST_FILE: Info.plist # generateConnectionModule emits its plist at the PROJECT ROOT (matching the manifest record) — point here, don't GENERATE_INFOPLIST_FILE\n" +
|
|
1204
|
+
" EXCLUDED_ARCHS[sdk=iphonesimulator*]: x86_64 # local/unpublished SDK ships an arm64-only simulator slice\n" +
|
|
1205
|
+
" dependencies:\n" +
|
|
1206
|
+
" - package: Extentos\n" +
|
|
1207
|
+
" product: GlassesCore\n" +
|
|
1208
|
+
" - package: Extentos\n" +
|
|
1209
|
+
" product: GlassesUI\n" +
|
|
1210
|
+
"```\n" +
|
|
1211
|
+
"Layout sources under `Sources/MyApp/` (generateConnectionModule emits files at `Sources/<AppName>/Extentos/...` — matching that layout means the scaffold drops in verbatim). After `xcodegen generate`, verify with `xcodebuild -scheme MyApp -destination 'generic/platform=iOS Simulator' build`. generateConnectionModule's wireInstructions are phrased for Xcode's GUI — translate \"add SPM package\" to the `packages:` block and \"add build phase\" additions into `project.yml` stanzas.\n\n" +
|
|
1183
1212
|
"── When this topic does NOT apply ──\n" +
|
|
1184
1213
|
"- You're scaffolding into an existing app (any non-trivial Compose / SwiftUI project) — skip this topic, go straight to generateConnectionModule.\n" +
|
|
1185
1214
|
"- You can open Android Studio / Xcode — use the New Project wizard, then come back to generateConnectionModule.\n" +
|