@testany/hephos 0.3.10 → 0.3.12

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.
@@ -7,6 +7,7 @@
7
7
  * - Adjacent deduplication
8
8
  * - Sensitive command filtering (keys, tokens, passwords)
9
9
  * - Safe exit with savedInput restoration
10
+ * - Mode-separated history (normal vs conversation)
10
11
  */
11
12
  import { useState, useCallback } from 'react';
12
13
  // Patterns that indicate sensitive content - don't add to history
@@ -35,13 +36,13 @@ function isSensitiveCommand(command) {
35
36
  /**
36
37
  * Check if entry should be added to history
37
38
  */
38
- function shouldAddToHistory(entry, lastEntry) {
39
+ function shouldAddToHistory(entry, lastEntry, mode) {
39
40
  // Empty or whitespace-only
40
41
  if (!entry.trim()) {
41
42
  return false;
42
43
  }
43
- // Adjacent duplicate
44
- if (lastEntry === entry) {
44
+ // Adjacent duplicate (same text AND same mode)
45
+ if (lastEntry && lastEntry.text === entry && lastEntry.mode === mode) {
45
46
  return false;
46
47
  }
47
48
  // Sensitive content
@@ -50,6 +51,18 @@ function shouldAddToHistory(entry, lastEntry) {
50
51
  }
51
52
  return true;
52
53
  }
54
+ /**
55
+ * Get indices of entries matching a specific mode
56
+ */
57
+ function getModeIndices(entries, mode) {
58
+ const indices = [];
59
+ for (let i = 0; i < entries.length; i++) {
60
+ if (entries[i].mode === mode) {
61
+ indices.push(i);
62
+ }
63
+ }
64
+ return indices;
65
+ }
53
66
  const DEFAULT_MAX_ENTRIES = 500;
54
67
  export function useHistory(options = {}) {
55
68
  const maxEntries = options.maxEntries ?? DEFAULT_MAX_ENTRIES;
@@ -58,21 +71,22 @@ export function useHistory(options = {}) {
58
71
  isActive: false,
59
72
  currentIndex: -1,
60
73
  savedInput: '',
74
+ activeMode: null,
61
75
  searchMode: false,
62
76
  searchQuery: '',
63
77
  searchResults: [],
64
78
  searchResultIndex: -1,
65
79
  });
66
80
  /**
67
- * Add a new entry to history
81
+ * Add a new entry to history with its mode
68
82
  */
69
- const addEntry = useCallback((entry) => {
83
+ const addEntry = useCallback((entry, mode) => {
70
84
  setState(prev => {
71
85
  const lastEntry = prev.entries[prev.entries.length - 1];
72
- if (!shouldAddToHistory(entry, lastEntry)) {
86
+ if (!shouldAddToHistory(entry, lastEntry, mode)) {
73
87
  return prev;
74
88
  }
75
- const newEntries = [...prev.entries, entry];
89
+ const newEntries = [...prev.entries, { text: entry, mode }];
76
90
  // Enforce max limit (FIFO)
77
91
  if (newEntries.length > maxEntries) {
78
92
  newEntries.shift();
@@ -84,67 +98,78 @@ export function useHistory(options = {}) {
84
98
  });
85
99
  }, [maxEntries]);
86
100
  /**
87
- * Navigate to previous (older) history entry
88
- * Returns the entry to display, or null if at end
101
+ * Navigate to previous (older) history entry within the specified mode
102
+ * Returns the entry text to display, or null if at end
89
103
  */
90
- const navigateUp = useCallback((currentInput) => {
104
+ const navigateUp = useCallback((currentInput, mode) => {
91
105
  let result = null;
92
106
  setState(prev => {
93
- if (prev.entries.length === 0) {
107
+ // Get indices of entries matching this mode
108
+ const modeIndices = getModeIndices(prev.entries, mode);
109
+ if (modeIndices.length === 0) {
94
110
  return prev;
95
111
  }
96
112
  // First time entering history mode
97
113
  if (!prev.isActive) {
98
- const newIndex = prev.entries.length - 1;
99
- result = prev.entries[newIndex];
114
+ // Start at the most recent entry for this mode
115
+ const newIndex = modeIndices[modeIndices.length - 1];
116
+ result = prev.entries[newIndex].text;
100
117
  return {
101
118
  ...prev,
102
119
  isActive: true,
103
120
  currentIndex: newIndex,
104
121
  savedInput: currentInput,
122
+ activeMode: mode,
105
123
  };
106
124
  }
107
- // Already in history mode, go to older entry
108
- if (prev.currentIndex > 0) {
109
- const newIndex = prev.currentIndex - 1;
110
- result = prev.entries[newIndex];
125
+ // Already in history mode, find previous entry in this mode
126
+ const currentModeIdx = modeIndices.findIndex(idx => idx === prev.currentIndex);
127
+ if (currentModeIdx > 0) {
128
+ const newIndex = modeIndices[currentModeIdx - 1];
129
+ result = prev.entries[newIndex].text;
111
130
  return {
112
131
  ...prev,
113
132
  currentIndex: newIndex,
114
133
  };
115
134
  }
116
- // At oldest entry, return current
117
- result = prev.entries[prev.currentIndex];
135
+ // At oldest entry for this mode, return current
136
+ if (prev.currentIndex >= 0 && prev.currentIndex < prev.entries.length) {
137
+ result = prev.entries[prev.currentIndex].text;
138
+ }
118
139
  return prev;
119
140
  });
120
141
  return result;
121
142
  }, []);
122
143
  /**
123
- * Navigate to next (newer) history entry
124
- * Returns the entry to display, or null if back to current input
144
+ * Navigate to next (newer) history entry within the active mode
145
+ * Returns the entry text to display, or savedInput if back to current input
125
146
  */
126
- const navigateDown = useCallback(() => {
147
+ const navigateDown = useCallback((mode) => {
127
148
  let result = null;
128
149
  setState(prev => {
129
150
  if (!prev.isActive) {
130
151
  return prev;
131
152
  }
132
- // Move to newer entry
133
- if (prev.currentIndex < prev.entries.length - 1) {
134
- const newIndex = prev.currentIndex + 1;
135
- result = prev.entries[newIndex];
153
+ // Get indices of entries matching this mode
154
+ const modeIndices = getModeIndices(prev.entries, mode);
155
+ // Find next entry in this mode
156
+ const currentModeIdx = modeIndices.findIndex(idx => idx === prev.currentIndex);
157
+ if (currentModeIdx >= 0 && currentModeIdx < modeIndices.length - 1) {
158
+ const newIndex = modeIndices[currentModeIdx + 1];
159
+ result = prev.entries[newIndex].text;
136
160
  return {
137
161
  ...prev,
138
162
  currentIndex: newIndex,
139
163
  };
140
164
  }
141
- // At newest entry, exit history mode and restore saved input
165
+ // At newest entry for this mode, exit history mode and restore saved input
142
166
  result = prev.savedInput;
143
167
  return {
144
168
  ...prev,
145
169
  isActive: false,
146
170
  currentIndex: -1,
147
171
  savedInput: '',
172
+ activeMode: null,
148
173
  };
149
174
  });
150
175
  return result;
@@ -162,13 +187,14 @@ export function useHistory(options = {}) {
162
187
  isActive: false,
163
188
  currentIndex: -1,
164
189
  savedInput: '',
190
+ activeMode: null,
165
191
  };
166
192
  });
167
193
  return savedInput;
168
194
  }, []);
169
195
  /**
170
196
  * Accept currently selected history entry
171
- * Returns the entry, or null if not in history mode
197
+ * Returns the entry text, or null if not in history mode
172
198
  */
173
199
  const acceptHistory = useCallback(() => {
174
200
  let result = null;
@@ -176,26 +202,27 @@ export function useHistory(options = {}) {
176
202
  if (!prev.isActive || prev.currentIndex < 0) {
177
203
  return prev;
178
204
  }
179
- result = prev.entries[prev.currentIndex];
205
+ result = prev.entries[prev.currentIndex].text;
180
206
  return {
181
207
  ...prev,
182
208
  isActive: false,
183
209
  currentIndex: -1,
184
210
  savedInput: '',
211
+ activeMode: null,
185
212
  };
186
213
  });
187
214
  return result;
188
215
  }, []);
189
216
  /**
190
- * Navigate up with prefix filtering
217
+ * Navigate up with prefix filtering (within mode)
191
218
  */
192
- const navigateUpFiltered = useCallback((currentInput, prefix) => {
219
+ const navigateUpFiltered = useCallback((currentInput, prefix, mode) => {
193
220
  let result = null;
194
221
  setState(prev => {
195
- // Find entries matching prefix
222
+ // Find entries matching prefix AND mode
196
223
  const matchingIndices = [];
197
224
  for (let i = 0; i < prev.entries.length; i++) {
198
- if (prev.entries[i].startsWith(prefix)) {
225
+ if (prev.entries[i].mode === mode && prev.entries[i].text.startsWith(prefix)) {
199
226
  matchingIndices.push(i);
200
227
  }
201
228
  }
@@ -205,43 +232,46 @@ export function useHistory(options = {}) {
205
232
  // First time entering history mode with filter
206
233
  if (!prev.isActive) {
207
234
  const newIndex = matchingIndices[matchingIndices.length - 1];
208
- result = prev.entries[newIndex];
235
+ result = prev.entries[newIndex].text;
209
236
  return {
210
237
  ...prev,
211
238
  isActive: true,
212
239
  currentIndex: newIndex,
213
240
  savedInput: currentInput,
241
+ activeMode: mode,
214
242
  };
215
243
  }
216
244
  // Find previous matching entry
217
245
  const currentMatchIdx = matchingIndices.findIndex(idx => idx === prev.currentIndex);
218
246
  if (currentMatchIdx > 0) {
219
247
  const newIndex = matchingIndices[currentMatchIdx - 1];
220
- result = prev.entries[newIndex];
248
+ result = prev.entries[newIndex].text;
221
249
  return {
222
250
  ...prev,
223
251
  currentIndex: newIndex,
224
252
  };
225
253
  }
226
254
  // At oldest matching entry
227
- result = prev.entries[prev.currentIndex];
255
+ if (prev.currentIndex >= 0 && prev.currentIndex < prev.entries.length) {
256
+ result = prev.entries[prev.currentIndex].text;
257
+ }
228
258
  return prev;
229
259
  });
230
260
  return result;
231
261
  }, []);
232
262
  /**
233
- * Navigate down with prefix filtering
263
+ * Navigate down with prefix filtering (within mode)
234
264
  */
235
- const navigateDownFiltered = useCallback((prefix) => {
265
+ const navigateDownFiltered = useCallback((prefix, mode) => {
236
266
  let result = null;
237
267
  setState(prev => {
238
268
  if (!prev.isActive) {
239
269
  return prev;
240
270
  }
241
- // Find entries matching prefix
271
+ // Find entries matching prefix AND mode
242
272
  const matchingIndices = [];
243
273
  for (let i = 0; i < prev.entries.length; i++) {
244
- if (prev.entries[i].startsWith(prefix)) {
274
+ if (prev.entries[i].mode === mode && prev.entries[i].text.startsWith(prefix)) {
245
275
  matchingIndices.push(i);
246
276
  }
247
277
  }
@@ -249,7 +279,7 @@ export function useHistory(options = {}) {
249
279
  const currentMatchIdx = matchingIndices.findIndex(idx => idx === prev.currentIndex);
250
280
  if (currentMatchIdx >= 0 && currentMatchIdx < matchingIndices.length - 1) {
251
281
  const newIndex = matchingIndices[currentMatchIdx + 1];
252
- result = prev.entries[newIndex];
282
+ result = prev.entries[newIndex].text;
253
283
  return {
254
284
  ...prev,
255
285
  currentIndex: newIndex,
@@ -262,32 +292,33 @@ export function useHistory(options = {}) {
262
292
  isActive: false,
263
293
  currentIndex: -1,
264
294
  savedInput: '',
295
+ activeMode: null,
265
296
  };
266
297
  });
267
298
  return result;
268
299
  }, []);
269
300
  /**
270
- * Helper function to find matching entries for a search query
301
+ * Helper function to find matching entries for a search query (within mode)
271
302
  */
272
- const findSearchMatches = (entries, query) => {
303
+ const findSearchMatches = (entries, query, mode) => {
273
304
  if (!query)
274
305
  return [];
275
306
  const lowerQuery = query.toLowerCase();
276
307
  const matches = [];
277
308
  for (let i = 0; i < entries.length; i++) {
278
- if (entries[i].toLowerCase().includes(lowerQuery)) {
309
+ if (entries[i].mode === mode && entries[i].text.toLowerCase().includes(lowerQuery)) {
279
310
  matches.push(i);
280
311
  }
281
312
  }
282
313
  return matches;
283
314
  };
284
315
  /**
285
- * Enter search mode (Ctrl+R)
316
+ * Enter search mode (Ctrl+R) - searches within the specified mode
286
317
  */
287
- const enterSearchMode = useCallback((currentInput) => {
318
+ const enterSearchMode = useCallback((currentInput, mode) => {
288
319
  setState(prev => {
289
- // Use current input as initial search query
290
- const searchResults = findSearchMatches(prev.entries, currentInput);
320
+ // Use current input as initial search query, filter by mode
321
+ const searchResults = findSearchMatches(prev.entries, currentInput, mode);
291
322
  const searchResultIndex = searchResults.length > 0 ? searchResults.length - 1 : -1;
292
323
  const currentIndex = searchResultIndex >= 0 ? searchResults[searchResultIndex] : -1;
293
324
  return {
@@ -299,23 +330,24 @@ export function useHistory(options = {}) {
299
330
  searchResultIndex,
300
331
  currentIndex,
301
332
  savedInput: currentInput,
333
+ activeMode: mode,
302
334
  };
303
335
  });
304
336
  }, []);
305
337
  /**
306
- * Update search query and find matches
307
- * Returns the first matching entry or null
338
+ * Update search query and find matches (uses activeMode from state)
339
+ * Returns the first matching entry text or null
308
340
  */
309
341
  const updateSearchQuery = useCallback((query) => {
310
342
  let result = null;
311
343
  setState(prev => {
312
- if (!prev.searchMode)
344
+ if (!prev.searchMode || !prev.activeMode)
313
345
  return prev;
314
- const searchResults = findSearchMatches(prev.entries, query);
346
+ const searchResults = findSearchMatches(prev.entries, query, prev.activeMode);
315
347
  const searchResultIndex = searchResults.length > 0 ? searchResults.length - 1 : -1;
316
348
  const currentIndex = searchResultIndex >= 0 ? searchResults[searchResultIndex] : -1;
317
349
  if (currentIndex >= 0) {
318
- result = prev.entries[currentIndex];
350
+ result = prev.entries[currentIndex].text;
319
351
  }
320
352
  return {
321
353
  ...prev,
@@ -341,7 +373,7 @@ export function useHistory(options = {}) {
341
373
  if (prev.searchResultIndex > 0) {
342
374
  const newSearchResultIndex = prev.searchResultIndex - 1;
343
375
  const newIndex = prev.searchResults[newSearchResultIndex];
344
- result = prev.entries[newIndex];
376
+ result = prev.entries[newIndex].text;
345
377
  return {
346
378
  ...prev,
347
379
  searchResultIndex: newSearchResultIndex,
@@ -349,7 +381,9 @@ export function useHistory(options = {}) {
349
381
  };
350
382
  }
351
383
  // At oldest match, stay there
352
- result = prev.entries[prev.currentIndex];
384
+ if (prev.currentIndex >= 0 && prev.currentIndex < prev.entries.length) {
385
+ result = prev.entries[prev.currentIndex].text;
386
+ }
353
387
  return prev;
354
388
  });
355
389
  return result;
@@ -368,7 +402,7 @@ export function useHistory(options = {}) {
368
402
  if (prev.searchResultIndex < prev.searchResults.length - 1) {
369
403
  const newSearchResultIndex = prev.searchResultIndex + 1;
370
404
  const newIndex = prev.searchResults[newSearchResultIndex];
371
- result = prev.entries[newIndex];
405
+ result = prev.entries[newIndex].text;
372
406
  return {
373
407
  ...prev,
374
408
  searchResultIndex: newSearchResultIndex,
@@ -376,7 +410,9 @@ export function useHistory(options = {}) {
376
410
  };
377
411
  }
378
412
  // At newest match, stay there
379
- result = prev.entries[prev.currentIndex];
413
+ if (prev.currentIndex >= 0 && prev.currentIndex < prev.entries.length) {
414
+ result = prev.entries[prev.currentIndex].text;
415
+ }
380
416
  return prev;
381
417
  });
382
418
  return result;
@@ -398,13 +434,14 @@ export function useHistory(options = {}) {
398
434
  searchResultIndex: -1,
399
435
  currentIndex: -1,
400
436
  savedInput: '',
437
+ activeMode: null,
401
438
  };
402
439
  });
403
440
  return savedInput;
404
441
  }, []);
405
442
  /**
406
443
  * Accept current search result
407
- * Returns the selected entry
444
+ * Returns the selected entry text
408
445
  */
409
446
  const acceptSearch = useCallback(() => {
410
447
  let result = null;
@@ -412,7 +449,7 @@ export function useHistory(options = {}) {
412
449
  if (!prev.searchMode || prev.currentIndex < 0) {
413
450
  return prev;
414
451
  }
415
- result = prev.entries[prev.currentIndex];
452
+ result = prev.entries[prev.currentIndex].text;
416
453
  return {
417
454
  ...prev,
418
455
  isActive: false,
@@ -422,34 +459,40 @@ export function useHistory(options = {}) {
422
459
  searchResultIndex: -1,
423
460
  currentIndex: -1,
424
461
  savedInput: '',
462
+ activeMode: null,
425
463
  };
426
464
  });
427
465
  return result;
428
466
  }, []);
429
467
  const DEFAULT_JUMP_STEP = 5;
430
468
  /**
431
- * Jump up multiple entries (Alt+↑ / PgUp)
469
+ * Jump up multiple entries within a mode (Alt+↑ / PgUp)
432
470
  */
433
- const jumpUp = useCallback((currentInput, step = DEFAULT_JUMP_STEP) => {
471
+ const jumpUp = useCallback((currentInput, mode, step = DEFAULT_JUMP_STEP) => {
434
472
  let result = null;
435
473
  setState(prev => {
436
- if (prev.entries.length === 0) {
474
+ const modeIndices = getModeIndices(prev.entries, mode);
475
+ if (modeIndices.length === 0) {
437
476
  return prev;
438
477
  }
439
478
  // First time entering history mode
440
479
  if (!prev.isActive) {
441
- const newIndex = Math.max(0, prev.entries.length - step);
442
- result = prev.entries[newIndex];
480
+ const targetModeIdx = Math.max(0, modeIndices.length - step);
481
+ const newIndex = modeIndices[targetModeIdx];
482
+ result = prev.entries[newIndex].text;
443
483
  return {
444
484
  ...prev,
445
485
  isActive: true,
446
486
  currentIndex: newIndex,
447
487
  savedInput: currentInput,
488
+ activeMode: mode,
448
489
  };
449
490
  }
450
- // Already in history mode, jump back
451
- const newIndex = Math.max(0, prev.currentIndex - step);
452
- result = prev.entries[newIndex];
491
+ // Already in history mode, jump back within mode
492
+ const currentModeIdx = modeIndices.findIndex(idx => idx === prev.currentIndex);
493
+ const targetModeIdx = Math.max(0, currentModeIdx - step);
494
+ const newIndex = modeIndices[targetModeIdx];
495
+ result = prev.entries[newIndex].text;
453
496
  return {
454
497
  ...prev,
455
498
  currentIndex: newIndex,
@@ -458,17 +501,19 @@ export function useHistory(options = {}) {
458
501
  return result;
459
502
  }, []);
460
503
  /**
461
- * Jump down multiple entries (Alt+↓ / PgDn)
504
+ * Jump down multiple entries within a mode (Alt+↓ / PgDn)
462
505
  */
463
- const jumpDown = useCallback((step = DEFAULT_JUMP_STEP) => {
506
+ const jumpDown = useCallback((mode, step = DEFAULT_JUMP_STEP) => {
464
507
  let result = null;
465
508
  setState(prev => {
466
509
  if (!prev.isActive) {
467
510
  return prev;
468
511
  }
469
- // Jump forward
470
- const newIndex = prev.currentIndex + step;
471
- if (newIndex >= prev.entries.length) {
512
+ const modeIndices = getModeIndices(prev.entries, mode);
513
+ const currentModeIdx = modeIndices.findIndex(idx => idx === prev.currentIndex);
514
+ // Jump forward within mode
515
+ const targetModeIdx = currentModeIdx + step;
516
+ if (targetModeIdx >= modeIndices.length) {
472
517
  // Exit history mode and restore saved input
473
518
  result = prev.savedInput;
474
519
  return {
@@ -476,9 +521,11 @@ export function useHistory(options = {}) {
476
521
  isActive: false,
477
522
  currentIndex: -1,
478
523
  savedInput: '',
524
+ activeMode: null,
479
525
  };
480
526
  }
481
- result = prev.entries[newIndex];
527
+ const newIndex = modeIndices[targetModeIdx];
528
+ result = prev.entries[newIndex].text;
482
529
  return {
483
530
  ...prev,
484
531
  currentIndex: newIndex,
@@ -490,6 +537,7 @@ export function useHistory(options = {}) {
490
537
  entries: state.entries,
491
538
  isActive: state.isActive,
492
539
  currentIndex: state.currentIndex,
540
+ activeMode: state.activeMode,
493
541
  searchMode: state.searchMode,
494
542
  searchQuery: state.searchQuery,
495
543
  addEntry,
@@ -510,5 +558,5 @@ export function useHistory(options = {}) {
510
558
  };
511
559
  }
512
560
  // Export for testing
513
- export { isSensitiveCommand, shouldAddToHistory };
561
+ export { isSensitiveCommand, shouldAddToHistory, getModeIndices };
514
562
  //# sourceMappingURL=useHistory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useHistory.js","sourceRoot":"","sources":["../../../src/repl/hooks/useHistory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useHistory.js","sourceRoot":"","sources":["../../../src/repl/hooks/useHistory.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@testany/hephos",
3
- "version": "0.3.10",
3
+ "version": "0.3.12",
4
4
  "description": "Hephos - full CLI+REPL bundle for multi-agent conversation orchestration (depends on agent-chatter core)",
5
5
  "type": "module",
6
6
  "main": "./out/cli.js",
@@ -32,6 +32,7 @@
32
32
  "ink-text-input": "^6.0.0",
33
33
  "inquirer": "^9.3.8",
34
34
  "inquirer-autocomplete-standalone": "^0.8.1",
35
+ "patch-package": "^8.0.1",
35
36
  "react": "^19.2.0"
36
37
  },
37
38
  "devDependencies": {
@@ -42,6 +43,7 @@
42
43
  "vitest": "^4.0.9"
43
44
  },
44
45
  "scripts": {
46
+ "postinstall": "patch-package",
45
47
  "build": "tsc",
46
48
  "build:watch": "tsc --watch",
47
49
  "test": "vitest run",
@@ -53,6 +55,7 @@
53
55
  },
54
56
  "files": [
55
57
  "out/**/*",
58
+ "patches/**/*",
56
59
  "LICENSE",
57
60
  "README.md"
58
61
  ],
@@ -0,0 +1,30 @@
1
+ diff --git a/node_modules/ink-text-input/build/index.js b/node_modules/ink-text-input/build/index.js
2
+ index ada7cdc..4aa2969 100644
3
+ --- a/node_modules/ink-text-input/build/index.js
4
+ +++ b/node_modules/ink-text-input/build/index.js
5
+ @@ -72,7 +72,8 @@ function TextInput({ value: originalValue, placeholder = '', focus = true, mask,
6
+ nextCursorOffset++;
7
+ }
8
+ }
9
+ - else if (key.backspace || key.delete) {
10
+ + else if (key.backspace) {
11
+ + // Backspace: delete character BEFORE cursor
12
+ if (cursorOffset > 0) {
13
+ nextValue =
14
+ originalValue.slice(0, cursorOffset - 1) +
15
+ @@ -80,6 +81,15 @@ function TextInput({ value: originalValue, placeholder = '', focus = true, mask,
16
+ nextCursorOffset--;
17
+ }
18
+ }
19
+ + else if (key.delete) {
20
+ + // Delete (forward delete): delete character AT cursor position (after cursor)
21
+ + if (cursorOffset < originalValue.length) {
22
+ + nextValue =
23
+ + originalValue.slice(0, cursorOffset) +
24
+ + originalValue.slice(cursorOffset + 1, originalValue.length);
25
+ + // Cursor position stays the same
26
+ + }
27
+ + }
28
+ else {
29
+ nextValue =
30
+ originalValue.slice(0, cursorOffset) +