@vinaverse/react-native 0.1.0-alpha.6 → 0.1.0-alpha.8

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 (47) hide show
  1. package/README.md +36 -17
  2. package/dist/ask.cjs +9 -5
  3. package/dist/ask.d.cts +16 -3
  4. package/dist/ask.d.ts +16 -3
  5. package/dist/ask.js +3 -3
  6. package/dist/chat.cjs +76 -73
  7. package/dist/chat.d.cts +31 -8
  8. package/dist/chat.d.ts +31 -8
  9. package/dist/chat.js +2 -3
  10. package/dist/{chunk-OWUKWVEZ.cjs → chunk-6QYDPGRS.cjs} +46 -2
  11. package/dist/chunk-6QYDPGRS.cjs.map +1 -0
  12. package/dist/{chunk-Y7P7DDHD.js → chunk-7KPCO443.js} +13 -12
  13. package/dist/chunk-7KPCO443.js.map +1 -0
  14. package/dist/chunk-EFEXTVIT.js +88 -0
  15. package/dist/chunk-EFEXTVIT.js.map +1 -0
  16. package/dist/{chunk-H2Y2YW2Q.cjs → chunk-EXN5TNLU.cjs} +85 -80
  17. package/dist/chunk-EXN5TNLU.cjs.map +1 -0
  18. package/dist/{chunk-OGPMGGYS.cjs → chunk-MG32E4JI.cjs} +20 -13
  19. package/dist/chunk-MG32E4JI.cjs.map +1 -0
  20. package/dist/{chunk-643GOUTG.cjs → chunk-NMKJ7LIJ.cjs} +14 -13
  21. package/dist/chunk-NMKJ7LIJ.cjs.map +1 -0
  22. package/dist/{chunk-SF6LJTVJ.js → chunk-NXGLI4Y7.js} +39 -38
  23. package/dist/chunk-NXGLI4Y7.js.map +1 -0
  24. package/dist/{chunk-NJWRZ55G.js → chunk-POJP52GE.js} +16 -9
  25. package/dist/chunk-POJP52GE.js.map +1 -0
  26. package/dist/index.cjs +86 -83
  27. package/dist/index.d.cts +3 -3
  28. package/dist/index.d.ts +3 -3
  29. package/dist/index.js +4 -5
  30. package/dist/launcher.cjs +14 -11
  31. package/dist/launcher.d.cts +4 -3
  32. package/dist/launcher.d.ts +4 -3
  33. package/dist/launcher.js +3 -4
  34. package/package.json +22 -5
  35. package/dist/chunk-643GOUTG.cjs.map +0 -1
  36. package/dist/chunk-H2Y2YW2Q.cjs.map +0 -1
  37. package/dist/chunk-NJWRZ55G.js.map +0 -1
  38. package/dist/chunk-OGPMGGYS.cjs.map +0 -1
  39. package/dist/chunk-OWUKWVEZ.cjs.map +0 -1
  40. package/dist/chunk-PRXHS57U.js +0 -40
  41. package/dist/chunk-PRXHS57U.js.map +0 -1
  42. package/dist/chunk-PYPO6F7L.cjs +0 -44
  43. package/dist/chunk-PYPO6F7L.cjs.map +0 -1
  44. package/dist/chunk-SF6LJTVJ.js.map +0 -1
  45. package/dist/chunk-WKRCCPSN.js +0 -48
  46. package/dist/chunk-WKRCCPSN.js.map +0 -1
  47. package/dist/chunk-Y7P7DDHD.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/AgentLauncher.tsx"],"names":[],"mappings":";;;;;;;AA0CO,IAAM,aAAA,GAAgB;AAkGtB,SAAS,cAAc,KAAA,EAAsC;AAClE,EAAA,uBACE,GAAA,CAAC,gBAAa,MAAA,EAAQ,KAAA,CAAM,QAAQ,IAAA,EAAM,KAAA,CAAM,MAC9C,QAAA,kBAAA,GAAA,CAAC,aAAA,EAAA,EAAc,OAAO,KAAA,CAAM,KAAA,EAAO,aAAa,KAAA,CAAM,WAAA,EACpD,8BAAC,QAAA,EAAA,EAAU,GAAG,KAAA,EAAO,CAAA,EACvB,CAAA,EACF,CAAA;AAEJ;AAGO,SAAS,gBAAA,GAA4B;AAC1C,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAS,KAAK,CAAA;AACxC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,GAAA,GAAM,SAAS,EAAA,KAAO,KAAA;AAC5B,IAAA,MAAM,OAAO,QAAA,CAAS,WAAA;AAAA,MACpB,MAAM,kBAAA,GAAqB,iBAAA;AAAA,MAC3B,MAAM,SAAS,IAAI;AAAA,KACrB;AACA,IAAA,MAAM,OAAO,QAAA,CAAS,WAAA;AAAA,MACpB,MAAM,kBAAA,GAAqB,iBAAA;AAAA,MAC3B,MAAM,SAAS,KAAK;AAAA,KACtB;AACA,IAAA,OAAO,MAAM;AACX,MAAA,IAAA,CAAK,MAAA,EAAO;AACZ,MAAA,IAAA,CAAK,MAAA,EAAO;AAAA,IACd,CAAA;AAAA,EACF,CAAA,EAAG,EAAE,CAAA;AACL,EAAA,OAAO,KAAA;AACT;AAEA,SAAS,SAAS,KAAA,EAAsC;AACtD,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,OAAA,EAAQ;AACtB,EAAA,MAAM,IAAA,GAAO,YAAA,CAAa,CAAA,CAAE,mBAAmB,CAAC,CAAA;AAChD,EAAA,MAAM,WAAW,gBAAA,EAAiB;AAClC,EAAA,MAAM,gBAAgB,gBAAA,EAAiB;AACvC,EAAA,aAAA,CAAc,iBAAiB,CAAA;AAC/B,EAAA,MAAM,EAAE,KAAA,GAAQ,IAAA,EAAM,MAAA,EAAQ,MAAK,GAAI,KAAA;AACvC,EAAA,MAAM,OAAA,GACJ,KAAA,CAAM,MAAA,KAAW,IAAA,IACjB,EAAE,QAAA,IAAY,KAAA,CAAM,gBAAA,KAAqB,KAAA,CAAA,KACxC,CAAC,MAAA,IAAW,KAAA,KAAU,IAAA,IAAQ,MAAA,CAAO,SAAS,KAAK,CAAA,CAAA;AACtD,EAAA,MAAM,WAAW,gBAAA,CAAiB;AAAA,IAChC,SAAS,KAAA,CAAM,OAAA;AAAA,IACf,IAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA,EAAQ,MAAM,KAAA,CAAM,MAAA,CAAO,EAAE,KAAA,EAAO,IAAA,EAAM,UAAA,EAAY,UAAA,EAAY,CAAA;AAAA,IAClE,GAAI,MAAM,OAAA,GAAU,EAAE,SAAS,KAAA,CAAM,OAAA,KAAY,EAAC;AAAA,IAClD,GAAI,MAAM,UAAA,GAAa,EAAE,YAAY,KAAA,CAAM,UAAA,KAAe,EAAC;AAAA,IAC3D,GAAI,MAAM,OAAA,KAAY,MAAA,GAAY,EAAC,GAAI,EAAE,OAAA,EAAS,KAAA,CAAM,OAAA;AAAQ,GACjE,CAAA;AACD,EAAA,MAAM,OACJ,OAAO,KAAA,CAAM,QAAA,KAAa,UAAA,GACtB,MAAM,QAAA,CAAS,IAAI,CAAA,GAClB,KAAA,CAAM,YAAY,CAAA,CAAE,kBAAA,EAAoB,EAAE,KAAA,EAAO,MAAM,CAAA;AAC9D,EAAA,MAAM,GAAA,GAAM,MAAM,QAAA,IAAY,QAAA;AAC9B,EAAA,MAAM,IAAA,GAAO,OAAO,KAAK,CAAA;AACzB,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,SAAS,MAAA,EAAQ;AACpB,MAAA,IAAA,CAAK,OAAA,GAAU,KAAA;AACf,MAAA;AAAA,IACF;AACA,IAAA,IAAI,KAAK,OAAA,EAAS;AAClB,IAAA,IAAA,CAAK,OAAA,GAAU,IAAA;AACf,IAAA,GAAA,CAAI,IAAI,CAAA;AAAA,EACV,GAAG,CAAC,QAAA,CAAS,MAAA,EAAQ,IAAA,EAAM,GAAG,CAAC,CAAA;AAC/B,EAAA,IAAI,CAAC,QAAA,CAAS,KAAA,EAAO,OAAO,IAAA;AAC5B,EAAA,MAAM,IAAA,GAAO,KAAA,CAAM,SAAA,EAAW,IAAA,IAAQ,OAAA;AACtC,EAAA,MAAM,IAAA,GAAO,KAAA,CAAM,UAAA,IAAc,EAAC;AAClC,EAAA,MAAM,QAAA,GAAkC;AAAA,IACtC,IAAA;AAAA,IACA,UAAA,EAAY,EAAE,OAAO,CAAA;AAAA,IACrB,QAAQ,QAAA,CAAS,IAAA;AAAA,IACjB,SAAS,QAAA,CAAS,OAAA;AAAA,IAClB,IAAA,EAAM,KAAK,IAAA,KAAS,KAAA;AAAA,IACpB;AAAA,GACF;AACA,EAAA,MAAM,MAAA,GAA8B;AAAA,IAClC,OAAO,CAAA,CAAE,cAAA,EAAgB,EAAE,KAAA,EAAO,MAAM,CAAA;AAAA,IACxC,IAAA;AAAA,IACA,SAAS,QAAA,CAAS,IAAA;AAAA,IAClB,MAAM,KAAA,CAAM,IAAA;AAAA,IACZ,IAAA,EAAM,KAAK,IAAA,IAAQ,IAAA;AAAA,IACnB,MAAA,EAAQ,KAAK,MAAA,KAAW;AAAA,GAC1B;AACA,EAAA,MAAM,EAAE,QAAA,EAAU,MAAA,EAAQ,UAAS,GAAI,KAAA,CAAM,cAAc,EAAC;AAC5D,EAAA,MAAM,KAAA,GAAQ,CAAC,IAAA,EAAqC,QAAA,KAClD,QAAA,mBACE,GAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,IAAA;AAAA,MACA,aAAA;AAAA,MACA,OAAA,EAAS,gBAAA;AAAA,MAER;AAAA;AAAA,GACH,mBAEA,GAAA,CAAC,gBAAA,EAAA,EAAiB,IAAA,EAAY,eAC3B,QAAA,EACH,CAAA;AAEJ,EAAA,uBACE,IAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,aAAA,EAAc,UAAA;AAAA,MACd,KAAA,EAAO;AAAA,QACL;AAAA,UACE,QAAA,EAAU,UAAA;AAAA,UACV,MAAA,EAAQ,KAAA,CAAM,SAAA,EAAW,MAAA,IAAU,EAAA;AAAA,UACnC,CAAC,IAAI,GAAG,KAAA,CAAM,WAAW,KAAA,IAAS,EAAA;AAAA,UAClC,UAAA,EAAY,IAAA,KAAS,OAAA,GAAU,UAAA,GAAa,YAAA;AAAA,UAC5C,GAAA,EAAK;AAAA,SACP;AAAA,QACA,KAAA,CAAM;AAAA,OACR;AAAA,MACA,MAAA,EAAO,oBAAA;AAAA,MAEN,QAAA,EAAA;AAAA,QAAA,QAAA,CAAS,MAAA,GACN,KAAA;AAAA,UACE,UAAA;AAAA,UACA,QAAA,mBACE,GAAA,CAAC,QAAA,EAAA,EAAU,GAAG,QAAA,EAAU,OAAA,EAAS,gBAAA,EAAkB,CAAA,mBAEnD,GAAA,CAAC,gBAAA,EAAA,EAAkB,GAAG,QAAA,EAAU;AAAA,SAEpC,GACA,IAAA;AAAA,QACH,KAAA;AAAA,UACC,QAAA;AAAA,UACA,MAAA,mBACE,GAAA,CAAC,MAAA,EAAA,EAAQ,GAAG,MAAA,EAAQ,OAAA,EAAS,cAAA,EAAgB,CAAA,mBAE7C,GAAA,CAAC,cAAA,EAAA,EAAgB,GAAG,MAAA,EAAQ;AAAA;AAEhC;AAAA;AAAA,GACF;AAEJ;AAGO,SAAS,iBAAiB,KAAA,EAAyC;AACxE,EAAA,MAAM,EAAE,MAAA,EAAO,GAAI,QAAA,EAAS;AAC5B,EAAA,MAAM,KAAA,GAAQ,MAAA,CAAO,IAAI,QAAA,CAAS,KAAA,CAAM,MAAM,aAAA,GAAgB,CAAA,GAAI,CAAC,CAAC,CAAA,CAAE,OAAA;AACtE,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,MAAM,aAAA,EAAe;AACvB,MAAA,KAAA,CAAM,SAAS,CAAC,CAAA;AAChB,MAAA;AAAA,IACF;AACA,IAAA,MAAM,GAAA,GAAM,QAAA,CAAS,MAAA,CAAO,KAAA,EAAO;AAAA,MACjC,OAAA,EAAS,CAAA;AAAA,MACT,UAAU,MAAA,CAAO,MAAA;AAAA,MACjB,eAAA,EAAiB;AAAA,KAClB,CAAA;AACD,IAAA,GAAA,CAAI,KAAA,EAAM;AACV,IAAA,OAAO,MAAM,IAAI,IAAA,EAAK;AAAA,EACxB,GAAG,CAAC,KAAA,EAAO,MAAM,aAAA,EAAe,MAAA,CAAO,MAAM,CAAC,CAAA;AAC9C,EAAA,uBACE,GAAA;AAAA,IAAC,QAAA,CAAS,IAAA;AAAA,IAAT;AAAA,MACC,aAAA,EAAc,UAAA;AAAA,MACd,KAAA,EAAO;AAAA,QACL,OAAA,EAAS,KAAA;AAAA,QACT,SAAA,EAAW;AAAA,UACT;AAAA,YACE,KAAA,EAAO,MAAM,WAAA,CAAY;AAAA,cACvB,UAAA,EAAY,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,cACjB,WAAA,EAAa,CAAC,GAAA,EAAK,CAAC;AAAA,aACrB;AAAA;AACH;AACF,OACF;AAAA,MACA,MAAA,EAAQ,CAAA,4BAAA,EAA+B,KAAA,CAAM,IAAI,CAAA,CAAA;AAAA,MAEhD,QAAA,EAAA,KAAA,CAAM;AAAA;AAAA,GACT;AAEJ;AAGO,SAAS,iBAAiB,KAAA,EAAyC;AACxE,EAAA,MAAM,EAAE,MAAA,EAAQ,MAAA,EAAQ,KAAA,EAAO,IAAA,KAAS,QAAA,EAAS;AACjD,EAAA,uBACE,IAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO;AAAA,QACL,QAAA,EAAU,GAAA;AAAA,QACV,aAAA,EAAe,KAAA;AAAA,QACf,UAAA,EAAY,YAAA;AAAA,QACZ,cAAc,MAAA,CAAO,EAAA;AAAA,QACrB,iBAAiB,MAAA,CAAO;AAAA,OAC1B;AAAA,MACA,MAAA,EAAO,6BAAA;AAAA,MAEN,QAAA,EAAA;AAAA,QAAA,KAAA,CAAM,IAAA,mBACL,GAAA;AAAA,UAAC,IAAA;AAAA,UAAA;AAAA,YACC,UAAA,EAAY,KAAA;AAAA,YACZ,KAAA,EAAO;AAAA,cACL,QAAA,EAAU,UAAA;AAAA,cACV,MAAA,EAAQ,EAAA;AAAA,cACR,CAAC,KAAA,CAAM,IAAI,GAAG,gBAAgB,CAAA,GAAI,CAAA;AAAA,cAClC,KAAA,EAAO,EAAA;AAAA,cACP,MAAA,EAAQ,EAAA;AAAA,cACR,iBAAiB,MAAA,CAAO,IAAA;AAAA,cACxB,SAAA,EAAW,CAAC,EAAE,MAAA,EAAQ,SAAS;AAAA,aACjC;AAAA,YACA,MAAA,EAAO;AAAA;AAAA,SACT,GACE,IAAA;AAAA,wBACJ,GAAA;AAAA,UAAC,SAAA;AAAA,UAAA;AAAA,YACC,iBAAA,EAAkB,QAAA;AAAA,YAClB,oBAAoB,KAAA,CAAM,IAAA;AAAA,YAC1B,SAAS,KAAA,CAAM,MAAA;AAAA,YACf,KAAA,EAAO;AAAA,cACL,UAAA,EAAY,CAAA;AAAA,cACZ,iBAAiB,KAAA,CAAM,EAAA;AAAA,cACvB,aAAa,KAAA,CAAM;AAAA,aACrB;AAAA,YAEA,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,KAAA,EAAO,EAAE,KAAA,EAAO,MAAA,CAAO,UAAA,EAAY,QAAA,EAAU,IAAA,CAAK,IAAA,CAAK,EAAA,EAAG,EAC7D,gBAAM,IAAA,EACT;AAAA;AAAA,SACF;AAAA,wBACA,GAAA;AAAA,UAAC,SAAA;AAAA,UAAA;AAAA,YACC,iBAAA,EAAkB,QAAA;AAAA,YAClB,oBAAoB,KAAA,CAAM,UAAA;AAAA,YAC1B,SAAS,KAAA,CAAM,OAAA;AAAA,YACf,KAAA,EAAO;AAAA,cACL,QAAA,EAAU,EAAA;AAAA,cACV,SAAA,EAAW,EAAA;AAAA,cACX,UAAA,EAAY,QAAA;AAAA,cACZ,cAAA,EAAgB;AAAA,aAClB;AAAA,YACA,MAAA,EAAO,0BAAA;AAAA,YAEP,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,KAAA,EAAO,EAAE,KAAA,EAAO,MAAA,CAAO,UAAA,EAAY,QAAA,EAAU,IAAA,CAAK,IAAA,CAAK,EAAA,EAAG,EAAG,QAAA,EAAA,MAAA,EAEnE;AAAA;AAAA;AACF;AAAA;AAAA,GACF;AAEJ;AAGO,SAAS,eAAe,KAAA,EAAuC;AACpE,EAAA,MAAM,EAAE,MAAA,EAAQ,IAAA,EAAK,GAAI,QAAA,EAAS;AAClC,EAAA,MAAM,EAAE,IAAA,EAAM,IAAA,EAAK,GAAI,KAAA;AACvB,EAAA,uBACE,GAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,iBAAA,EAAkB,QAAA;AAAA,MAClB,oBAAoB,KAAA,CAAM,KAAA;AAAA,MAC1B,SAAS,KAAA,CAAM,OAAA;AAAA,MACf,KAAA,EAAO,CAAC,EAAE,OAAA,EAAQ,MAAO;AAAA,QACvB,KAAA,EAAO,aAAA;AAAA,QACP,MAAA,EAAQ,aAAA;AAAA,QACR,cAAc,aAAA,GAAgB,CAAA;AAAA,QAC9B,UAAA,EAAY,QAAA;AAAA,QACZ,cAAA,EAAgB,QAAA;AAAA,QAChB,iBAAiB,MAAA,CAAO,OAAA;AAAA,QACxB,OAAA,EAAS,UAAU,IAAA,GAAO,CAAA;AAAA,QAC1B,GAAI,IAAA,GAAO,EAAE,WAAA,EAAa,IAAA,CAAK,OAAO,WAAA,EAAa,IAAA,CAAK,KAAA,EAAM,GAAI,EAAC;AAAA,QACnE,GAAI,MAAM,MAAA,GACN;AAAA,UACE,SAAA,EAAW,CAAA;AAAA,UACX,WAAA,EAAa,MAAA;AAAA,UACb,aAAA,EAAe,GAAA;AAAA,UACf,YAAA,EAAc,CAAA;AAAA,UACd,YAAA,EAAc,EAAE,KAAA,EAAO,CAAA,EAAG,QAAQ,CAAA;AAAE,YAEtC;AAAC,OACP,CAAA;AAAA,MACA,MAAA,EAAO,2BAAA;AAAA,MAEN,QAAA,EAAA,IAAA,uBACE,IAAA,EAAA,EAAK,IAAA,EAAM,IAAI,KAAA,EAAO,MAAA,CAAO,WAAW,CAAA,mBAEzC,GAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,KAAA,EAAO;AAAA,YACL,OAAO,MAAA,CAAO,SAAA;AAAA,YACd,QAAA,EAAU,KAAK,IAAA,CAAK,EAAA;AAAA,YACpB,UAAA,EAAY;AAAA,WACd;AAAA,UAEE,iBAAM,IAAA,CAAK,IAAA,GAAO,CAAC,CAAA,IAAK,KAAK,WAAA;AAAY;AAAA;AAC7C;AAAA,GAEJ;AAEJ","file":"chunk-POJP52GE.js","sourcesContent":["// The agent's floating launcher: a round button over the app's screens and, once per person and mode, a greeting\n// bubble above it, read to screen readers as it appears. Where it shows is a policy: the routes the app allows, never\n// with the keyboard up, never while the app says it should step aside (a sheet, a map). The app places it (`placement`,\n// `style`), gives its brand mark (`Mark`), sets its ring, shadow and the bubble's tail (`appearance`), and can replace\n// the button, the bubble and how they come in (slots, each given the kit's own part; no motion when reduced).\nimport { type CopyOverrides, CopyProvider, useCopy } from '@vinaverse/react';\nimport {\n type GreetingStorage,\n useAgentLauncher,\n useAgentName,\n useAgentRuntime,\n} from '@vinaverse/react/agent';\nimport {\n type ComponentType,\n type ReactNode,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport {\n Animated,\n Keyboard,\n Platform,\n Pressable,\n type StyleProp,\n Text,\n View,\n type ViewStyle,\n} from 'react-native';\nimport {\n announce as platformAnnounce,\n useAgentSweep,\n useReducedMotion,\n} from '../platform.js';\nimport {\n type ColorSchemeSetting,\n type ThemeOverrides,\n ThemeProvider,\n useTheme,\n} from '../theme.js';\n\n/** The launcher's button side, in dp. */\nexport const LAUNCHER_SIZE = 56;\n\n/** The launcher's look: a ring around the button, its shadow, the bubble's tail toward it. */\nexport interface LauncherAppearance {\n /** Default none. */\n readonly ring?: { readonly color: string; readonly width: number } | null;\n /** Default true. */\n readonly shadow?: boolean;\n /** Default true. */\n readonly tail?: boolean;\n}\n\n/** Where it floats: the screen's edge, its distance from the bottom (above a tab bar) and from the side. */\nexport interface LauncherPlacement {\n /** Default `right`. */\n readonly edge?: 'left' | 'right';\n /** Default 16. */\n readonly bottom?: number;\n /** Default 16. */\n readonly inset?: number;\n}\n\nexport interface LauncherButtonProps {\n readonly label: string;\n readonly name: string;\n readonly onPress: () => void;\n readonly Mark:\n | ComponentType<{ readonly size: number; readonly color: string }>\n | undefined;\n readonly ring: { readonly color: string; readonly width: number } | null;\n readonly shadow: boolean;\n}\nexport interface LauncherGreetingProps {\n readonly text: string;\n readonly closeLabel: string;\n readonly onOpen: () => void;\n readonly onClose: () => void;\n readonly tail: boolean;\n readonly edge: 'left' | 'right';\n}\n/** How the button and the bubble come in; `reducedMotion` when the person asked for none. */\nexport interface LauncherEntranceProps {\n readonly part: 'button' | 'greeting';\n readonly reducedMotion: boolean;\n readonly children: ReactNode;\n}\ntype Slot<P> = ComponentType<P & { readonly Default: ComponentType<P> }>;\n\n/** Where the person opened the agent from: the app's route, the mode, and `entryPoint` to give the chat. */\nexport interface LauncherContext {\n readonly route: string | null;\n readonly mode: string;\n readonly entryPoint: 'launcher';\n}\n\nexport interface AgentLauncherProps {\n readonly subject: string | null;\n readonly mode: string;\n readonly onOpen: (from: LauncherContext) => void;\n /** The app's current route; with `routes`, the launcher shows only on those. */\n readonly route?: string | null;\n readonly routes?: readonly string[];\n /** The app says step aside (a sheet is up, a map with its own cards…). */\n readonly hidden?: boolean;\n /** Hidden while the keyboard is up. Default true. */\n readonly hideWithKeyboard?: boolean;\n /** Where it remembers the greeting was shown (the app's preferences store); default: for this launch only. */\n readonly storage?: GreetingStorage;\n /** The storage's key for a person and mode (a record the app already keeps); default `greetedKey`. */\n readonly storageKey?: (subject: string | null, mode: string) => string;\n /** The greeting's words, or by mode; default the copy's `launcherGreeting`. */\n readonly greeting?: string | ((mode: string) => string);\n /** How long after showing the greeting appears. Default 1200 ms. */\n readonly delayMs?: number;\n /** The app's brand mark inside the button; default the agent name's first letter. */\n readonly Mark?: ComponentType<{\n readonly size: number;\n readonly color: string;\n }>;\n /** Reads the greeting to a screen reader as it appears. Default: the platform's. */\n readonly announce?: (text: string) => void;\n readonly components?: {\n readonly Button?: Slot<LauncherButtonProps>;\n readonly Greeting?: Slot<LauncherGreetingProps>;\n /** Default: a short fade and scale; none with reduced motion. */\n readonly Entrance?: Slot<LauncherEntranceProps>;\n };\n readonly appearance?: LauncherAppearance;\n /** Where it floats over the app's screens; `style` comes after it, for anything else. */\n readonly placement?: LauncherPlacement;\n readonly style?: StyleProp<ViewStyle>;\n /** As on the chat: the person's locale, the app's words, theme and color scheme. */\n readonly locale?: string;\n readonly copy?: CopyOverrides;\n readonly theme?: ThemeOverrides;\n readonly colorScheme?: ColorSchemeSetting;\n}\n\nexport function AgentLauncher(props: AgentLauncherProps): ReactNode {\n return (\n <CopyProvider locale={props.locale} copy={props.copy}>\n <ThemeProvider theme={props.theme} colorScheme={props.colorScheme}>\n <Launcher {...props} />\n </ThemeProvider>\n </CopyProvider>\n );\n}\n\n/** Whether the keyboard is up: on iOS from the moment it starts to rise or fall, on Android (no `Will` events) once it has. */\nexport function useKeyboardShown(): boolean {\n const [shown, setShown] = useState(false);\n useEffect(() => {\n const ios = Platform.OS === 'ios';\n const show = Keyboard.addListener(\n ios ? 'keyboardWillShow' : 'keyboardDidShow',\n () => setShown(true),\n );\n const hide = Keyboard.addListener(\n ios ? 'keyboardWillHide' : 'keyboardDidHide',\n () => setShown(false),\n );\n return () => {\n show.remove();\n hide.remove();\n };\n }, []);\n return shown;\n}\n\nfunction Launcher(props: AgentLauncherProps): ReactNode {\n const { t } = useCopy();\n const name = useAgentName(t('agentFallbackName'));\n const keyboard = useKeyboardShown();\n const reducedMotion = useReducedMotion();\n useAgentSweep(useAgentRuntime());\n const { route = null, routes, mode } = props;\n const visible =\n props.hidden !== true &&\n !(keyboard && props.hideWithKeyboard !== false) &&\n (!routes || (route !== null && routes.includes(route)));\n const launcher = useAgentLauncher({\n subject: props.subject,\n mode,\n visible,\n onOpen: () => props.onOpen({ route, mode, entryPoint: 'launcher' }),\n ...(props.storage ? { storage: props.storage } : {}),\n ...(props.storageKey ? { storageKey: props.storageKey } : {}),\n ...(props.delayMs === undefined ? {} : { delayMs: props.delayMs }),\n });\n const text =\n typeof props.greeting === 'function'\n ? props.greeting(mode)\n : (props.greeting ?? t('launcherGreeting', { agent: name }));\n const say = props.announce ?? platformAnnounce;\n const said = useRef(false);\n useEffect(() => {\n if (!launcher.greets) {\n said.current = false;\n return;\n }\n if (said.current) return;\n said.current = true; // once per greeting, however often the app's `announce` changes\n say(text);\n }, [launcher.greets, text, say]);\n if (!launcher.shows) return null;\n const edge = props.placement?.edge ?? 'right';\n const look = props.appearance ?? {};\n const greeting: LauncherGreetingProps = {\n text,\n closeLabel: t('close'),\n onOpen: launcher.open,\n onClose: launcher.dismiss,\n tail: look.tail !== false,\n edge,\n };\n const button: LauncherButtonProps = {\n label: t('launcherOpen', { agent: name }),\n name,\n onPress: launcher.open,\n Mark: props.Mark,\n ring: look.ring ?? null,\n shadow: look.shadow !== false,\n };\n const { Greeting, Button, Entrance } = props.components ?? {};\n const enter = (part: LauncherEntranceProps['part'], children: ReactNode) =>\n Entrance ? (\n <Entrance\n part={part}\n reducedMotion={reducedMotion}\n Default={LauncherEntrance}\n >\n {children}\n </Entrance>\n ) : (\n <LauncherEntrance part={part} reducedMotion={reducedMotion}>\n {children}\n </LauncherEntrance>\n );\n return (\n <View\n pointerEvents=\"box-none\"\n style={[\n {\n position: 'absolute',\n bottom: props.placement?.bottom ?? 16,\n [edge]: props.placement?.inset ?? 16,\n alignItems: edge === 'right' ? 'flex-end' : 'flex-start',\n gap: 8,\n },\n props.style,\n ]}\n testID=\"vinaverse-launcher\"\n >\n {launcher.greets\n ? enter(\n 'greeting',\n Greeting ? (\n <Greeting {...greeting} Default={LauncherGreeting} />\n ) : (\n <LauncherGreeting {...greeting} />\n ),\n )\n : null}\n {enter(\n 'button',\n Button ? (\n <Button {...button} Default={LauncherButton} />\n ) : (\n <LauncherButton {...button} />\n ),\n )}\n </View>\n );\n}\n\n/** The kit's entrance: a short fade and scale up; none when the person asked for reduced motion. */\nexport function LauncherEntrance(props: LauncherEntranceProps): ReactNode {\n const { motion } = useTheme();\n const shown = useRef(new Animated.Value(props.reducedMotion ? 1 : 0)).current;\n useEffect(() => {\n if (props.reducedMotion) {\n shown.setValue(1);\n return;\n }\n const run = Animated.timing(shown, {\n toValue: 1,\n duration: motion.normal,\n useNativeDriver: true,\n });\n run.start();\n return () => run.stop();\n }, [shown, props.reducedMotion, motion.normal]);\n return (\n <Animated.View\n pointerEvents=\"box-none\"\n style={{\n opacity: shown,\n transform: [\n {\n scale: shown.interpolate({\n inputRange: [0, 1],\n outputRange: [0.9, 1],\n }),\n },\n ],\n }}\n testID={`vinaverse-launcher-entrance-${props.part}`}\n >\n {props.children}\n </Animated.View>\n );\n}\n\n/** The kit's greeting bubble: the words (a tap opens the agent), a close button, and a tail toward the button. */\nexport function LauncherGreeting(props: LauncherGreetingProps): ReactNode {\n const { colors, radius, space, font } = useTheme();\n return (\n <View\n style={{\n maxWidth: 296,\n flexDirection: 'row',\n alignItems: 'flex-start',\n borderRadius: radius.lg,\n backgroundColor: colors.text,\n }}\n testID=\"vinaverse-launcher-greeting\"\n >\n {props.tail ? (\n <View\n accessible={false}\n style={{\n position: 'absolute',\n bottom: -5,\n [props.edge]: LAUNCHER_SIZE / 2 - 6,\n width: 12,\n height: 12,\n backgroundColor: colors.text,\n transform: [{ rotate: '45deg' }],\n }}\n testID=\"vinaverse-launcher-tail\"\n />\n ) : null}\n <Pressable\n accessibilityRole=\"button\"\n accessibilityLabel={props.text}\n onPress={props.onOpen}\n style={{\n flexShrink: 1,\n paddingVertical: space.sm,\n paddingLeft: space.md,\n }}\n >\n <Text style={{ color: colors.background, fontSize: font.size.md }}>\n {props.text}\n </Text>\n </Pressable>\n <Pressable\n accessibilityRole=\"button\"\n accessibilityLabel={props.closeLabel}\n onPress={props.onClose}\n style={{\n minWidth: 44,\n minHeight: 44,\n alignItems: 'center',\n justifyContent: 'center',\n }}\n testID=\"vinaverse-launcher-close\"\n >\n <Text style={{ color: colors.background, fontSize: font.size.md }}>\n ×\n </Text>\n </Pressable>\n </View>\n );\n}\n\n/** The kit's round button: the app's mark, else the agent name's first letter; its ring and shadow as asked. */\nexport function LauncherButton(props: LauncherButtonProps): ReactNode {\n const { colors, font } = useTheme();\n const { Mark, ring } = props;\n return (\n <Pressable\n accessibilityRole=\"button\"\n accessibilityLabel={props.label}\n onPress={props.onPress}\n style={({ pressed }) => ({\n width: LAUNCHER_SIZE,\n height: LAUNCHER_SIZE,\n borderRadius: LAUNCHER_SIZE / 2,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: colors.primary,\n opacity: pressed ? 0.85 : 1,\n ...(ring ? { borderWidth: ring.width, borderColor: ring.color } : {}),\n ...(props.shadow\n ? {\n elevation: 6,\n shadowColor: '#000',\n shadowOpacity: 0.2,\n shadowRadius: 8,\n shadowOffset: { width: 0, height: 3 },\n }\n : {}),\n })}\n testID=\"vinaverse-launcher-button\"\n >\n {Mark ? (\n <Mark size={34} color={colors.onPrimary} />\n ) : (\n <Text\n style={{\n color: colors.onPrimary,\n fontSize: font.size.lg,\n fontWeight: '600',\n }}\n >\n {(props.name.trim()[0] ?? '?').toUpperCase()}\n </Text>\n )}\n </Pressable>\n );\n}\n"]}
package/dist/index.cjs CHANGED
@@ -1,296 +1,299 @@
1
1
  'use strict';
2
2
 
3
- var chunkH2Y2YW2Q_cjs = require('./chunk-H2Y2YW2Q.cjs');
4
- var chunkOGPMGGYS_cjs = require('./chunk-OGPMGGYS.cjs');
5
- var chunkPYPO6F7L_cjs = require('./chunk-PYPO6F7L.cjs');
6
- var chunk643GOUTG_cjs = require('./chunk-643GOUTG.cjs');
7
- var chunkOWUKWVEZ_cjs = require('./chunk-OWUKWVEZ.cjs');
3
+ var chunkEXN5TNLU_cjs = require('./chunk-EXN5TNLU.cjs');
4
+ var chunkMG32E4JI_cjs = require('./chunk-MG32E4JI.cjs');
5
+ var chunkNMKJ7LIJ_cjs = require('./chunk-NMKJ7LIJ.cjs');
6
+ var chunk6QYDPGRS_cjs = require('./chunk-6QYDPGRS.cjs');
8
7
 
9
8
 
10
9
 
11
10
  Object.defineProperty(exports, "ActivityLine", {
12
11
  enumerable: true,
13
- get: function () { return chunkH2Y2YW2Q_cjs.ActivityLine; }
12
+ get: function () { return chunkEXN5TNLU_cjs.ActivityLine; }
14
13
  });
15
14
  Object.defineProperty(exports, "AgentChat", {
16
15
  enumerable: true,
17
- get: function () { return chunkH2Y2YW2Q_cjs.AgentChat; }
16
+ get: function () { return chunkEXN5TNLU_cjs.AgentChat; }
18
17
  });
19
18
  Object.defineProperty(exports, "AgentFooter", {
20
19
  enumerable: true,
21
- get: function () { return chunkH2Y2YW2Q_cjs.AgentFooter; }
20
+ get: function () { return chunkEXN5TNLU_cjs.AgentFooter; }
22
21
  });
23
22
  Object.defineProperty(exports, "AgentRuntimeProvider", {
24
23
  enumerable: true,
25
- get: function () { return chunkH2Y2YW2Q_cjs.AgentRuntimeProvider; }
24
+ get: function () { return chunkEXN5TNLU_cjs.AgentRuntimeProvider; }
26
25
  });
27
26
  Object.defineProperty(exports, "Avatar", {
28
27
  enumerable: true,
29
- get: function () { return chunkH2Y2YW2Q_cjs.Avatar; }
28
+ get: function () { return chunkEXN5TNLU_cjs.Avatar; }
30
29
  });
31
30
  Object.defineProperty(exports, "Button", {
32
31
  enumerable: true,
33
- get: function () { return chunkH2Y2YW2Q_cjs.Button; }
32
+ get: function () { return chunkEXN5TNLU_cjs.Button; }
34
33
  });
35
34
  Object.defineProperty(exports, "CardActions", {
36
35
  enumerable: true,
37
- get: function () { return chunkH2Y2YW2Q_cjs.CardActions; }
36
+ get: function () { return chunkEXN5TNLU_cjs.CardActions; }
38
37
  });
39
38
  Object.defineProperty(exports, "CardCarousel", {
40
39
  enumerable: true,
41
- get: function () { return chunkH2Y2YW2Q_cjs.CardCarousel; }
40
+ get: function () { return chunkEXN5TNLU_cjs.CardCarousel; }
42
41
  });
43
42
  Object.defineProperty(exports, "CardFrame", {
44
43
  enumerable: true,
45
- get: function () { return chunkH2Y2YW2Q_cjs.CardFrame; }
44
+ get: function () { return chunkEXN5TNLU_cjs.CardFrame; }
46
45
  });
47
46
  Object.defineProperty(exports, "CardView", {
48
47
  enumerable: true,
49
- get: function () { return chunkH2Y2YW2Q_cjs.CardView; }
48
+ get: function () { return chunkEXN5TNLU_cjs.CardView; }
50
49
  });
51
50
  Object.defineProperty(exports, "ChatHeader", {
52
51
  enumerable: true,
53
- get: function () { return chunkH2Y2YW2Q_cjs.ChatHeader; }
52
+ get: function () { return chunkEXN5TNLU_cjs.ChatHeader; }
54
53
  });
55
54
  Object.defineProperty(exports, "ChatSkeleton", {
56
55
  enumerable: true,
57
- get: function () { return chunkH2Y2YW2Q_cjs.ChatSkeleton; }
56
+ get: function () { return chunkEXN5TNLU_cjs.ChatSkeleton; }
58
57
  });
59
58
  Object.defineProperty(exports, "Composer", {
60
59
  enumerable: true,
61
- get: function () { return chunkH2Y2YW2Q_cjs.Composer; }
60
+ get: function () { return chunkEXN5TNLU_cjs.Composer; }
62
61
  });
63
62
  Object.defineProperty(exports, "DefaultBubble", {
64
63
  enumerable: true,
65
- get: function () { return chunkH2Y2YW2Q_cjs.DefaultBubble; }
64
+ get: function () { return chunkEXN5TNLU_cjs.DefaultBubble; }
66
65
  });
67
66
  Object.defineProperty(exports, "DefaultComposer", {
68
67
  enumerable: true,
69
- get: function () { return chunkH2Y2YW2Q_cjs.DefaultComposer; }
68
+ get: function () { return chunkEXN5TNLU_cjs.DefaultComposer; }
70
69
  });
71
70
  Object.defineProperty(exports, "DefaultEnded", {
72
71
  enumerable: true,
73
- get: function () { return chunkH2Y2YW2Q_cjs.DefaultEnded; }
72
+ get: function () { return chunkEXN5TNLU_cjs.DefaultEnded; }
74
73
  });
75
74
  Object.defineProperty(exports, "DefaultHeader", {
76
75
  enumerable: true,
77
- get: function () { return chunkH2Y2YW2Q_cjs.DefaultHeader; }
76
+ get: function () { return chunkEXN5TNLU_cjs.DefaultHeader; }
78
77
  });
79
78
  Object.defineProperty(exports, "DefaultTurnFailed", {
80
79
  enumerable: true,
81
- get: function () { return chunkH2Y2YW2Q_cjs.DefaultTurnFailed; }
80
+ get: function () { return chunkEXN5TNLU_cjs.DefaultTurnFailed; }
82
81
  });
83
82
  Object.defineProperty(exports, "DefaultUnavailable", {
84
83
  enumerable: true,
85
- get: function () { return chunkH2Y2YW2Q_cjs.DefaultUnavailable; }
84
+ get: function () { return chunkEXN5TNLU_cjs.DefaultUnavailable; }
86
85
  });
87
86
  Object.defineProperty(exports, "DefaultUnavailableScreen", {
88
87
  enumerable: true,
89
- get: function () { return chunkH2Y2YW2Q_cjs.DefaultUnavailableScreen; }
88
+ get: function () { return chunkEXN5TNLU_cjs.DefaultUnavailableScreen; }
90
89
  });
91
90
  Object.defineProperty(exports, "DefaultUnreachable", {
92
91
  enumerable: true,
93
- get: function () { return chunkH2Y2YW2Q_cjs.DefaultUnreachable; }
92
+ get: function () { return chunkEXN5TNLU_cjs.DefaultUnreachable; }
94
93
  });
95
94
  Object.defineProperty(exports, "DisclosureBar", {
96
95
  enumerable: true,
97
- get: function () { return chunkH2Y2YW2Q_cjs.DisclosureBar; }
96
+ get: function () { return chunkEXN5TNLU_cjs.DisclosureBar; }
98
97
  });
99
98
  Object.defineProperty(exports, "FailureActionButton", {
100
99
  enumerable: true,
101
- get: function () { return chunkH2Y2YW2Q_cjs.FailureActionButton; }
100
+ get: function () { return chunkEXN5TNLU_cjs.FailureActionButton; }
102
101
  });
103
102
  Object.defineProperty(exports, "InfoCard", {
104
103
  enumerable: true,
105
- get: function () { return chunkH2Y2YW2Q_cjs.InfoCard; }
104
+ get: function () { return chunkEXN5TNLU_cjs.InfoCard; }
106
105
  });
107
106
  Object.defineProperty(exports, "LinksCard", {
108
107
  enumerable: true,
109
- get: function () { return chunkH2Y2YW2Q_cjs.LinksCard; }
108
+ get: function () { return chunkEXN5TNLU_cjs.LinksCard; }
110
109
  });
111
110
  Object.defineProperty(exports, "ListingCard", {
112
111
  enumerable: true,
113
- get: function () { return chunkH2Y2YW2Q_cjs.ListingCard; }
112
+ get: function () { return chunkEXN5TNLU_cjs.ListingCard; }
114
113
  });
115
114
  Object.defineProperty(exports, "MessageBubble", {
116
115
  enumerable: true,
117
- get: function () { return chunkH2Y2YW2Q_cjs.MessageBubble; }
116
+ get: function () { return chunkEXN5TNLU_cjs.MessageBubble; }
118
117
  });
119
118
  Object.defineProperty(exports, "MessageList", {
120
119
  enumerable: true,
121
- get: function () { return chunkH2Y2YW2Q_cjs.MessageList; }
120
+ get: function () { return chunkEXN5TNLU_cjs.MessageList; }
122
121
  });
123
122
  Object.defineProperty(exports, "NextStepCard", {
124
123
  enumerable: true,
125
- get: function () { return chunkH2Y2YW2Q_cjs.NextStepCard; }
124
+ get: function () { return chunkEXN5TNLU_cjs.NextStepCard; }
126
125
  });
127
126
  Object.defineProperty(exports, "ProposalCard", {
128
127
  enumerable: true,
129
- get: function () { return chunkH2Y2YW2Q_cjs.ProposalCard; }
128
+ get: function () { return chunkEXN5TNLU_cjs.ProposalCard; }
130
129
  });
131
130
  Object.defineProperty(exports, "QuestionCard", {
132
131
  enumerable: true,
133
- get: function () { return chunkH2Y2YW2Q_cjs.QuestionCard; }
132
+ get: function () { return chunkEXN5TNLU_cjs.QuestionCard; }
134
133
  });
135
134
  Object.defineProperty(exports, "Row", {
136
135
  enumerable: true,
137
- get: function () { return chunkH2Y2YW2Q_cjs.Row; }
136
+ get: function () { return chunkEXN5TNLU_cjs.Row; }
138
137
  });
139
138
  Object.defineProperty(exports, "StatusBanner", {
140
139
  enumerable: true,
141
- get: function () { return chunkH2Y2YW2Q_cjs.StatusBanner; }
140
+ get: function () { return chunkEXN5TNLU_cjs.StatusBanner; }
142
141
  });
143
142
  Object.defineProperty(exports, "StreamingBubble", {
144
143
  enumerable: true,
145
- get: function () { return chunkH2Y2YW2Q_cjs.StreamingBubble; }
144
+ get: function () { return chunkEXN5TNLU_cjs.StreamingBubble; }
146
145
  });
147
146
  Object.defineProperty(exports, "SystemRow", {
148
147
  enumerable: true,
149
- get: function () { return chunkH2Y2YW2Q_cjs.SystemRow; }
148
+ get: function () { return chunkEXN5TNLU_cjs.SystemRow; }
150
149
  });
151
150
  Object.defineProperty(exports, "TimeSlotsCard", {
152
151
  enumerable: true,
153
- get: function () { return chunkH2Y2YW2Q_cjs.TimeSlotsCard; }
152
+ get: function () { return chunkEXN5TNLU_cjs.TimeSlotsCard; }
154
153
  });
155
154
  Object.defineProperty(exports, "VinaverseChat", {
156
155
  enumerable: true,
157
- get: function () { return chunkH2Y2YW2Q_cjs.VinaverseChat; }
156
+ get: function () { return chunkEXN5TNLU_cjs.VinaverseChat; }
158
157
  });
159
158
  Object.defineProperty(exports, "VinaverseChatProvider", {
160
159
  enumerable: true,
161
- get: function () { return chunkH2Y2YW2Q_cjs.VinaverseChatProvider; }
160
+ get: function () { return chunkEXN5TNLU_cjs.VinaverseChatProvider; }
162
161
  });
163
162
  Object.defineProperty(exports, "Welcome", {
164
163
  enumerable: true,
165
- get: function () { return chunkH2Y2YW2Q_cjs.Welcome; }
164
+ get: function () { return chunkEXN5TNLU_cjs.Welcome; }
166
165
  });
167
166
  Object.defineProperty(exports, "allowedImage", {
168
167
  enumerable: true,
169
- get: function () { return chunkH2Y2YW2Q_cjs.allowedImage; }
168
+ get: function () { return chunkEXN5TNLU_cjs.allowedImage; }
170
169
  });
171
170
  Object.defineProperty(exports, "answerText", {
172
171
  enumerable: true,
173
- get: function () { return chunkH2Y2YW2Q_cjs.answerText; }
172
+ get: function () { return chunkEXN5TNLU_cjs.answerText; }
174
173
  });
175
174
  Object.defineProperty(exports, "carousels", {
176
175
  enumerable: true,
177
- get: function () { return chunkH2Y2YW2Q_cjs.carousels; }
176
+ get: function () { return chunkEXN5TNLU_cjs.carousels; }
178
177
  });
179
178
  Object.defineProperty(exports, "defaultCard", {
180
179
  enumerable: true,
181
- get: function () { return chunkH2Y2YW2Q_cjs.defaultCard; }
180
+ get: function () { return chunkEXN5TNLU_cjs.defaultCard; }
182
181
  });
183
182
  Object.defineProperty(exports, "fieldText", {
184
183
  enumerable: true,
185
- get: function () { return chunkH2Y2YW2Q_cjs.fieldText; }
184
+ get: function () { return chunkEXN5TNLU_cjs.fieldText; }
185
+ });
186
+ Object.defineProperty(exports, "forgetGreeting", {
187
+ enumerable: true,
188
+ get: function () { return chunkEXN5TNLU_cjs.forgetGreeting; }
186
189
  });
187
190
  Object.defineProperty(exports, "greetedKey", {
188
191
  enumerable: true,
189
- get: function () { return chunkH2Y2YW2Q_cjs.greetedKey; }
192
+ get: function () { return chunkEXN5TNLU_cjs.greetedKey; }
190
193
  });
191
194
  Object.defineProperty(exports, "itemType", {
192
195
  enumerable: true,
193
- get: function () { return chunkH2Y2YW2Q_cjs.itemType; }
196
+ get: function () { return chunkEXN5TNLU_cjs.itemType; }
194
197
  });
195
198
  Object.defineProperty(exports, "monogram", {
196
199
  enumerable: true,
197
- get: function () { return chunkH2Y2YW2Q_cjs.monogram; }
200
+ get: function () { return chunkEXN5TNLU_cjs.monogram; }
198
201
  });
199
202
  Object.defineProperty(exports, "newestWholeReply", {
200
203
  enumerable: true,
201
- get: function () { return chunkH2Y2YW2Q_cjs.newestWholeReply; }
204
+ get: function () { return chunkEXN5TNLU_cjs.newestWholeReply; }
202
205
  });
203
206
  Object.defineProperty(exports, "ratingText", {
204
207
  enumerable: true,
205
- get: function () { return chunkH2Y2YW2Q_cjs.ratingText; }
208
+ get: function () { return chunkEXN5TNLU_cjs.ratingText; }
206
209
  });
207
210
  Object.defineProperty(exports, "useAgentConversation", {
208
211
  enumerable: true,
209
- get: function () { return chunkH2Y2YW2Q_cjs.useAgentConversation; }
212
+ get: function () { return chunkEXN5TNLU_cjs.useAgentConversation; }
210
213
  });
211
214
  Object.defineProperty(exports, "useAgentFeatures", {
212
215
  enumerable: true,
213
- get: function () { return chunkH2Y2YW2Q_cjs.useAgentFeatures; }
216
+ get: function () { return chunkEXN5TNLU_cjs.useAgentFeatures; }
214
217
  });
215
218
  Object.defineProperty(exports, "useAgentLauncher", {
216
219
  enumerable: true,
217
- get: function () { return chunkH2Y2YW2Q_cjs.useAgentLauncher; }
220
+ get: function () { return chunkEXN5TNLU_cjs.useAgentLauncher; }
218
221
  });
219
222
  Object.defineProperty(exports, "useAgentName", {
220
223
  enumerable: true,
221
- get: function () { return chunkH2Y2YW2Q_cjs.useAgentName; }
224
+ get: function () { return chunkEXN5TNLU_cjs.useAgentName; }
222
225
  });
223
226
  Object.defineProperty(exports, "useAgentProfile", {
224
227
  enumerable: true,
225
- get: function () { return chunkH2Y2YW2Q_cjs.useAgentProfile; }
228
+ get: function () { return chunkEXN5TNLU_cjs.useAgentProfile; }
226
229
  });
227
230
  Object.defineProperty(exports, "useAgentRuntime", {
228
231
  enumerable: true,
229
- get: function () { return chunkH2Y2YW2Q_cjs.useAgentRuntime; }
232
+ get: function () { return chunkEXN5TNLU_cjs.useAgentRuntime; }
230
233
  });
231
234
  Object.defineProperty(exports, "useAgentStatus", {
232
235
  enumerable: true,
233
- get: function () { return chunkH2Y2YW2Q_cjs.useAgentStatus; }
236
+ get: function () { return chunkEXN5TNLU_cjs.useAgentStatus; }
234
237
  });
235
238
  Object.defineProperty(exports, "useChat", {
236
239
  enumerable: true,
237
- get: function () { return chunkH2Y2YW2Q_cjs.useChat; }
240
+ get: function () { return chunkEXN5TNLU_cjs.useChat; }
238
241
  });
239
242
  Object.defineProperty(exports, "AgentLauncher", {
240
243
  enumerable: true,
241
- get: function () { return chunkOGPMGGYS_cjs.AgentLauncher; }
244
+ get: function () { return chunkMG32E4JI_cjs.AgentLauncher; }
242
245
  });
243
246
  Object.defineProperty(exports, "LAUNCHER_SIZE", {
244
247
  enumerable: true,
245
- get: function () { return chunkOGPMGGYS_cjs.LAUNCHER_SIZE; }
248
+ get: function () { return chunkMG32E4JI_cjs.LAUNCHER_SIZE; }
246
249
  });
247
250
  Object.defineProperty(exports, "LauncherButton", {
248
251
  enumerable: true,
249
- get: function () { return chunkOGPMGGYS_cjs.LauncherButton; }
252
+ get: function () { return chunkMG32E4JI_cjs.LauncherButton; }
250
253
  });
251
254
  Object.defineProperty(exports, "LauncherEntrance", {
252
255
  enumerable: true,
253
- get: function () { return chunkOGPMGGYS_cjs.LauncherEntrance; }
256
+ get: function () { return chunkMG32E4JI_cjs.LauncherEntrance; }
254
257
  });
255
258
  Object.defineProperty(exports, "LauncherGreeting", {
256
259
  enumerable: true,
257
- get: function () { return chunkOGPMGGYS_cjs.LauncherGreeting; }
260
+ get: function () { return chunkMG32E4JI_cjs.LauncherGreeting; }
258
261
  });
259
262
  Object.defineProperty(exports, "useKeyboardShown", {
260
263
  enumerable: true,
261
- get: function () { return chunkOGPMGGYS_cjs.useKeyboardShown; }
264
+ get: function () { return chunkMG32E4JI_cjs.useKeyboardShown; }
262
265
  });
263
- Object.defineProperty(exports, "announce", {
266
+ Object.defineProperty(exports, "AskAboutRow", {
264
267
  enumerable: true,
265
- get: function () { return chunkPYPO6F7L_cjs.announce; }
268
+ get: function () { return chunkNMKJ7LIJ_cjs.AskAboutRow; }
266
269
  });
267
- Object.defineProperty(exports, "useNativeLifecycle", {
270
+ Object.defineProperty(exports, "ThemeProvider", {
268
271
  enumerable: true,
269
- get: function () { return chunkPYPO6F7L_cjs.useNativeLifecycle; }
272
+ get: function () { return chunk6QYDPGRS_cjs.ThemeProvider; }
270
273
  });
271
- Object.defineProperty(exports, "useReducedMotion", {
274
+ Object.defineProperty(exports, "announce", {
272
275
  enumerable: true,
273
- get: function () { return chunkPYPO6F7L_cjs.useReducedMotion; }
276
+ get: function () { return chunk6QYDPGRS_cjs.announce; }
274
277
  });
275
- Object.defineProperty(exports, "AskAboutRow", {
278
+ Object.defineProperty(exports, "createTheme", {
276
279
  enumerable: true,
277
- get: function () { return chunk643GOUTG_cjs.AskAboutRow; }
280
+ get: function () { return chunk6QYDPGRS_cjs.createTheme; }
278
281
  });
279
- Object.defineProperty(exports, "ThemeProvider", {
282
+ Object.defineProperty(exports, "themeProblems", {
280
283
  enumerable: true,
281
- get: function () { return chunkOWUKWVEZ_cjs.ThemeProvider; }
284
+ get: function () { return chunk6QYDPGRS_cjs.themeProblems; }
282
285
  });
283
- Object.defineProperty(exports, "createTheme", {
286
+ Object.defineProperty(exports, "useNativeLifecycle", {
284
287
  enumerable: true,
285
- get: function () { return chunkOWUKWVEZ_cjs.createTheme; }
288
+ get: function () { return chunk6QYDPGRS_cjs.useNativeLifecycle; }
286
289
  });
287
- Object.defineProperty(exports, "themeProblems", {
290
+ Object.defineProperty(exports, "useReducedMotion", {
288
291
  enumerable: true,
289
- get: function () { return chunkOWUKWVEZ_cjs.themeProblems; }
292
+ get: function () { return chunk6QYDPGRS_cjs.useReducedMotion; }
290
293
  });
291
294
  Object.defineProperty(exports, "useTheme", {
292
295
  enumerable: true,
293
- get: function () { return chunkOWUKWVEZ_cjs.useTheme; }
296
+ get: function () { return chunk6QYDPGRS_cjs.useTheme; }
294
297
  });
295
298
  //# sourceMappingURL=index.cjs.map
296
299
  //# sourceMappingURL=index.cjs.map
package/dist/index.d.cts CHANGED
@@ -1,8 +1,8 @@
1
- export { AgentRuntimeProvider, GreetingStorage, UseAgentConversation, UseAgentLauncher, greetedKey, useAgentConversation, useAgentFeatures, useAgentLauncher, useAgentName, useAgentProfile, useAgentRuntime, useAgentStatus } from '@vinaverse/react/agent';
2
- export { ActivityLine, AgentChat, AgentChatProps, AgentChatSlots, AgentEndedProps, AgentFooter, AgentFooterProps, AgentUnavailableScreenProps, AgentUnreachableProps, Avatar, Button, ButtonProps, CardActions, CardCarousel, CardFrame, CardGroupProps, CardProps, CardView, ChatHandlers, ChatHeader, ChatSkeleton, ChatSlots, Chip, Composer, ComposerProps, DefaultBubble, DefaultComposer, DefaultEnded, DefaultHeader, DefaultTurnFailed, DefaultUnavailable, DefaultUnavailableScreen, DefaultUnreachable, DisclosureBar, EmptyStateProps, FailureAction, FailureActionButton, FailureProps, FailureState, HeaderProps, ImagePolicy, InfoCard, LifecycleTarget, LinksCard, ListProps, ListingCard, MessageBubble, MessageBubbleProps, MessageList, NextStepCard, ProposalCard, ProposalDecision, QuestionCard, Row, StatusBanner, StreamingBubble, SystemRow, TimeSlotsCard, VinaverseChat, VinaverseChatProps, VinaverseChatProvider, Welcome, allowedImage, announce, answerText, carousels, defaultCard, fieldText, itemType, monogram, newestWholeReply, ratingText, useChat, useNativeLifecycle, useReducedMotion } from './chat.cjs';
1
+ export { AgentRuntimeProvider, GreetingStorage, UseAgentConversation, UseAgentLauncher, forgetGreeting, greetedKey, useAgentConversation, useAgentFeatures, useAgentLauncher, useAgentName, useAgentProfile, useAgentRuntime, useAgentStatus } from '@vinaverse/react/agent';
2
+ export { ActivityLine, AgentChat, AgentChatProps, AgentChatSlots, AgentEndedProps, AgentFooter, AgentFooterProps, AgentUnavailableScreenProps, AgentUnreachableProps, Avatar, Button, ButtonProps, CardActions, CardCarousel, CardFrame, CardGroupProps, CardProps, CardView, ChatHandlers, ChatHeader, ChatSkeleton, ChatSlots, ChatWarning, Chip, Composer, ComposerProps, DefaultBubble, DefaultComposer, DefaultEnded, DefaultHeader, DefaultTurnFailed, DefaultUnavailable, DefaultUnavailableScreen, DefaultUnreachable, DisclosureBar, EmptyStateProps, FailureAction, FailureActionButton, FailureProps, FailureState, HeaderProps, ImagePolicy, InfoCard, LifecycleTarget, LinksCard, ListProps, ListingCard, MessageBubble, MessageBubbleProps, MessageList, NextStepCard, ProposalCard, ProposalDecision, QuestionCard, Row, StatusBanner, StreamingBubble, SystemRow, TimeSlotsCard, VinaverseChat, VinaverseChatProps, VinaverseChatProvider, Welcome, allowedImage, announce, answerText, carousels, defaultCard, fieldText, itemType, monogram, newestWholeReply, ratingText, useChat, useNativeLifecycle, useReducedMotion } from './chat.cjs';
3
3
  export { C as ColorSchemeSetting, T as Theme, a as ThemeOverrides, b as ThemeProvider, c as createTheme, t as themeProblems, u as useTheme } from './theme-BhiEGv64.cjs';
4
4
  export { AgentLauncher, AgentLauncherProps, LAUNCHER_SIZE, LauncherAppearance, LauncherButton, LauncherButtonProps, LauncherContext, LauncherEntrance, LauncherEntranceProps, LauncherGreeting, LauncherGreetingProps, LauncherPlacement, useKeyboardShown } from './launcher.cjs';
5
- export { AskAboutRow, AskAboutRowProps } from './ask.cjs';
5
+ export { AskAboutRow, AskAboutRowAppearance, AskAboutRowProps } from './ask.cjs';
6
6
  import 'react';
7
7
  import '@vinaverse/client/conversation';
8
8
  import '@vinaverse/client/agent';
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- export { AgentRuntimeProvider, GreetingStorage, UseAgentConversation, UseAgentLauncher, greetedKey, useAgentConversation, useAgentFeatures, useAgentLauncher, useAgentName, useAgentProfile, useAgentRuntime, useAgentStatus } from '@vinaverse/react/agent';
2
- export { ActivityLine, AgentChat, AgentChatProps, AgentChatSlots, AgentEndedProps, AgentFooter, AgentFooterProps, AgentUnavailableScreenProps, AgentUnreachableProps, Avatar, Button, ButtonProps, CardActions, CardCarousel, CardFrame, CardGroupProps, CardProps, CardView, ChatHandlers, ChatHeader, ChatSkeleton, ChatSlots, Chip, Composer, ComposerProps, DefaultBubble, DefaultComposer, DefaultEnded, DefaultHeader, DefaultTurnFailed, DefaultUnavailable, DefaultUnavailableScreen, DefaultUnreachable, DisclosureBar, EmptyStateProps, FailureAction, FailureActionButton, FailureProps, FailureState, HeaderProps, ImagePolicy, InfoCard, LifecycleTarget, LinksCard, ListProps, ListingCard, MessageBubble, MessageBubbleProps, MessageList, NextStepCard, ProposalCard, ProposalDecision, QuestionCard, Row, StatusBanner, StreamingBubble, SystemRow, TimeSlotsCard, VinaverseChat, VinaverseChatProps, VinaverseChatProvider, Welcome, allowedImage, announce, answerText, carousels, defaultCard, fieldText, itemType, monogram, newestWholeReply, ratingText, useChat, useNativeLifecycle, useReducedMotion } from './chat.js';
1
+ export { AgentRuntimeProvider, GreetingStorage, UseAgentConversation, UseAgentLauncher, forgetGreeting, greetedKey, useAgentConversation, useAgentFeatures, useAgentLauncher, useAgentName, useAgentProfile, useAgentRuntime, useAgentStatus } from '@vinaverse/react/agent';
2
+ export { ActivityLine, AgentChat, AgentChatProps, AgentChatSlots, AgentEndedProps, AgentFooter, AgentFooterProps, AgentUnavailableScreenProps, AgentUnreachableProps, Avatar, Button, ButtonProps, CardActions, CardCarousel, CardFrame, CardGroupProps, CardProps, CardView, ChatHandlers, ChatHeader, ChatSkeleton, ChatSlots, ChatWarning, Chip, Composer, ComposerProps, DefaultBubble, DefaultComposer, DefaultEnded, DefaultHeader, DefaultTurnFailed, DefaultUnavailable, DefaultUnavailableScreen, DefaultUnreachable, DisclosureBar, EmptyStateProps, FailureAction, FailureActionButton, FailureProps, FailureState, HeaderProps, ImagePolicy, InfoCard, LifecycleTarget, LinksCard, ListProps, ListingCard, MessageBubble, MessageBubbleProps, MessageList, NextStepCard, ProposalCard, ProposalDecision, QuestionCard, Row, StatusBanner, StreamingBubble, SystemRow, TimeSlotsCard, VinaverseChat, VinaverseChatProps, VinaverseChatProvider, Welcome, allowedImage, announce, answerText, carousels, defaultCard, fieldText, itemType, monogram, newestWholeReply, ratingText, useChat, useNativeLifecycle, useReducedMotion } from './chat.js';
3
3
  export { C as ColorSchemeSetting, T as Theme, a as ThemeOverrides, b as ThemeProvider, c as createTheme, t as themeProblems, u as useTheme } from './theme-BhiEGv64.js';
4
4
  export { AgentLauncher, AgentLauncherProps, LAUNCHER_SIZE, LauncherAppearance, LauncherButton, LauncherButtonProps, LauncherContext, LauncherEntrance, LauncherEntranceProps, LauncherGreeting, LauncherGreetingProps, LauncherPlacement, useKeyboardShown } from './launcher.js';
5
- export { AskAboutRow, AskAboutRowProps } from './ask.js';
5
+ export { AskAboutRow, AskAboutRowAppearance, AskAboutRowProps } from './ask.js';
6
6
  import 'react';
7
7
  import '@vinaverse/client/conversation';
8
8
  import '@vinaverse/client/agent';
package/dist/index.js CHANGED
@@ -1,7 +1,6 @@
1
- export { ActivityLine, AgentChat, AgentFooter, AgentRuntimeProvider, Avatar, Button, CardActions, CardCarousel, CardFrame, CardView, ChatHeader, ChatSkeleton, Composer, DefaultBubble, DefaultComposer, DefaultEnded, DefaultHeader, DefaultTurnFailed, DefaultUnavailable, DefaultUnavailableScreen, DefaultUnreachable, DisclosureBar, FailureActionButton, InfoCard, LinksCard, ListingCard, MessageBubble, MessageList, NextStepCard, ProposalCard, QuestionCard, Row, StatusBanner, StreamingBubble, SystemRow, TimeSlotsCard, VinaverseChat, VinaverseChatProvider, Welcome, allowedImage, answerText, carousels, defaultCard, fieldText, greetedKey, itemType, monogram, newestWholeReply, ratingText, useAgentConversation, useAgentFeatures, useAgentLauncher, useAgentName, useAgentProfile, useAgentRuntime, useAgentStatus, useChat } from './chunk-SF6LJTVJ.js';
2
- export { AgentLauncher, LAUNCHER_SIZE, LauncherButton, LauncherEntrance, LauncherGreeting, useKeyboardShown } from './chunk-NJWRZ55G.js';
3
- export { announce, useNativeLifecycle, useReducedMotion } from './chunk-PRXHS57U.js';
4
- export { AskAboutRow } from './chunk-Y7P7DDHD.js';
5
- export { ThemeProvider, createTheme, themeProblems, useTheme } from './chunk-WKRCCPSN.js';
1
+ export { ActivityLine, AgentChat, AgentFooter, AgentRuntimeProvider, Avatar, Button, CardActions, CardCarousel, CardFrame, CardView, ChatHeader, ChatSkeleton, Composer, DefaultBubble, DefaultComposer, DefaultEnded, DefaultHeader, DefaultTurnFailed, DefaultUnavailable, DefaultUnavailableScreen, DefaultUnreachable, DisclosureBar, FailureActionButton, InfoCard, LinksCard, ListingCard, MessageBubble, MessageList, NextStepCard, ProposalCard, QuestionCard, Row, StatusBanner, StreamingBubble, SystemRow, TimeSlotsCard, VinaverseChat, VinaverseChatProvider, Welcome, allowedImage, answerText, carousels, defaultCard, fieldText, forgetGreeting, greetedKey, itemType, monogram, newestWholeReply, ratingText, useAgentConversation, useAgentFeatures, useAgentLauncher, useAgentName, useAgentProfile, useAgentRuntime, useAgentStatus, useChat } from './chunk-NXGLI4Y7.js';
2
+ export { AgentLauncher, LAUNCHER_SIZE, LauncherButton, LauncherEntrance, LauncherGreeting, useKeyboardShown } from './chunk-POJP52GE.js';
3
+ export { AskAboutRow } from './chunk-7KPCO443.js';
4
+ export { ThemeProvider, announce, createTheme, themeProblems, useNativeLifecycle, useReducedMotion, useTheme } from './chunk-EFEXTVIT.js';
6
5
  //# sourceMappingURL=index.js.map
7
6
  //# sourceMappingURL=index.js.map
package/dist/launcher.cjs CHANGED
@@ -1,48 +1,51 @@
1
1
  'use strict';
2
2
 
3
- var chunkOGPMGGYS_cjs = require('./chunk-OGPMGGYS.cjs');
4
- require('./chunk-PYPO6F7L.cjs');
5
- var chunkOWUKWVEZ_cjs = require('./chunk-OWUKWVEZ.cjs');
3
+ var chunkMG32E4JI_cjs = require('./chunk-MG32E4JI.cjs');
4
+ var chunk6QYDPGRS_cjs = require('./chunk-6QYDPGRS.cjs');
6
5
  var agent = require('@vinaverse/react/agent');
7
6
 
8
7
 
9
8
 
10
9
  Object.defineProperty(exports, "AgentLauncher", {
11
10
  enumerable: true,
12
- get: function () { return chunkOGPMGGYS_cjs.AgentLauncher; }
11
+ get: function () { return chunkMG32E4JI_cjs.AgentLauncher; }
13
12
  });
14
13
  Object.defineProperty(exports, "LAUNCHER_SIZE", {
15
14
  enumerable: true,
16
- get: function () { return chunkOGPMGGYS_cjs.LAUNCHER_SIZE; }
15
+ get: function () { return chunkMG32E4JI_cjs.LAUNCHER_SIZE; }
17
16
  });
18
17
  Object.defineProperty(exports, "LauncherButton", {
19
18
  enumerable: true,
20
- get: function () { return chunkOGPMGGYS_cjs.LauncherButton; }
19
+ get: function () { return chunkMG32E4JI_cjs.LauncherButton; }
21
20
  });
22
21
  Object.defineProperty(exports, "LauncherEntrance", {
23
22
  enumerable: true,
24
- get: function () { return chunkOGPMGGYS_cjs.LauncherEntrance; }
23
+ get: function () { return chunkMG32E4JI_cjs.LauncherEntrance; }
25
24
  });
26
25
  Object.defineProperty(exports, "LauncherGreeting", {
27
26
  enumerable: true,
28
- get: function () { return chunkOGPMGGYS_cjs.LauncherGreeting; }
27
+ get: function () { return chunkMG32E4JI_cjs.LauncherGreeting; }
29
28
  });
30
29
  Object.defineProperty(exports, "useKeyboardShown", {
31
30
  enumerable: true,
32
- get: function () { return chunkOGPMGGYS_cjs.useKeyboardShown; }
31
+ get: function () { return chunkMG32E4JI_cjs.useKeyboardShown; }
33
32
  });
34
33
  Object.defineProperty(exports, "ThemeProvider", {
35
34
  enumerable: true,
36
- get: function () { return chunkOWUKWVEZ_cjs.ThemeProvider; }
35
+ get: function () { return chunk6QYDPGRS_cjs.ThemeProvider; }
37
36
  });
38
37
  Object.defineProperty(exports, "useTheme", {
39
38
  enumerable: true,
40
- get: function () { return chunkOWUKWVEZ_cjs.useTheme; }
39
+ get: function () { return chunk6QYDPGRS_cjs.useTheme; }
41
40
  });
42
41
  Object.defineProperty(exports, "AgentRuntimeProvider", {
43
42
  enumerable: true,
44
43
  get: function () { return agent.AgentRuntimeProvider; }
45
44
  });
45
+ Object.defineProperty(exports, "forgetGreeting", {
46
+ enumerable: true,
47
+ get: function () { return agent.forgetGreeting; }
48
+ });
46
49
  Object.defineProperty(exports, "greetedKey", {
47
50
  enumerable: true,
48
51
  get: function () { return agent.greetedKey; }
@@ -1,5 +1,5 @@
1
1
  import { GreetingStorage } from '@vinaverse/react/agent';
2
- export { AgentRuntimeProvider, GreetingStorage, UseAgentConversation, UseAgentLauncher, greetedKey, useAgentConversation, useAgentFeatures, useAgentLauncher, useAgentName, useAgentProfile, useAgentRuntime, useAgentStatus } from '@vinaverse/react/agent';
2
+ export { AgentRuntimeProvider, GreetingStorage, UseAgentConversation, UseAgentLauncher, forgetGreeting, greetedKey, useAgentConversation, useAgentFeatures, useAgentLauncher, useAgentName, useAgentProfile, useAgentRuntime, useAgentStatus } from '@vinaverse/react/agent';
3
3
  import { CopyOverrides } from '@vinaverse/react';
4
4
  import { ComponentType, ReactNode } from 'react';
5
5
  import { StyleProp, ViewStyle } from 'react-native';
@@ -61,10 +61,11 @@ interface LauncherEntranceProps {
61
61
  type Slot<P> = ComponentType<P & {
62
62
  readonly Default: ComponentType<P>;
63
63
  }>;
64
- /** Where the person opened the agent from: the app's route, and the mode. */
64
+ /** Where the person opened the agent from: the app's route, the mode, and `entryPoint` to give the chat. */
65
65
  interface LauncherContext {
66
66
  readonly route: string | null;
67
67
  readonly mode: string;
68
+ readonly entryPoint: 'launcher';
68
69
  }
69
70
  interface AgentLauncherProps {
70
71
  readonly subject: string | null;
@@ -109,7 +110,7 @@ interface AgentLauncherProps {
109
110
  readonly colorScheme?: ColorSchemeSetting;
110
111
  }
111
112
  declare function AgentLauncher(props: AgentLauncherProps): ReactNode;
112
- /** Whether the keyboard is up. */
113
+ /** Whether the keyboard is up: on iOS from the moment it starts to rise or fall, on Android (no `Will` events) once it has. */
113
114
  declare function useKeyboardShown(): boolean;
114
115
  /** The kit's entrance: a short fade and scale up; none when the person asked for reduced motion. */
115
116
  declare function LauncherEntrance(props: LauncherEntranceProps): ReactNode;
@@ -1,5 +1,5 @@
1
1
  import { GreetingStorage } from '@vinaverse/react/agent';
2
- export { AgentRuntimeProvider, GreetingStorage, UseAgentConversation, UseAgentLauncher, greetedKey, useAgentConversation, useAgentFeatures, useAgentLauncher, useAgentName, useAgentProfile, useAgentRuntime, useAgentStatus } from '@vinaverse/react/agent';
2
+ export { AgentRuntimeProvider, GreetingStorage, UseAgentConversation, UseAgentLauncher, forgetGreeting, greetedKey, useAgentConversation, useAgentFeatures, useAgentLauncher, useAgentName, useAgentProfile, useAgentRuntime, useAgentStatus } from '@vinaverse/react/agent';
3
3
  import { CopyOverrides } from '@vinaverse/react';
4
4
  import { ComponentType, ReactNode } from 'react';
5
5
  import { StyleProp, ViewStyle } from 'react-native';
@@ -61,10 +61,11 @@ interface LauncherEntranceProps {
61
61
  type Slot<P> = ComponentType<P & {
62
62
  readonly Default: ComponentType<P>;
63
63
  }>;
64
- /** Where the person opened the agent from: the app's route, and the mode. */
64
+ /** Where the person opened the agent from: the app's route, the mode, and `entryPoint` to give the chat. */
65
65
  interface LauncherContext {
66
66
  readonly route: string | null;
67
67
  readonly mode: string;
68
+ readonly entryPoint: 'launcher';
68
69
  }
69
70
  interface AgentLauncherProps {
70
71
  readonly subject: string | null;
@@ -109,7 +110,7 @@ interface AgentLauncherProps {
109
110
  readonly colorScheme?: ColorSchemeSetting;
110
111
  }
111
112
  declare function AgentLauncher(props: AgentLauncherProps): ReactNode;
112
- /** Whether the keyboard is up. */
113
+ /** Whether the keyboard is up: on iOS from the moment it starts to rise or fall, on Android (no `Will` events) once it has. */
113
114
  declare function useKeyboardShown(): boolean;
114
115
  /** The kit's entrance: a short fade and scale up; none when the person asked for reduced motion. */
115
116
  declare function LauncherEntrance(props: LauncherEntranceProps): ReactNode;
package/dist/launcher.js CHANGED
@@ -1,6 +1,5 @@
1
- export { AgentLauncher, LAUNCHER_SIZE, LauncherButton, LauncherEntrance, LauncherGreeting, useKeyboardShown } from './chunk-NJWRZ55G.js';
2
- import './chunk-PRXHS57U.js';
3
- export { ThemeProvider, useTheme } from './chunk-WKRCCPSN.js';
4
- export { AgentRuntimeProvider, greetedKey, useAgentConversation, useAgentFeatures, useAgentLauncher, useAgentName, useAgentProfile, useAgentRuntime, useAgentStatus } from '@vinaverse/react/agent';
1
+ export { AgentLauncher, LAUNCHER_SIZE, LauncherButton, LauncherEntrance, LauncherGreeting, useKeyboardShown } from './chunk-POJP52GE.js';
2
+ export { ThemeProvider, useTheme } from './chunk-EFEXTVIT.js';
3
+ export { AgentRuntimeProvider, forgetGreeting, greetedKey, useAgentConversation, useAgentFeatures, useAgentLauncher, useAgentName, useAgentProfile, useAgentRuntime, useAgentStatus } from '@vinaverse/react/agent';
5
4
  //# sourceMappingURL=launcher.js.map
6
5
  //# sourceMappingURL=launcher.js.map