Commit graph

1674 commits

Author SHA1 Message Date
Joshua Horton
e2de46f609 Merge branch 'feat/web/search-space-node-propagation' into feat/web/quotient-node-finalizer 2026-05-05 14:36:26 -05:00
Joshua Horton
91fe1b1382 Merge branch 'feat/web/multi-token-corrector' into feat/web/search-space-node-propagation
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-05-05 12:27:02 -05:00
Joshua Horton
91b097f7a4 change(web): address other concerns from PR review 2026-05-05 12:25:35 -05:00
Joshua Horton
3c03a53e64 change(web): address multiple concerns from PR review 2026-05-05 12:18:23 -05:00
Joshua Horton
7fa980e0ef
docs(web): clarify doc-comment on TokenizationCorrector uncorrectable vs correctable entries
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2026-05-05 20:46:07 +07:00
Joshua Horton
65e8932eb2 change(web): address PR review concerns
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Adds lots of documentation, adjusts name of one field and property, and has `TokenResultMapping` explicitly inherit from the new `TokenResult` interface that abstracts it further.
2026-04-28 11:41:15 -05:00
Joshua Horton
b92642e35a feat(web): TokenizationCorrector should track returned results
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-04-22 15:35:36 -05:00
Joshua Horton
3e5e78a023 fix(web): remove any exhausted token from further correction, not just the prediction-supporting one 2026-04-22 15:15:57 -05:00
Joshua Horton
e81ae0a1dd change(web): support baseline non-correction if token proves uncorrectable 2026-04-22 15:01:19 -05:00
Joshua Horton
2a5f90757a change(web): use QuotientNodeFinalizer within TokenizationCorrector
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-04-22 13:44:22 -05:00
Joshua Horton
700d4b5a2b feat(web): adds finalizer quotient-node type for facilitating multi-word corrections
Build-bot: skip build:web
Test-bot: skip
2026-04-22 13:44:16 -05:00
Joshua Horton
7c95d08068 change(web): remove rebase commented-line artifact
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-04-22 13:16:27 -05:00
Joshua Horton
bde82ad60b feat(web): add unit-tests that verify result propagation mechanisms
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-04-22 12:53:10 -05:00
Joshua Horton
a9fe2f6f73 feat(web): add multi-space search unit tests 2026-04-22 12:53:10 -05:00
Joshua Horton
2faa96754c feat(web): ensure all child spaces are notified when parent reaches end of a correction path
Build-bot: skip build:web
Test-bot: skip
2026-04-22 12:53:10 -05:00
Joshua Horton
70f04e618e fix(web): clean up TokenizationCorrector.handleNextNode 2026-04-22 12:52:23 -05:00
Joshua Horton
af3f2ee277 fix(web): add upper bound for token correction length 2026-04-22 12:39:29 -05:00
Joshua Horton
7e594e08a6 fix(web): add proper TokenizationResultMapping test export 2026-04-22 11:25:47 -05:00
Joshua Horton
9fc7c23a58 change(web): TokenizationCorrector should use quotient-nodes internally for queue
This, plus the upcoming QuotientNodeFinalizer class, will support result forwarding in multi-tokenization contexts during multi-token & multi-tokenization correction.
2026-04-22 11:25:47 -05:00
Joshua Horton
f99ad233b4 docs(web): add tokenization-corrector.ts header 2026-04-22 11:25:47 -05:00
Joshua Horton
fee2eced76 feat(web): add TokenizationCorrector unit tests 2026-04-22 11:25:47 -05:00
Joshua Horton
595bb2f2d8 feat(web): add classes for use in multi-token correction
Build-bot: skip build:web
Test-bot: skip
2026-04-22 11:25:47 -05:00
Joshua Horton
e506b90d81 change(web): add null & empty token-array guards
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-04-22 11:24:46 -05:00
Joshua Horton
be45f31e01 feat(web): add unit tests for determineSuggestionRange 2026-04-22 11:06:32 -05:00
Joshua Horton
950c3bbe6a feat(web): implement multi-token suggestion-application range calculation
This PR calculates the range of context - possibly comprised of multiple tokens - removed from the prior context and/or appended via incoming input - caused when applying a suggestion.  This new approach is much better suited toward operation under whitespace fat-fingering conditions than the original approach.

Build-bot: skip build:web
Test-bot: skip
2026-04-22 11:06:32 -05:00
Joshua Horton
e819630c67 change(web): add 'type' for circular import (per AI review)
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-04-22 09:19:07 -05:00
Joshua Horton
8232cb3c1a fix(web): restore explicit interface implementation 2026-04-22 09:17:13 -05:00
Joshua Horton
4a4e996cb1 Merge branch 'refactor/web/extract-duplicate-result-filter' into feat/web/correction-search-abstraction 2026-04-22 09:16:59 -05:00
Joshua Horton
50cf4b997e fix(web): require helper argument required in main version of function
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-04-22 09:09:08 -05:00
Joshua Horton
6abf6ed08c fix(web): ensure newly-mapping result is returned from clusters 2026-04-22 09:08:46 -05:00
Joshua Horton
a4f392fb2a Merge branch 'refactor/web/extract-duplicate-result-filter-extended' into feat/web/correction-search-abstraction-extended 2026-04-21 16:56:27 -05:00
Joshua Horton
92bc44ef13 Merge branch 'change/web/fix-result-spaceId-remapping-extended' into refactor/web/extract-duplicate-result-filter-extended 2026-04-21 16:34:40 -05:00
Joshua Horton
8a430ca637 change(web): increase TokenResultMapping encapsulation to prevent .spaceId ambiguity 2026-04-21 16:27:55 -05:00
Joshua Horton
92b1387a29 change(web): add TokenResultMapping construction null guard 2026-04-20 17:00:30 -05:00
Joshua Horton
e9f0be4cb3 Merge branch 'refactor/web/extract-duplicate-result-filter' into feat/web/correction-search-abstraction
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-04-20 16:58:00 -05:00
Joshua Horton
2710b261d8 fix(web): undo accidental sign-change in extracted filter method
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-04-20 16:52:25 -05:00
Joshua Horton
a382b343e1 Merge branch 'change/web/return-search-token-mapping' into refactor/web/extract-duplicate-result-filter 2026-04-20 16:51:30 -05:00
Joshua Horton
3f6722e0a5 fix(web): constructor should also remap spaceId 2026-04-20 16:40:37 -05:00
Joshua Horton
6e1cb03bc4 Merge branch 'change/web/fix-result-spaceId-remapping' into change/web/return-search-token-mapping 2026-04-20 16:39:36 -05:00
Joshua Horton
f9ec855873 change(web): simplify search-result spaceId tagging + remapping
After using devin.ai to check some of my PRs, it caught something on #15817 that I was able to trace back to some decisions already in place for `TokenResultMapping`.  It appears best to simplify the type and its relation to spaceId-tagging now to simplify it, to prevent the bug, and to hopefully prevent re-implementing the bug in the future.

I did consider constructing new instances of SearchNode, just with the changed spaceId... but that may be prone to causing memory churn that can be avoided by just letting spaceId be public.

Build-bot: skip build:web
Test-bot: skip
2026-04-20 16:24:03 -05:00
Joshua Horton
6084bbe687 docs(web): add documentation for new search-related interfaces
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-04-09 16:48:18 -05:00
Joshua Horton
6cd518bc69 docs(web): add header comment to new file
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-04-09 16:40:24 -05:00
Joshua Horton
eaf419f960 feat(web): add abstraction for main correction-search algorithm, leveraged types
Build-bot: skip build:web
Test-bot: skip
2026-04-09 16:37:56 -05:00
Joshua Horton
3ae0e4cb8e refactor(web): extract token-search result duplicate-filtering method
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Build-bot: skip build:web
Test-bot: skip
2026-04-09 16:35:56 -05:00
Joshua Horton
b4b40bdea0 change(web): return token-correction mapping from search-oriented methods
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Build-bot: skip build:web
Test-bot: skip
2026-04-09 16:35:06 -05:00
Joshua Horton
77b8af29f7 refactor(web): move and rename SearchResult as TokenResultMapping
Build-bot: skip build:web
Test-bot: skip
2026-04-09 16:34:07 -05:00
Joshua Horton
04e6479299 refactor(web): extract buildAndMapPredictions as new prediction-helper
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Build-bot: skip build:web
Test-bot: skip
2026-04-09 15:57:17 -05:00
Joshua Horton
0e3368698d change(web): prepare suggestion-application for whitespace fat-finger handling
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Build-bot: skip build:web
Test-bot: skip
2026-04-09 15:46:20 -05:00
Joshua Horton
d1a4b69413 feat(web): implement tokenization convergence and associated unit test
Build-bot: skip build:web
Test-bot: skip
2026-04-09 15:36:50 -05:00
Joshua Horton
938d5ed002 refactor(web): split ContextState.analyzeTransition
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
The implementation of ContextState.analyzeTransition is rather long and large, comprised of multiple subsections.  We can get clearer, more maintainable code if we split it into multiple pieces - especially if we can do so in a manner that allows individual pieces to be unit-tested.

Also, with whitespace fat-finger handling coming up, special handling for applied suggestions may be needed.  This refactor may facilitate development of a suggestion-specialized variant.

Build-bot: skip build:web
Test-bot: skip
2026-04-09 15:29:55 -05:00