jsfe 0.9.18 → 0.9.19

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 (2) hide show
  1. package/dist/index.js +4 -4
  2. package/package.json +2 -1
package/dist/index.js CHANGED
@@ -1566,10 +1566,10 @@ async function cleanVoiceInput(input, questionContext, engine) {
1566
1566
 
1567
1567
  Rules:
1568
1568
  - If the user clearly means "yes" (yes, yeah, yep, sure, okay, alright, umm yes, etc.) return "yes"
1569
- - If the user clearly means "no" (no, nope, nah, not really, etc.) return "no"
1570
- - For numbers, extract just the digits (e.g., "umm, it's 123456" → "123456")
1571
- - For emails, extract just the email address
1572
- - For phone numbers, extract just the number digits
1569
+ - If the user clearly means "no" (no, nope, nah, not really, etc.) return "no"
1570
+ - For numbers: Extract only the digits (e.g., "umm, it's 123456" → "123456"). Pay special attention to possible duplication if the user repeats themselves for clarification (e.g., "it's 123456, 123, 456" should be normalized to "123456").
1571
+ - For emails: This is one of the most challenging cases. If the user says something like "my email is john dot doe at example dot com," convert it to "john.doe@example.com." Users may also say "at gmail," "GM," "hotmail," or "hot mail." In these cases, convert the domain to the correct format (e.g., @gmail.com, @hotmail.com, etc.). By excelling at email normalization, you can truly save callers from intense frustration.
1572
+ - For phone numbers: Extract only the number digits. Pay close attention to potential duplication if the user repeats digits for clarification (e.g., "it's 8, 1, 8, 5, 5, 5, 1, 2, 3, 4, 818, 555, 1234" should be normalized to "8185551234").
1573
1573
  - For names, extract just the name parts
1574
1574
  - If unclear or ambiguous, return the input with just filler words removed
1575
1575
  - Always preserve the core semantic meaning
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jsfe",
3
- "version": "0.9.18",
3
+ "version": "0.9.19",
4
4
  "description": "TypeScript workflow engine for conversational/automation apps: multi-flow orchestration, interrupt/resume, stack-based control, robust errors, and flexible tool/REST integration.",
5
5
  "license": "MIT",
6
6
  "author": "Ron Pinkas",
@@ -40,6 +40,7 @@
40
40
  ],
41
41
  "devDependencies": {
42
42
  "@types/node": "^24.2.1",
43
+ "nodemailer": "^7.0.6",
43
44
  "twilio": "^5.8.2",
44
45
  "typescript": "^5.9.2"
45
46
  },