@mobileai/react-native 0.9.12 → 0.9.13

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 (38) hide show
  1. package/README.md +480 -61
  2. package/lib/module/components/AIAgent.js +61 -3
  3. package/lib/module/components/AIAgent.js.map +1 -1
  4. package/lib/module/components/AgentChatBar.js +12 -2
  5. package/lib/module/components/AgentChatBar.js.map +1 -1
  6. package/lib/module/components/DiscoveryTooltip.js +128 -0
  7. package/lib/module/components/DiscoveryTooltip.js.map +1 -0
  8. package/lib/module/core/AgentRuntime.js +77 -1
  9. package/lib/module/core/AgentRuntime.js.map +1 -1
  10. package/lib/module/core/FiberTreeWalker.js +5 -1
  11. package/lib/module/core/FiberTreeWalker.js.map +1 -1
  12. package/lib/module/core/systemPrompt.js +41 -3
  13. package/lib/module/core/systemPrompt.js.map +1 -1
  14. package/lib/module/index.js.map +1 -1
  15. package/lib/typescript/src/components/AIAgent.d.ts +18 -2
  16. package/lib/typescript/src/components/AIAgent.d.ts.map +1 -1
  17. package/lib/typescript/src/components/AgentChatBar.d.ts +5 -1
  18. package/lib/typescript/src/components/AgentChatBar.d.ts.map +1 -1
  19. package/lib/typescript/src/components/DiscoveryTooltip.d.ts +15 -0
  20. package/lib/typescript/src/components/DiscoveryTooltip.d.ts.map +1 -0
  21. package/lib/typescript/src/core/AgentRuntime.d.ts +7 -0
  22. package/lib/typescript/src/core/AgentRuntime.d.ts.map +1 -1
  23. package/lib/typescript/src/core/FiberTreeWalker.d.ts.map +1 -1
  24. package/lib/typescript/src/core/systemPrompt.d.ts +1 -1
  25. package/lib/typescript/src/core/systemPrompt.d.ts.map +1 -1
  26. package/lib/typescript/src/core/types.d.ts +19 -0
  27. package/lib/typescript/src/core/types.d.ts.map +1 -1
  28. package/lib/typescript/src/index.d.ts +1 -1
  29. package/lib/typescript/src/index.d.ts.map +1 -1
  30. package/package.json +1 -1
  31. package/src/components/AIAgent.tsx +75 -1
  32. package/src/components/AgentChatBar.tsx +19 -1
  33. package/src/components/DiscoveryTooltip.tsx +148 -0
  34. package/src/core/AgentRuntime.ts +87 -1
  35. package/src/core/FiberTreeWalker.ts +5 -0
  36. package/src/core/systemPrompt.ts +41 -3
  37. package/src/core/types.ts +21 -0
  38. package/src/index.ts +1 -0
@@ -91,9 +91,43 @@ const SHARED_CAPABILITY = `- It is ok to fail the task. User would rather you re
91
91
  - The app can have bugs. If something is not working as expected, report it to the user.
92
92
  - Trying too hard can be harmful. If stuck, report partial progress rather than repeating failed actions.`;
93
93
 
94
+ /**
95
+ * Copilot mode rules — AI pauses once before final irreversible commit.
96
+ * Injected when interactionMode is 'copilot' (the default).
97
+ */
98
+ const COPILOT_RULES = `<copilot_mode>
99
+ You are in COPILOT mode. This means:
100
+
101
+ Execute ALL intermediate actions SILENTLY — no confirmation needed:
102
+ - Navigating between screens, tabs, menus
103
+ - Scrolling to find content
104
+ - Typing into form fields
105
+ - Selecting options, filters, categories
106
+ - Adding items to cart (user can remove later)
107
+ - Opening/closing dialogs or details
108
+ - Toggling form controls while filling a form
109
+
110
+ PAUSE only when you reach the FINAL action that IRREVERSIBLY commits
111
+ the user's change. Use ask_user to summarize what you have done so far
112
+ and ask permission BEFORE tapping the commit button. Examples of commit actions:
113
+ - Placing an order / completing a purchase
114
+ - Submitting a form that sends data
115
+ - Deleting something (account, item, message)
116
+ - Confirming a payment or transaction
117
+ - Sending a message or email
118
+ - Saving account/profile changes
119
+
120
+ Elements marked with aiConfirm in the element tree are developer-flagged
121
+ as requiring confirmation. Treat them as commit actions regardless of context.
122
+
123
+ Call ask_user EXACTLY ONCE per task — at the final commit moment, not at
124
+ every step. If the task has no irreversible commit (e.g., "show me my orders",
125
+ "find the cheapest item"), complete the task without pausing.
126
+ </copilot_mode>`;
127
+
94
128
  // ─── Text Agent Prompt ──────────────────────────────────────────────────────
95
129
 
96
- export function buildSystemPrompt(language, hasKnowledge = false) {
130
+ export function buildSystemPrompt(language, hasKnowledge = false, isCopilot = true) {
97
131
  const isArabic = language === 'ar';
98
132
  return `${CONFIDENTIALITY("I'm your app assistant — I can help you navigate and use this app. What would you like to do?")}
99
133
 
@@ -171,6 +205,8 @@ ${NAVIGATION_RULE}
171
205
  ${UI_SIMPLIFICATION_RULE}
172
206
  </rules>
173
207
 
208
+ ${isCopilot ? COPILOT_RULES : ''}
209
+
174
210
  <task_completion_rules>
175
211
  You must call the done action in one of these cases:
176
212
  - When you have fully completed the USER REQUEST.
@@ -189,8 +225,10 @@ The done action is your opportunity to communicate findings and provide a cohere
189
225
  - Use the text field to answer questions, summarize what you found, or explain what you did.
190
226
  - You are ONLY ALLOWED to call done as a single action. Do not call it together with other actions.
191
227
 
192
- The ask_user action should ONLY be used when the user gave an action request but you lack specific information to execute it (e.g., user says "order a pizza" but there are multiple options and you don't know which one).
193
- - Do NOT use ask_user to confirm actions the user explicitly requested. If they said "place my order", just do it.
228
+ The ask_user action should ONLY be used when:
229
+ - The user gave an action request but you lack specific information to execute it (e.g., user says "order a pizza" but there are multiple options and you don't know which one).
230
+ - You are in copilot mode and about to perform an irreversible commit action (see copilot_mode rules above).
231
+ - Do NOT use ask_user for routine confirmations the user already gave. If they said "place my order", proceed to the commit step and confirm there.
194
232
  - NEVER ask for the same confirmation twice. If the user already answered, proceed with their answer.
195
233
  - For destructive/purchase actions (place order, delete, pay), tap the button exactly ONCE. Do not repeat the same action — the user could be charged multiple times.
196
234
  </task_completion_rules>
@@ -1 +1 @@
1
- {"version":3,"names":["CONFIDENTIALITY","assistantDescription","SCREEN_STATE_GUIDE","CUSTOM_ACTIONS","NAVIGATION_RULE","SCREEN_FINDING_PROCEDURE","LAZY_LOADING_RULE","SECURITY_RULES","UI_SIMPLIFICATION_RULE","LANGUAGE_SETTINGS","isArabic","SHARED_CAPABILITY","buildSystemPrompt","language","hasKnowledge","buildVoiceSystemPrompt","userInstructions","prompt","trim","buildKnowledgeOnlyPrompt"],"sourceRoot":"../../../src","sources":["core/systemPrompt.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAMA,eAAe,GAAIC,oBAA4B,IAAK;AAC1D,kKAAkKA,oBAAoB;AACtL,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAG;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA,MAAMC,cAAc,GAAG;AACvB;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA,MAAMC,eAAe,GAAG,8gBAA8gB;;AAEtiB;AACA;AACA;AACA,MAAMC,wBAAwB,GAAG;AACjC;AACA;AACA;AACA,6KAA6K;;AAE7K;AACA;AACA;AACA,MAAMC,iBAAiB,GAAG,gXAAgX;;AAE1Y;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAG;AACvB;AACA,2JAA2J;;AAE3J;AACA;AACA;AACA,MAAMC,sBAAsB,GAAG,sTAAsT;;AAErV;AACA;AACA;AACA,MAAMC,iBAAiB,GAAIC,QAAiB,IAAK;AACjD,EAAEA,QAAQ,GAAG,oDAAoD,GAAG,sDAAsD;AAC1H;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,MAAMC,iBAAiB,GAAG;AAC1B;AACA;AACA,0GAA0G;;AAE1G;;AAEA,OAAO,SAASC,iBAAiBA,CAACC,QAAgB,EAAEC,YAAY,GAAG,KAAK,EAAU;EAChF,MAAMJ,QAAQ,GAAGG,QAAQ,KAAK,IAAI;EAElC,OAAO,GAAGb,eAAe,CAAC,+FAA+F,CAAC;AAC5H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAES,iBAAiB,CAACC,QAAQ,CAAC;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAER,kBAAkB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4HAA4HY,YAAY,GAAG;AAC3I,sQAAsQ,GAAG,EAAE;AAC3Q;AACA;AACA,EAAEX,cAAc;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+DW,YAAY,GAAG,uDAAuD,GAAG,EAAE,8CAA8CA,YAAY,GAAG,kBAAkB,GAAG,EAAE;AAC9N;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAET,wBAAwB;AAC1B;AACA;AACA,EAAEC,iBAAiB;AACnB;AACA;AACA;AACA,EAAEC,cAAc;AAChB,EAAEH,eAAe;AACjB,EAAEI,sBAAsB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAoFM,YAAY,GAAG;AACnG,qJAAqJ,GAAG,EAAE;AAC1J,EAAEH,iBAAiB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;;AAEA,OAAO,SAASI,sBAAsBA,CACpCF,QAAgB,EAChBG,gBAAyB,EACzBF,YAAY,GAAG,KAAK,EACZ;EACR,MAAMJ,QAAQ,GAAGG,QAAQ,KAAK,IAAI;EAElC,IAAII,MAAM,GAAG,GAAGjB,eAAe,CAAC,+FAA+F,CAAC;AAClI;AACA;AACA;AACA;AACA;AACA,EAAEE,kBAAkB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+DY,YAAY,GAAG;AAC9E,2OAA2O,GAAG,EAAE;AAChP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAEX,cAAc;AAChB;AACA;AACA;AACA;AACA,sDAAsDW,YAAY,GAAG,uDAAuD,GAAG,EAAE,8CAA8CA,YAAY,GAAG,kBAAkB,GAAG,EAAE;AACrN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAET,wBAAwB;AAC1B;AACA;AACA,EAAEC,iBAAiB;AACnB;AACA;AACA;AACA;AACA,EAAEC,cAAc;AAChB;AACA;AACA;AACA,EAAEH,eAAe;AACjB,EAAEI,sBAAsB;AACxB;AACA;AACA;AACA,iFAAiFM,YAAY,GAAG;AAChG,qJAAqJ,GAAG,EAAE;AAC1J;AACA,EAAEH,iBAAiB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAEF,iBAAiB,CAACC,QAAQ,CAAC,EAAE;EAE7B,IAAIM,gBAAgB,EAAEE,IAAI,CAAC,CAAC,EAAE;IAC5BD,MAAM,IAAI,2BAA2BD,gBAAgB,CAACE,IAAI,CAAC,CAAC,uBAAuB;EACrF;EAEA,OAAOD,MAAM;AACf;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,wBAAwBA,CACtCN,QAAgB,EAChBC,YAAqB,EACrBE,gBAAyB,EACjB;EACR,MAAMN,QAAQ,GAAGG,QAAQ,KAAK,IAAI;EAElC,IAAII,MAAM,GAAG,GAAGjB,eAAe,CAAC,mGAAmG,CAAC;AACtI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2GAA2Gc,YAAY,GAAG;AAC1H,2OAA2O,GAAG,EAAE;AAChP;AACA;AACA;AACA,kEAAkEA,YAAY,GAAG;AACjF,0IAA0I,GAAG,EAAE;AAC/I;AACA;AACA;AACA;AACA;AACA;AACA,EAAEL,iBAAiB,CAACC,QAAQ,CAAC,EAAE;EAE7B,IAAIM,gBAAgB,EAAEE,IAAI,CAAC,CAAC,EAAE;IAC5BD,MAAM,IAAI,2BAA2BD,gBAAgB,CAACE,IAAI,CAAC,CAAC,uBAAuB;EACrF;EAEA,OAAOD,MAAM;AACf","ignoreList":[]}
1
+ {"version":3,"names":["CONFIDENTIALITY","assistantDescription","SCREEN_STATE_GUIDE","CUSTOM_ACTIONS","NAVIGATION_RULE","SCREEN_FINDING_PROCEDURE","LAZY_LOADING_RULE","SECURITY_RULES","UI_SIMPLIFICATION_RULE","LANGUAGE_SETTINGS","isArabic","SHARED_CAPABILITY","COPILOT_RULES","buildSystemPrompt","language","hasKnowledge","isCopilot","buildVoiceSystemPrompt","userInstructions","prompt","trim","buildKnowledgeOnlyPrompt"],"sourceRoot":"../../../src","sources":["core/systemPrompt.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAMA,eAAe,GAAIC,oBAA4B,IAAK;AAC1D,kKAAkKA,oBAAoB;AACtL,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAG;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA,MAAMC,cAAc,GAAG;AACvB;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA,MAAMC,eAAe,GAAG,8gBAA8gB;;AAEtiB;AACA;AACA;AACA,MAAMC,wBAAwB,GAAG;AACjC;AACA;AACA;AACA,6KAA6K;;AAE7K;AACA;AACA;AACA,MAAMC,iBAAiB,GAAG,gXAAgX;;AAE1Y;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAG;AACvB;AACA,2JAA2J;;AAE3J;AACA;AACA;AACA,MAAMC,sBAAsB,GAAG,sTAAsT;;AAErV;AACA;AACA;AACA,MAAMC,iBAAiB,GAAIC,QAAiB,IAAK;AACjD,EAAEA,QAAQ,GAAG,oDAAoD,GAAG,sDAAsD;AAC1H;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,MAAMC,iBAAiB,GAAG;AAC1B;AACA;AACA,0GAA0G;;AAE1G;AACA;AACA;AACA;AACA,MAAMC,aAAa,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB;;AAEA,OAAO,SAASC,iBAAiBA,CAACC,QAAgB,EAAEC,YAAY,GAAG,KAAK,EAAEC,SAAS,GAAG,IAAI,EAAU;EAClG,MAAMN,QAAQ,GAAGI,QAAQ,KAAK,IAAI;EAElC,OAAO,GAAGd,eAAe,CAAC,+FAA+F,CAAC;AAC5H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAES,iBAAiB,CAACC,QAAQ,CAAC;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAER,kBAAkB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4HAA4Ha,YAAY,GAAG;AAC3I,sQAAsQ,GAAG,EAAE;AAC3Q;AACA;AACA,EAAEZ,cAAc;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+DY,YAAY,GAAG,uDAAuD,GAAG,EAAE,8CAA8CA,YAAY,GAAG,kBAAkB,GAAG,EAAE;AAC9N;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAEV,wBAAwB;AAC1B;AACA;AACA,EAAEC,iBAAiB;AACnB;AACA;AACA;AACA,EAAEC,cAAc;AAChB,EAAEH,eAAe;AACjB,EAAEI,sBAAsB;AACxB;AACA;AACA,EAAEQ,SAAS,GAAGJ,aAAa,GAAG,EAAE;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAoFG,YAAY,GAAG;AACnG,qJAAqJ,GAAG,EAAE;AAC1J,EAAEJ,iBAAiB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;;AAEA,OAAO,SAASM,sBAAsBA,CACpCH,QAAgB,EAChBI,gBAAyB,EACzBH,YAAY,GAAG,KAAK,EACZ;EACR,MAAML,QAAQ,GAAGI,QAAQ,KAAK,IAAI;EAElC,IAAIK,MAAM,GAAG,GAAGnB,eAAe,CAAC,+FAA+F,CAAC;AAClI;AACA;AACA;AACA;AACA;AACA,EAAEE,kBAAkB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+Da,YAAY,GAAG;AAC9E,2OAA2O,GAAG,EAAE;AAChP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAEZ,cAAc;AAChB;AACA;AACA;AACA;AACA,sDAAsDY,YAAY,GAAG,uDAAuD,GAAG,EAAE,8CAA8CA,YAAY,GAAG,kBAAkB,GAAG,EAAE;AACrN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAEV,wBAAwB;AAC1B;AACA;AACA,EAAEC,iBAAiB;AACnB;AACA;AACA;AACA;AACA,EAAEC,cAAc;AAChB;AACA;AACA;AACA,EAAEH,eAAe;AACjB,EAAEI,sBAAsB;AACxB;AACA;AACA;AACA,iFAAiFO,YAAY,GAAG;AAChG,qJAAqJ,GAAG,EAAE;AAC1J;AACA,EAAEJ,iBAAiB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAEF,iBAAiB,CAACC,QAAQ,CAAC,EAAE;EAE7B,IAAIQ,gBAAgB,EAAEE,IAAI,CAAC,CAAC,EAAE;IAC5BD,MAAM,IAAI,2BAA2BD,gBAAgB,CAACE,IAAI,CAAC,CAAC,uBAAuB;EACrF;EAEA,OAAOD,MAAM;AACf;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,wBAAwBA,CACtCP,QAAgB,EAChBC,YAAqB,EACrBG,gBAAyB,EACjB;EACR,MAAMR,QAAQ,GAAGI,QAAQ,KAAK,IAAI;EAElC,IAAIK,MAAM,GAAG,GAAGnB,eAAe,CAAC,mGAAmG,CAAC;AACtI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2GAA2Ge,YAAY,GAAG;AAC1H,2OAA2O,GAAG,EAAE;AAChP;AACA;AACA;AACA,kEAAkEA,YAAY,GAAG;AACjF,0IAA0I,GAAG,EAAE;AAC/I;AACA;AACA;AACA;AACA;AACA;AACA,EAAEN,iBAAiB,CAACC,QAAQ,CAAC,EAAE;EAE7B,IAAIQ,gBAAgB,EAAEE,IAAI,CAAC,CAAC,EAAE;IAC5BD,MAAM,IAAI,2BAA2BD,gBAAgB,CAACE,IAAI,CAAC,CAAC,uBAAuB;EACrF;EAEA,OAAOD,MAAM;AACf","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["AIAgent","AIZone","InfoCard","ReviewSummary","GeminiProvider","OpenAIProvider","createProvider","useAction","useAI","VoiceService","AudioInputService","AudioOutputService","KnowledgeBaseService","MobileAI","logger","SupportGreeting","CSATSurvey","buildSupportPrompt","createEscalateTool","EscalationSocket"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,OAAO,QAAQ,yBAAsB;AAC9C,SAASC,MAAM,QAAQ,wBAAqB;AAC5C;AACA;AACA,SAASC,QAAQ,QAAQ,gCAA6B;AACtD,SAASC,aAAa,QAAQ,qCAAkC;;AAEhE;AACA,SAASC,cAAc,QAAQ,+BAA4B;AAC3D,SAASC,cAAc,QAAQ,+BAA4B;AAC3D,SAASC,cAAc,QAAQ,gCAA6B;;AAE5D;AACA,SAASC,SAAS,EAAEC,KAAK,QAAQ,sBAAmB;;AAEpD;AACA,SAASC,YAAY,QAAQ,4BAAyB;AACtD,SAASC,iBAAiB,QAAQ,iCAA8B;AAChE,SAASC,kBAAkB,QAAQ,kCAA+B;AAClE,SAASC,oBAAoB,QAAQ,oCAAiC;;AAEtE;AACA,SAASC,QAAQ,QAAQ,+BAAsB;;AAE/C;AACA,SAASC,MAAM,QAAQ,mBAAgB;;AAEvC;;AA+BA;AACA;AACA;AACA;AACA,SAASC,eAAe,EAAEC,UAAU,EAAEC,kBAAkB,EAAEC,kBAAkB,EAAEC,gBAAgB,QAAQ,oBAAW","ignoreList":[]}
1
+ {"version":3,"names":["AIAgent","AIZone","InfoCard","ReviewSummary","GeminiProvider","OpenAIProvider","createProvider","useAction","useAI","VoiceService","AudioInputService","AudioOutputService","KnowledgeBaseService","MobileAI","logger","SupportGreeting","CSATSurvey","buildSupportPrompt","createEscalateTool","EscalationSocket"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,OAAO,QAAQ,yBAAsB;AAC9C,SAASC,MAAM,QAAQ,wBAAqB;AAC5C;AACA;AACA,SAASC,QAAQ,QAAQ,gCAA6B;AACtD,SAASC,aAAa,QAAQ,qCAAkC;;AAEhE;AACA,SAASC,cAAc,QAAQ,+BAA4B;AAC3D,SAASC,cAAc,QAAQ,+BAA4B;AAC3D,SAASC,cAAc,QAAQ,gCAA6B;;AAE5D;AACA,SAASC,SAAS,EAAEC,KAAK,QAAQ,sBAAmB;;AAEpD;AACA,SAASC,YAAY,QAAQ,4BAAyB;AACtD,SAASC,iBAAiB,QAAQ,iCAA8B;AAChE,SAASC,kBAAkB,QAAQ,kCAA+B;AAClE,SAASC,oBAAoB,QAAQ,oCAAiC;;AAEtE;AACA,SAASC,QAAQ,QAAQ,+BAAsB;;AAE/C;AACA,SAASC,MAAM,QAAQ,mBAAgB;;AAEvC;;AAgCA;AACA;AACA;AACA;AACA,SAASC,eAAe,EAAEC,UAAU,EAAEC,kBAAkB,EAAEC,kBAAkB,EAAEC,gBAAgB,QAAQ,oBAAW","ignoreList":[]}
@@ -8,7 +8,7 @@
8
8
  * - Agent runtime context for useAction hooks
9
9
  */
10
10
  import React from 'react';
11
- import type { ExecutionResult, ToolDefinition, AgentStep, TokenUsage, KnowledgeBaseConfig, ChatBarTheme, AIProviderName, ScreenMap, ProactiveHelpConfig } from '../core/types';
11
+ import type { ExecutionResult, ToolDefinition, AgentStep, TokenUsage, KnowledgeBaseConfig, ChatBarTheme, AIProviderName, ScreenMap, ProactiveHelpConfig, InteractionMode } from '../core/types';
12
12
  interface AIAgentProps {
13
13
  /**
14
14
  * API key (for local prototyping only).
@@ -173,7 +173,23 @@ interface AIAgentProps {
173
173
  * "fcm" is recommended for universal bare/Expo support.
174
174
  */
175
175
  pushTokenType?: 'fcm' | 'expo' | 'apns';
176
+ /**
177
+ * Controls how the agent handles irreversible UI actions.
178
+ * 'copilot' (default): AI pauses before final commit actions (place order, delete, submit).
179
+ * 'autopilot': Full autonomy — all actions execute without confirmation.
180
+ *
181
+ * In copilot mode, the AI works silently (navigates, fills forms, scrolls) and
182
+ * pauses ONCE before the final irreversible action. Elements with aiConfirm={true}
183
+ * also trigger a code-level confirmation gate as a safety net.
184
+ */
185
+ interactionMode?: InteractionMode;
186
+ /**
187
+ * Show a one-time discovery tooltip above the chat FAB.
188
+ * Tells new users the AI can navigate and interact with the app.
189
+ * Default: true (shows once, then remembered via AsyncStorage)
190
+ */
191
+ showDiscoveryTooltip?: boolean;
176
192
  }
177
- export declare function AIAgent({ apiKey, proxyUrl, proxyHeaders, voiceProxyUrl, voiceProxyHeaders, provider: providerName, model, navRef, maxSteps, showChatBar, children, onResult, interactiveBlacklist, interactiveWhitelist, onBeforeStep, onAfterStep, onBeforeTask, onAfterTask, transformScreenContent, customTools, instructions, stepDelay, mcpServerUrl, router, pathname, enableVoice, onTokenUsage, debug, knowledgeBase, knowledgeMaxTokens, enableUIControl, accentColor, theme, screenMap, useScreenMap, maxTokenBudget, maxCostUSD, analyticsKey, analyticsProxyUrl, analyticsProxyHeaders, proactiveHelp, userContext, pushToken, pushTokenType, }: AIAgentProps): import("react/jsx-runtime").JSX.Element;
193
+ export declare function AIAgent({ apiKey, proxyUrl, proxyHeaders, voiceProxyUrl, voiceProxyHeaders, provider: providerName, model, navRef, maxSteps, showChatBar, children, onResult, interactiveBlacklist, interactiveWhitelist, onBeforeStep, onAfterStep, onBeforeTask, onAfterTask, transformScreenContent, customTools, instructions, stepDelay, mcpServerUrl, router, pathname, enableVoice, onTokenUsage, debug, knowledgeBase, knowledgeMaxTokens, enableUIControl, accentColor, theme, screenMap, useScreenMap, maxTokenBudget, maxCostUSD, analyticsKey, analyticsProxyUrl, analyticsProxyHeaders, proactiveHelp, userContext, pushToken, pushTokenType, interactionMode, showDiscoveryTooltip: showDiscoveryTooltipProp, }: AIAgentProps): import("react/jsx-runtime").JSX.Element;
178
194
  export {};
179
195
  //# sourceMappingURL=AIAgent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AIAgent.d.ts","sourceRoot":"","sources":["../../../../src/components/AIAgent.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AIAgent.d.ts","sourceRoot":"","sources":["../../../../src/components/AIAgent.tsx"],"names":[],"mappings":"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"}
@@ -50,7 +50,11 @@ interface AgentChatBarProps {
50
50
  unreadCounts?: Record<string, number>;
51
51
  /** Total unread messages across all tickets */
52
52
  totalUnread?: number;
53
+ /** Show first-use discovery tooltip above FAB */
54
+ showDiscoveryTooltip?: boolean;
55
+ /** Called when discovery tooltip is dismissed */
56
+ onTooltipDismiss?: () => void;
53
57
  }
54
- export declare function AgentChatBar({ onSend, isThinking, lastResult, language, onDismiss, availableModes, mode, onModeChange, onMicToggle, onSpeakerToggle, isMicActive, isSpeakerMuted, isAISpeaking, isVoiceConnected, onStopSession, theme, tickets, selectedTicketId, onTicketSelect, autoExpandTrigger, lastUserMessage, unreadCounts, totalUnread, }: AgentChatBarProps): import("react/jsx-runtime").JSX.Element;
58
+ export declare function AgentChatBar({ onSend, isThinking, lastResult, language, onDismiss, availableModes, mode, onModeChange, onMicToggle, onSpeakerToggle, isMicActive, isSpeakerMuted, isAISpeaking, isVoiceConnected, onStopSession, theme, tickets, selectedTicketId, onTicketSelect, autoExpandTrigger, lastUserMessage, unreadCounts, totalUnread, showDiscoveryTooltip, onTooltipDismiss, }: AgentChatBarProps): import("react/jsx-runtime").JSX.Element;
55
59
  export {};
56
60
  //# sourceMappingURL=AgentChatBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentChatBar.d.ts","sourceRoot":"","sources":["../../../../src/components/AgentChatBar.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAUzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAKtD,UAAU,iBAAiB;IACzB,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;IAC7B,0BAA0B;IAC1B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,qBAAqB;IACrB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iCAAiC;IACjC,iCAAiC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,4BAA4B;IAC5B,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,0CAA0C;IAC1C,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,yCAAyC;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wCAAwC;IACxC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;IAC3B,8FAA8F;IAC9F,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAuVD,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,UAAU,EACV,UAAU,EACV,QAAQ,EACR,SAAS,EACT,cAAyB,EACzB,IAAa,EACb,YAAY,EACZ,WAAW,EACX,eAAe,EACf,WAAmB,EACnB,cAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,KAAK,EACL,OAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,iBAAqB,EACrB,eAAe,EACf,YAAiB,EACjB,WAAe,GAChB,EAAE,iBAAiB,2CA8NnB"}
1
+ {"version":3,"file":"AgentChatBar.d.ts","sourceRoot":"","sources":["../../../../src/components/AgentChatBar.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAUzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMtD,UAAU,iBAAiB;IACzB,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;IAC7B,0BAA0B;IAC1B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,qBAAqB;IACrB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iCAAiC;IACjC,iCAAiC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,4BAA4B;IAC5B,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,0CAA0C;IAC1C,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,yCAAyC;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wCAAwC;IACxC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;IAC3B,8FAA8F;IAC9F,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAuVD,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,UAAU,EACV,UAAU,EACV,QAAQ,EACR,SAAS,EACT,cAAyB,EACzB,IAAa,EACb,YAAY,EACZ,WAAW,EACX,eAAe,EACf,WAAmB,EACnB,cAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,KAAK,EACL,OAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,iBAAqB,EACrB,eAAe,EACf,YAAiB,EACjB,WAAe,EACf,oBAA4B,EAC5B,gBAAgB,GACjB,EAAE,iBAAiB,2CAyOnB"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * DiscoveryTooltip — One-time tooltip shown above the FAB on first use.
3
+ *
4
+ * Tells users the AI can navigate the app and do things for them.
5
+ * Shows once, then persists dismissal via AsyncStorage.
6
+ * Bilingual: EN/AR.
7
+ */
8
+ interface DiscoveryTooltipProps {
9
+ language: 'en' | 'ar';
10
+ primaryColor?: string;
11
+ onDismiss: () => void;
12
+ }
13
+ export declare function DiscoveryTooltip({ language, primaryColor, onDismiss, }: DiscoveryTooltipProps): import("react/jsx-runtime").JSX.Element;
14
+ export {};
15
+ //# sourceMappingURL=DiscoveryTooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiscoveryTooltip.d.ts","sourceRoot":"","sources":["../../../../src/components/DiscoveryTooltip.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AASD,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,YAAY,EACZ,SAAS,GACV,EAAE,qBAAqB,2CAoEvB"}
@@ -116,6 +116,13 @@ export declare class AgentRuntime {
116
116
  * Returns error string if validation fails, null if valid.
117
117
  */
118
118
  private validateToolArgs;
119
+ /** Write tools that can mutate state — only these are checked for aiConfirm */
120
+ private static readonly WRITE_TOOLS;
121
+ /**
122
+ * Check if a tool call targets an aiConfirm element and request user confirmation.
123
+ * Returns null if the action should proceed, or an error string if rejected.
124
+ */
125
+ private checkCopilotConfirmation;
119
126
  private getWalkConfig;
120
127
  private getInstructions;
121
128
  private observations;
@@ -1 +1 @@
1
- {"version":3,"file":"AgentRuntime.d.ts","sourceRoot":"","sources":["../../../../src/core/AgentRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAsBH,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EAEX,eAAe,EACf,cAAc,EAEf,MAAM,SAAS,CAAC;AAOjB,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,KAAK,CAA0C;IACvD,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,gBAAgB,CAAqC;IAC7D,OAAO,CAAC,iBAAiB,CAAC,CAAU;IACpC,OAAO,CAAC,kBAAkB,CAAa;IAMvC,OAAO,CAAC,oBAAoB,CAA4D;IACxF,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,gCAAgC,CAAkC;IAEnE,SAAS,IAAI,WAAW;gBAK7B,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,GAAG,EACZ,MAAM,EAAE,GAAG;IAuCb,OAAO,CAAC,oBAAoB;IA6L5B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAuClC;;;OAGG;IACH,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,iBAAiB;IAkBzB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAyBtB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IASzB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,oBAAoB;IAarB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAIxD,OAAO,CAAC,WAAW;IAKnB,gFAAgF;IAChF,OAAO,CAAC,kBAAkB;IAmC1B;;;;OAIG;YACW,iBAAiB;IA4B/B;;;;OAIG;IACI,gBAAgB,IAAI,MAAM;IAsEjC,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,qBAAqB;IAsC7B,gFAAgF;IACzE,QAAQ,IAAI,cAAc,EAAE;IAInC,yEAAyE;IAC5D,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAQlF;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,sBAAsB;IAgC9B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IA2B7B;;;;;;OAMG;YACW,iBAAiB;IA0C/B;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,cAAc,CAAc;IAEpC,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,kBAAkB;IA0HpB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAkV/G,qDAAqD;IACrD,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI;IAK3C,4CAA4C;IAC5C,YAAY,IAAI,OAAO;IAIvB;;;;OAIG;IACH,MAAM,IAAI,IAAI;CAMf"}
1
+ {"version":3,"file":"AgentRuntime.d.ts","sourceRoot":"","sources":["../../../../src/core/AgentRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAsBH,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EAEX,eAAe,EACf,cAAc,EAEf,MAAM,SAAS,CAAC;AAOjB,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,KAAK,CAA0C;IACvD,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,gBAAgB,CAAqC;IAC7D,OAAO,CAAC,iBAAiB,CAAC,CAAU;IACpC,OAAO,CAAC,kBAAkB,CAAa;IAMvC,OAAO,CAAC,oBAAoB,CAA4D;IACxF,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,gCAAgC,CAAkC;IAEnE,SAAS,IAAI,WAAW;gBAK7B,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,GAAG,EACZ,MAAM,EAAE,GAAG;IAuCb,OAAO,CAAC,oBAAoB;IA6L5B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAuClC;;;OAGG;IACH,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,iBAAiB;IAkBzB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAyBtB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IASzB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,oBAAoB;IAarB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAIxD,OAAO,CAAC,WAAW;IAKnB,gFAAgF;IAChF,OAAO,CAAC,kBAAkB;IAmC1B;;;;OAIG;YACW,iBAAiB;IA4B/B;;;;OAIG;IACI,gBAAgB,IAAI,MAAM;IAsEjC,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,qBAAqB;IAsC7B,gFAAgF;IACzE,QAAQ,IAAI,cAAc,EAAE;IAInC,yEAAyE;IAC5D,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAQlF;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,sBAAsB;IAgC9B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IA2B7B;;;;;;OAMG;YACW,iBAAiB;IAmD/B;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IA0BxB,+EAA+E;IAC/E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAEhC;IAEH;;;OAGG;YACW,wBAAwB;IA2DtC,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,cAAc,CAAc;IAEpC,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,kBAAkB;IA0HpB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IA2V/G,qDAAqD;IACrD,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI;IAK3C,4CAA4C;IAC5C,YAAY,IAAI,OAAO;IAIvB;;;;OAIG;IACH,MAAM,IAAI,IAAI;CAMf"}
@@ -1 +1 @@
1
- {"version":3,"file":"FiberTreeWalker.d.ts","sourceRoot":"","sources":["../../../../src/core/FiberTreeWalker.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAC;AAI/D,MAAM,WAAW,UAAU;IACzB,wCAAwC;IACxC,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,kDAAkD;IAClD,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA2ED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAQtD;AA+TD,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,kBAAkB,EAAE,CAAC;CACpC;AASD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,UAAU,CAsQ3E;AAsBD,MAAM,WAAW,mBAAmB;IAClC,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,SAAS,EAAE,GAAG,CAAC;IACf,mEAAmE;IACnE,SAAS,EAAE,GAAG,CAAC;IACf;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC;CACtB;AAwCD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,mBAAmB,EAAE,CA6DjG"}
1
+ {"version":3,"file":"FiberTreeWalker.d.ts","sourceRoot":"","sources":["../../../../src/core/FiberTreeWalker.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAC;AAI/D,MAAM,WAAW,UAAU;IACzB,wCAAwC;IACxC,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,kDAAkD;IAClD,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA2ED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAQtD;AA+TD,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,kBAAkB,EAAE,CAAC;CACpC;AASD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,UAAU,CA2Q3E;AAsBD,MAAM,WAAW,mBAAmB;IAClC,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,SAAS,EAAE,GAAG,CAAC;IACf,mEAAmE;IACnE,SAAS,EAAE,GAAG,CAAC;IACf;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC;CACtB;AAwCD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,mBAAmB,EAAE,CA6DjG"}
@@ -6,7 +6,7 @@
6
6
  * in sync — one change propagates everywhere. The prompt uses XML-style
7
7
  * tags to give the LLM clear, structured instructions.
8
8
  */
9
- export declare function buildSystemPrompt(language: string, hasKnowledge?: boolean): string;
9
+ export declare function buildSystemPrompt(language: string, hasKnowledge?: boolean, isCopilot?: boolean): string;
10
10
  export declare function buildVoiceSystemPrompt(language: string, userInstructions?: string, hasKnowledge?: boolean): string;
11
11
  /**
12
12
  * Build a knowledge-only system prompt (no UI control tools).
@@ -1 +1 @@
1
- {"version":3,"file":"systemPrompt.d.ts","sourceRoot":"","sources":["../../../../src/core/systemPrompt.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAsFH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,UAAQ,GAAG,MAAM,CA2JhF;AAID,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,gBAAgB,CAAC,EAAE,MAAM,EACzB,YAAY,UAAQ,GACnB,MAAM,CAoFR;AAID;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,OAAO,EACrB,gBAAgB,CAAC,EAAE,MAAM,GACxB,MAAM,CAqCR"}
1
+ {"version":3,"file":"systemPrompt.d.ts","sourceRoot":"","sources":["../../../../src/core/systemPrompt.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAwHH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,UAAQ,EAAE,SAAS,UAAO,GAAG,MAAM,CA+JlG;AAID,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,gBAAgB,CAAC,EAAE,MAAM,EACzB,YAAY,UAAQ,GACnB,MAAM,CAoFR;AAID;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,OAAO,EACrB,gBAAgB,CAAC,EAAE,MAAM,GACxB,MAAM,CAqCR"}
@@ -2,6 +2,14 @@
2
2
  * Core types for the React Native AI SDK.
3
3
  */
4
4
  export type AgentMode = 'text' | 'voice' | 'human';
5
+ /**
6
+ * Controls how the agent handles irreversible actions.
7
+ * 'copilot' (default): AI pauses before final commit actions (place order, delete, submit).
8
+ * The prompt instructs the AI to ask_user before the final irreversible step.
9
+ * Elements with aiConfirm={true} also trigger a code-level confirmation gate.
10
+ * 'autopilot': Full autonomy — all actions execute without confirmation.
11
+ */
12
+ export type InteractionMode = 'copilot' | 'autopilot';
5
13
  export type AIProviderName = 'gemini' | 'openai';
6
14
  export type ElementType = 'pressable' | 'text-input' | 'switch' | 'scrollable' | 'slider' | 'picker' | 'date-picker';
7
15
  export interface InteractiveElement {
@@ -27,6 +35,11 @@ export interface InteractiveElement {
27
35
  * - Switch: onValueChange, value
28
36
  */
29
37
  props: Record<string, any>;
38
+ /**
39
+ * If true, AI interaction with this element requires user confirmation (copilot safety net).
40
+ * Set automatically by the FiberTreeWalker when the element has aiConfirm={true} prop.
41
+ */
42
+ requiresConfirmation?: boolean;
30
43
  }
31
44
  export interface DehydratedScreen {
32
45
  /** Current screen name (from navigation state) */
@@ -89,6 +102,12 @@ export interface AgentConfig {
89
102
  model?: string;
90
103
  /** Maximum steps per task */
91
104
  maxSteps?: number;
105
+ /**
106
+ * Controls how the agent handles irreversible actions.
107
+ * 'copilot' (default): AI pauses before final commit actions.
108
+ * 'autopilot': Full autonomy, no pauses.
109
+ */
110
+ interactionMode?: InteractionMode;
92
111
  /**
93
112
  * MCP server mode — controls whether external agents can discover and invoke actions.
94
113
  * 'auto' (default): enabled in __DEV__, disabled in production
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ export { AudioOutputService } from './services/AudioOutputService';
18
18
  export { KnowledgeBaseService } from './services/KnowledgeBaseService';
19
19
  export { MobileAI } from './services/telemetry';
20
20
  export { logger } from './utils/logger';
21
- export type { AgentConfig, AgentMode, ExecutionResult, InteractiveElement, DehydratedScreen, ToolDefinition, ActionDefinition, TokenUsage, KnowledgeEntry, KnowledgeRetriever, KnowledgeBaseConfig, ChatBarTheme, AIMessage, AIProviderName, ScreenMap, ScreenMapEntry, } from './core/types';
21
+ export type { AgentConfig, AgentMode, ExecutionResult, InteractiveElement, DehydratedScreen, ToolDefinition, ActionDefinition, TokenUsage, KnowledgeEntry, KnowledgeRetriever, KnowledgeBaseConfig, ChatBarTheme, AIMessage, AIProviderName, ScreenMap, ScreenMapEntry, InteractionMode, } from './core/types';
22
22
  export type { VoiceServiceConfig, VoiceServiceCallbacks, VoiceStatus, } from './services/VoiceService';
23
23
  export type { TelemetryConfig, TelemetryEvent, } from './services/telemetry';
24
24
  export { SupportGreeting, CSATSurvey, buildSupportPrompt, createEscalateTool, EscalationSocket } from './support';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAGjE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAGvE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAGxC,YAAY,EACV,WAAW,EACX,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,cAAc,EACd,SAAS,EACT,cAAc,GACf,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACrB,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EACV,eAAe,EACf,cAAc,GACf,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElH,YAAY,EACV,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,aAAa,GACd,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAGjE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAGvE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAGxC,YAAY,EACV,WAAW,EACX,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,cAAc,EACd,SAAS,EACT,cAAc,EACd,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACrB,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EACV,eAAe,EACf,cAAc,GACf,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElH,YAAY,EACV,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,aAAa,GACd,MAAM,WAAW,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mobileai/react-native",
3
- "version": "0.9.12",
3
+ "version": "0.9.13",
4
4
  "description": "Build autonomous AI agents for React Native and Expo apps. Provides AI-native UI traversal, tool calling, and structured reasoning.",
5
5
  "main": "./lib/module/index.js",
6
6
  "source": "./src/index.ts",
@@ -30,7 +30,7 @@ import { AudioOutputService } from '../services/AudioOutputService';
30
30
  import { TelemetryService, bindTelemetryService } from '../services/telemetry';
31
31
  import { extractTouchLabel, checkRageClick } from '../services/telemetry/TouchAutoCapture';
32
32
  import { initDeviceId, getDeviceId } from '../services/telemetry/device';
33
- import type { AgentConfig, AgentMode, ExecutionResult, ToolDefinition, AgentStep, TokenUsage, KnowledgeBaseConfig, ChatBarTheme, AIMessage, AIProviderName, ScreenMap, ProactiveHelpConfig } from '../core/types';
33
+ import type { AgentConfig, AgentMode, ExecutionResult, ToolDefinition, AgentStep, TokenUsage, KnowledgeBaseConfig, ChatBarTheme, AIMessage, AIProviderName, ScreenMap, ProactiveHelpConfig, InteractionMode } from '../core/types';
34
34
  import { AgentErrorBoundary } from './AgentErrorBoundary';
35
35
  import { HighlightOverlay } from './HighlightOverlay';
36
36
  import { IdleDetector } from '../core/IdleDetector';
@@ -43,6 +43,30 @@ import { ENDPOINTS } from '../config/endpoints';
43
43
 
44
44
  // ─── Context ───────────────────────────────────────────────────
45
45
 
46
+ // ─── AsyncStorage Helper (same pattern as TicketStore) ─────────
47
+
48
+ /** Try to load AsyncStorage for tooltip persistence. Optional peer dep. */
49
+ function getTooltipStorage(): any | null {
50
+ try {
51
+ const origError = console.error;
52
+ console.error = (...args: unknown[]) => {
53
+ const msg = args[0];
54
+ if (typeof msg === 'string' && msg.includes('AsyncStorage')) return;
55
+ origError.apply(console, args);
56
+ };
57
+ try {
58
+ const mod = require('@react-native-async-storage/async-storage');
59
+ const candidate = mod?.default ?? mod?.AsyncStorage ?? null;
60
+ if (candidate && typeof candidate.getItem === 'function') return candidate;
61
+ return null;
62
+ } finally {
63
+ console.error = origError;
64
+ }
65
+ } catch {
66
+ return null;
67
+ }
68
+ }
69
+
46
70
  // ─── Props ─────────────────────────────────────────────────────
47
71
 
48
72
  interface AIAgentProps {
@@ -223,6 +247,24 @@ interface AIAgentProps {
223
247
  * "fcm" is recommended for universal bare/Expo support.
224
248
  */
225
249
  pushTokenType?: 'fcm' | 'expo' | 'apns';
250
+
251
+ /**
252
+ * Controls how the agent handles irreversible UI actions.
253
+ * 'copilot' (default): AI pauses before final commit actions (place order, delete, submit).
254
+ * 'autopilot': Full autonomy — all actions execute without confirmation.
255
+ *
256
+ * In copilot mode, the AI works silently (navigates, fills forms, scrolls) and
257
+ * pauses ONCE before the final irreversible action. Elements with aiConfirm={true}
258
+ * also trigger a code-level confirmation gate as a safety net.
259
+ */
260
+ interactionMode?: InteractionMode;
261
+
262
+ /**
263
+ * Show a one-time discovery tooltip above the chat FAB.
264
+ * Tells new users the AI can navigate and interact with the app.
265
+ * Default: true (shows once, then remembered via AsyncStorage)
266
+ */
267
+ showDiscoveryTooltip?: boolean;
226
268
  }
227
269
 
228
270
 
@@ -275,6 +317,8 @@ export function AIAgent({
275
317
  userContext,
276
318
  pushToken,
277
319
  pushTokenType,
320
+ interactionMode,
321
+ showDiscoveryTooltip: showDiscoveryTooltipProp = true,
278
322
  }: AIAgentProps) {
279
323
  // Configure logger based on debug prop
280
324
  React.useEffect(() => {
@@ -319,6 +363,33 @@ export function AIAgent({
319
363
 
320
364
  const totalUnread = Object.values(unreadCounts).reduce((sum, count) => sum + count, 0);
321
365
 
366
+ // ── Discovery Tooltip (one-time) ──────────────────────────
367
+ const [tooltipVisible, setTooltipVisible] = useState(false);
368
+
369
+ useEffect(() => {
370
+ if (!showDiscoveryTooltipProp) return;
371
+ void (async () => {
372
+ try {
373
+ const AS = getTooltipStorage();
374
+ if (!AS) { setTooltipVisible(true); return; }
375
+ const seen = await AS.getItem('@mobileai_tooltip_seen');
376
+ if (!seen) setTooltipVisible(true);
377
+ } catch {
378
+ setTooltipVisible(true);
379
+ }
380
+ })();
381
+ }, [showDiscoveryTooltipProp]);
382
+
383
+ const handleTooltipDismiss = useCallback(() => {
384
+ setTooltipVisible(false);
385
+ void (async () => {
386
+ try {
387
+ const AS = getTooltipStorage();
388
+ await AS?.setItem('@mobileai_tooltip_seen', 'true');
389
+ } catch { /* graceful */ }
390
+ })();
391
+ }, []);
392
+
322
393
  // CRITICAL: clearSupport uses REFS and functional setters — never closure values.
323
394
  // This function is captured by long-lived callbacks (escalation sockets, restored
324
395
  // sockets) that may hold stale references. Using refs guarantees the current
@@ -870,6 +941,7 @@ export function AIAgent({
870
941
  screenMap: useScreenMap ? screenMap : undefined,
871
942
  maxTokenBudget,
872
943
  maxCostUSD,
944
+ interactionMode,
873
945
  // Block the agent loop until user responds
874
946
  onAskUser: mode === 'voice' ? undefined : ((question: string) => {
875
947
  return new Promise<string>((resolve) => {
@@ -1605,6 +1677,8 @@ export function AIAgent({
1605
1677
  autoExpandTrigger={autoExpandTrigger}
1606
1678
  unreadCounts={unreadCounts}
1607
1679
  totalUnread={totalUnread}
1680
+ showDiscoveryTooltip={tooltipVisible}
1681
+ onTooltipDismiss={handleTooltipDismiss}
1608
1682
  />
1609
1683
  </ProactiveHint>
1610
1684
  )}
@@ -30,6 +30,7 @@ import {
30
30
  } from './Icons';
31
31
  import type { SupportTicket } from '../support/types';
32
32
  import { logger } from '../utils/logger';
33
+ import { DiscoveryTooltip } from './DiscoveryTooltip';
33
34
 
34
35
  // ─── Props ─────────────────────────────────────────────────────
35
36
 
@@ -78,6 +79,10 @@ interface AgentChatBarProps {
78
79
  unreadCounts?: Record<string, number>;
79
80
  /** Total unread messages across all tickets */
80
81
  totalUnread?: number;
82
+ /** Show first-use discovery tooltip above FAB */
83
+ showDiscoveryTooltip?: boolean;
84
+ /** Called when discovery tooltip is dismissed */
85
+ onTooltipDismiss?: () => void;
81
86
  }
82
87
 
83
88
  // ─── Mode Selector ─────────────────────────────────────────────
@@ -445,6 +450,8 @@ export function AgentChatBar({
445
450
  lastUserMessage,
446
451
  unreadCounts = {},
447
452
  totalUnread = 0,
453
+ showDiscoveryTooltip = false,
454
+ onTooltipDismiss,
448
455
  }: AgentChatBarProps) {
449
456
  const [text, setText] = useState('');
450
457
  const [isExpanded, setIsExpanded] = useState(false);
@@ -531,11 +538,22 @@ export function AgentChatBar({
531
538
  >
532
539
  <Pressable
533
540
  style={[styles.fab, theme?.primaryColor ? { backgroundColor: theme.primaryColor } : undefined]}
534
- onPress={() => setIsExpanded(true)}
541
+ onPress={() => {
542
+ onTooltipDismiss?.();
543
+ setIsExpanded(true);
544
+ }}
535
545
  accessibilityLabel={totalUnread > 0 ? `Open AI Agent Chat - ${totalUnread} unread messages` : 'Open AI Agent Chat'}
536
546
  >
537
547
  {isThinking ? <LoadingDots size={28} color={theme?.textColor || '#fff'} /> : <AIBadge size={28} />}
538
548
  </Pressable>
549
+ {/* Discovery tooltip — shows above FAB on first use */}
550
+ {showDiscoveryTooltip && (
551
+ <DiscoveryTooltip
552
+ language={language}
553
+ primaryColor={theme?.primaryColor}
554
+ onDismiss={() => onTooltipDismiss?.()}
555
+ />
556
+ )}
539
557
  {/* Unread badge on collapsed FAB */}
540
558
  {totalUnread > 0 && (
541
559
  <View style={styles.fabUnreadBadge} pointerEvents="none">