Commit Graph
171 Commits
Author SHA1 Message Date
bendtherules 0ee2bbf7a3 chore: rename package to "ask262" and add bun package manager configuration 2026-04-08 12:01:29 +05:30
bendtherules 919f98ad4c Fix .opencode/gitignore 2026-04-08 12:01:21 +05:30
bendtherules 90eb347235 refactor(plan): update model path and enhance Babel plugin for ask262Debug 2026-04-07 16:33:20 +05:30
bendtherules d5fcb89e02 Merge branch 'opencode/annotate-code/mimo-v2-pro' 2026-04-07 14:02:29 +05:30
bendtherules c1237d146d plan: mark section ids from code 2026-04-07 14:02:15 +05:30
bendtherules 957ae8e8e6 revert(engine262): undo Biome formatting changes from b6dbcfe
Restore original formatting in engine262 folder:
- unicode.d.ts: revert to 4-space indentation, single quotes
- syntax-error.d.ts: revert to 4-space indentation, remove semicolons

Biome should not format files in engine262/ as it's excluded in biome.json.
2026-04-06 15:25:04 +05:30
bendtherules 3b420b896b refactor(setup): reorder HTMLTextSplitter tag list
- Move `ul` and `ol` earlier in the allowed tags array.
- Remove duplicate and unused tags (`h5`, `h6`, `li`, redundant `ul`/`ol`).
2026-04-06 14:51:44 +05:30
bendtherules a2c8bd31c6 feat(lists): alternate markdown list markers by nesting depth
Ordered lists switch between `1.` (even depth) and `A.` (odd depth).
Unordered lists switch between `-` (even depth) and `*` (odd depth).
Makes nested list structure visually distinct in extracted text.
2026-04-06 13:39:43 +05:30
bendtherules 2c0ccee5e1 fix - Fix normalizeWhitespace removing indents in nested lists 2026-04-06 13:29:20 +05:30
bendtherules ec71200f0e test(bunfig): add pathIgnorePatterns to ignore unnecessary folders during testing
- Removed default test root setting.
- Introduced `pathIgnorePatterns` list with multiple directories (engine262, spec-built, node_modules, dist, build, coverage, .idea, docs, storage, graphology, .git) to be excluded from test runs and module resolution.
2026-04-06 13:07:17 +05:30
bendtherules 1524d9c804 moved HtmlTextSplitter.test.ts beside source file 2026-04-04 19:32:33 +05:30
bendtherules 88af87b7ae build: Implement formatForIngestion 2026-04-04 19:29:29 +05:30
bendtherules 290ac89325 plan(HTML‑to‑Markdown): add sample code 2026-04-04 19:03:44 +05:30
bendtherules 18168e8d3e plan(mimo-v2-pro): add plan for HTML‑to‑Markdown transformations 2026-04-04 18:00:45 +05:30
bendtherules 9bf174ddc0 refactor(verify-db): top‑5 largest document - consider all chunks
- Replace per‑chunk sorting with aggregation of total size per section.
- Compute total characters and chunk count for each document.
- Sort sections by total size and display the top five, including part count when applicable.
2026-04-04 12:40:11 +05:30
bendtherules e6992a174b chore(vscode): remove **/spec-built and **/engine262 from search exclusions in settings.json 2026-04-04 12:39:34 +05:30
bendtherules 7395effb4b feat: add verify-db script to package.json 2026-04-04 12:33:12 +05:30
bendtherules ff1c97af44 fix(agent-tools, setup): standardize metadata keys to lowercase and update HTML ingestion
- Renamed `partIndex`/`totalParts` to `partindex`/`totalparts` in `section_retriever.ts`, `spec_retriever.ts`, and document creation logic.
- Adjusted sorting logic to use the new `partindex` field.
- Updated metadata handling and string interpolation to reference the lowercase keys.
- Fixed import path for `HTMLTextSplitter` and moved the file to `setup/textsplitters/HtmlTextSplitter.ts`.
- Added HTML preprocessing utilities (`addNewlinesAfterBlocks`, `convertTablesToMarkdown`) in ingestion workflow.
- Integrated table-to‑markdown conversion and newline insertion to improve text splitting and document structure.
2026-04-04 12:33:05 +05:30
bendtherules 822597e0e2 feat(setup): enhance ingest summary to track and display chunk sizes per section
- Introduced `SectionInfo` interface to store chunk count and individual chunk sizes.
- Replaced simple section count map with a map of `SectionInfo` for richer data.
- Updated logic to aggregate chunk sizes and counts per section.
- Modified summary output to show total characters, top 5 sections with detailed chunk count, total chars, and a list of chunk sizes.
- Refactored comments and variable names for clarity.
2026-04-04 10:31:14 +05:30
bendtherules f54a14f408 feat(ingest): add summary of all documents
add ChunkInfo interface, improve chunk handling typings, and print ingest summary statistics. This introduces typed chunk metadata, refactors related code, and adds a summary report for document sizes, sections, and chunk distribution
2026-04-03 20:34:05 +05:30
bendtherules 09f4f929ae Rename snake cased files to HTMLTextSplitter 2026-04-03 13:30:40 +05:30
bendtherules b3c9ed6dfd test(textsplitters): add more tests
- Verify that `splitDocuments` correctly prepends the provided `chunkHeader` to each chunk.
- Ensure `splitDocuments` returns an empty array when the source HTML yields no chunks.
2026-04-03 13:20:09 +05:30
bendtherules 6e5e7a7f4a ingest - Consume HTMLTextSplitter 2026-04-03 13:19:46 +05:30
bendtherules ec5669dcd7 feat: Impl HtmlTextSplitter 2026-04-03 11:04:40 +05:30
bendtherules 818bcccead feat: add VS Code configuration for debugging bun
- Add .vscode/extensions.json recommending oven.bun-vscode.
- Add .vscode/launch.json with Bun debug configurations for various scripts.
- Add .vscode/settings.json for TypeScript SDK, debug options, and file exclusions.
- Remove .vscode/ entry from .gitignore.
- Refactor ingest.ts: increase chunk size to 8192 and overlap to 200, raise large document threshold, remove <h1>/<h2> separators, skip sections containing only headings or minimal content, and add warnings for very small chunks.
2026-04-02 13:33:00 +05:30
bendtherules 1ff1038898 refactor(ingest): remove part and parent reference in chunk
- Remove construction of `partRef` and parent section annotations from chunk text
- Directly extract and trim text from HTML chunk using cheerio
- Streamline document creation logic without additional references.
2026-04-01 18:33:57 +05:30
bendtherules b3381508c3 feat(test): add manual spec retriever test script
Introduce a new manual test file `test/manual/test-spec-retriever.ts` that demonstrates how to use the `spec_retriever` agent tool with a query. The script loads embeddings, connects to the LanceDB storage, creates the tool, executes it, and prints the result. This provides a runnable example for developers.
2026-04-01 18:31:42 +05:30
bendtherules f5d3884d5a refactor: move model info to constants
- Added EMBEDDING_MODEL and RERANKER_MODEL to `constants.ts`.
- Updated imports to use these constants in `agent.ts`, `agent_tools/reranker.ts`, and `setup/ingest.ts`.
- Replaced hard‑coded model strings with the new constants for Ollama embeddings and reranker.
2026-04-01 18:31:30 +05:30
bendtherules 0c45062348 refactor(agent): Put agent_tools in different files 2026-04-01 18:15:56 +05:30
bendtherules cf522b8085 agent.ts - tools - add zod schema 2026-04-01 17:55:01 +05:30
bendtherules 1bbd6305f7 agent.ts - Update tools, add reranker 2026-04-01 17:54:49 +05:30
bendtherules 85d888c7ba feat(ingest): add splitter, metadata and qwen3-embedding
add HTML‑aware text splitter, raise batch size and large‑doc threshold, enhance progress spinner and error logging, rename ingestSpec to buildSpecDocuments and introduce hierarchical section processing.
2026-04-01 12:49:57 +05:30
bendtherules 70e42eb727 feat(spec-ingestion): unify breakdown strategy with alwaysBreak flag and inline markers
- Consolidate all structural element breakdowns into a single `breakDownSection` function using an `alwaysBreak` flag.
- Introduce `BREAKDOWN_TAGS` configuration array containing metadata (tag, alwaysBreak, title/id selectors) for each element type.
- Replace previous multi‑phase approach with a unified sequential breakdown flow: `emu-clause` (always extracts children) → `emu-table` → `emu-grammar` → `td` → `p`.
- Add inline markers `[Subsection available: title "X" at sectionid: ID]` where content is removed, enabling parent awareness.
- Update documentation to reflect the new unified breakdown logic, tag table, and hierarchical ID format.
- Adjust threshold handling, recursion depth, and metadata tracking to work with the new unified approach.
2026-03-31 14:45:16 +05:30
bendtherules 9f8148bf62 docs(plans): add plan for parent section breakdown awareness and recursive sequential breakdown
Added a detailed markdown plan outlining fixes for parent section awareness, sequential tag‑based breakdown, and recursive processing of large sections. Includes implementation details, configuration constants, and updated ingestion logic. This new plan file is located at `.opencode/plans/1774872666261-parent-breakdown-fix.md`.
2026-03-31 14:23:17 +05:30
bendtherules 3b6e9a9d8f refactor(ingest): restructure section document creation logic and add warnings for oversized documents
- Move full‑section Document creation into an `else` block so it only occurs when no sub‑documents were created.
- Remove premature return that skipped adding the full section.
- Add post‑processing loop to log a warning for any final document exceeding `LARGE_DOC_THRESHOLD`.
2026-03-31 13:54:07 +05:30
bendtherules ac518b7b77 ingest.ts - handle empty db, add loader 2026-03-31 13:46:19 +05:30
bendtherules 8bbd159224 Migrate to langchain 2026-03-31 13:06:59 +05:30
bendtherules 23dcdd2f4f docs(plans): add migration plan for LlamaIndex → LangChain.js + LanceDB
Added a comprehensive markdown plan (.opencode/plans/1774872124705-glowing-river.md) outlining the migration from LlamaIndex to LangChain.js with LanceDB. Includes updated dependencies, file modification list, and detailed code changes for `ingest.ts` and `agent.ts`. This serves as documentation for the migration process.
2026-03-31 12:21:06 +05:30
bendtherules b3ee712ce9 docs: add AGENTS.md 2026-03-31 12:20:58 +05:30
bendtherules f6fc4c652a ingest.ts - brekdown 2026-03-31 12:20:51 +05:30
bendtherules 5242a30081 agent.ts - add comments 2026-03-31 12:20:32 +05:30
bendtherules 1de99cbe38 migrate strip-spec-container to TS 2026-03-31 09:12:19 +05:30
bendtherules 83f145c576 docs(plans): reformat internal method regex list by moving [[Get]] and [[Set]] to separate line for clarity. 2026-03-30 18:22:08 +05:30
bendtherules 12631949b4 setup/ingest.ts: add comments 2026-03-30 18:16:55 +05:30
bendtherules 33cec82c9d feat(build-graph): add comments and pass options 2026-03-30 17:58:39 +05:30
bendtherules cbe6bfdb10 refactor(build_graph): limit emu-clause selection to #spec-container
Search for `emu-clause` elements now performed within the `#spec-container` element instead of the entire document, preventing accidental matches outside the spec container.
2026-03-30 12:43:48 +05:30
bendtherules 2505497846 build: Internal method linking - plan and basic script 2026-03-30 12:43:40 +05:30
bendtherules 795a713a86 spec - Cleanup body to only keep "spec-container" 2026-03-27 19:43:07 +05:30
bendtherules ed4360e7cd spec - Remove all style tags 2026-03-27 18:36:24 +05:30
bendtherules f19e5ba788 refactor(constants): move SPEC_DIR and CODE_DIR to constants 2026-03-27 17:53:16 +05:30