Commit Graph
100 Commits
Author SHA1 Message Date
bendtherules 1715462a73 trigger build 2026-07-10 13:56:08 +05:30
bendtherules 70ed0db700 fix(langfuse): exclude http wrapper spans with empty mcp_method 2026-07-08 12:24:57 +05:30
bendtherules 1201486e6a feat(langfuse): filter out non-tool-call spans from export 2026-07-08 12:16:02 +05:30
bendtherules 8c565ecc8a Add npx install command to top also 2026-05-27 14:33:51 +05:30
bendtherules 99e30fcae5 feat(mcp-server): enhance session metadata with method and tool information 2026-04-28 20:10:07 +05:30
bendtherules fa31c3f66e feat(langfuse): enhance trace output structure with encapsulated result data 2026-04-27 19:03:49 +05:30
bendtherules d71726205d feat(langfuse): add tool-level spans with input/output and trace-level I/O
Each MCP tool handler now sets:
- LANGFUSE_TRACE_OUTPUT_ATTR on tool spans (maps to top-level trace output)
- LANGFUSE_OBSERVATION_INPUT_ATTR and LANGFUSE_OBSERVATION_OUTPUT_ATTR
  for detailed child observation views

HTTP root span renamed to 'mcp_http_request' for consistency with stdio.
All attribute keys use constants from langfuse-transport.ts.
2026-04-27 18:56:50 +05:30
bendtherules 54bc20cb7f feat(langfuse): add tool-level spans with input/output to traces
Wrap each MCP tool handler in withSpan()/withSpanContext() to create
individual named spans per tool call:
- ask262_search_spec_sections
- ask262_get_section_content
- ask262_evaluate_in_engine262

Each span includes:
- langfuse.observation.input: JSON of tool arguments (query, sectionIds, code)
- tool name and relevant metadata as span attributes

This makes the Langfuse trace hierarchy show which MCP tool was called
and what input it received, nested under the root HTTP/stdio request span.
2026-04-27 18:31:25 +05:30
bendtherules 627b80008e feat(langfuse): add opt-in Langfuse observability integration
Add Langfuse as an OTel trace transport for MCP request lifecycle tracking.

Changes:
- New src/lib/langfuse-transport.ts: initializes LangfuseSpanProcessor when
  ASK262_LANGFUSE_ENABLED=true with valid credentials
- src/lib/tracing.ts: add metadata to TraceContext, propagate it to child spans,
  use startActiveSpan for proper OTel context, add setupTracing() entry point,
  add getSessionMetadata() for version/transport metadata
- src/lib/logger.ts: include TraceContext.metadata in JSON log mixin
- src/mcp-server-{http,stdio}.ts: call setupTracing() at startup, pass
  version/transport metadata through withSpan/withSpanContext
- src/lib/fireworks-embeddings.ts: wrap API calls in withSpan() with gen_ai
  attributes for Langfuse generation/cost tracking
- .env.example: add LANGFUSE_* configuration variables
- AGENTS.md: document Langfuse integration
- package.json: add @langfuse/tracing, @langfuse/otel, @opentelemetry/sdk-node
2026-04-27 18:31:19 +05:30
bendtherules 40b439307e refactor(logger): console level matches file level, remove getConsoleLogLevel
Simplify logger by removing getConsoleLogLevel() and LOG_LEVEL_VALUES.
When ASK262_LOG_CONSOLE=true, console output uses the same level as
file logging (ASK262_LOG_LEVEL).
2026-04-27 17:03:07 +05:30
bendtherules f2934022ac chore(tests): print only warn/error logs during test runs
Set ASK262_LOG_CONSOLE=true and ASK262_LOG_LEVEL=warn for bun test
to surface important failures while keeping the output clean.
2026-04-27 17:00:44 +05:30
bendtherules 30cd83f6d4 fix(logger): make console logging opt-in via ASK262_LOG_CONSOLE
Console output is now disabled by default. Set ASK262_LOG_CONSOLE=true
to enable pretty-printed logs routed to stderr. This prevents:
- Stdio MCP protocol corruption from stdout noise
- Noisy test output during bun test runs

Also fixes misleading comments about HTTP/stdio log level defaults.
2026-04-27 16:59:16 +05:30
bendtherules af1daab2a8 fix(tests): update console output expectations to include quotes for string values 2026-04-27 16:47:11 +05:30
bendtherules 9b49d92cb8 fix(evaluate): use engine262 inspect() for console output
Replace naive manual .stringValue()/.value fallback with engine262's
inspect() function so console.log outputs readable strings instead of
raw engine262 internal objects.

Closes #5
2026-04-27 16:41:07 +05:30
bendtherules cc77ac19ae docs(readme): clarify JavaScript execution details and spec section capturing in features 2026-04-23 12:14:14 +05:30
bendtherules 8c3cff4ea0 fix: update Ollama embedding model version to 8b in code and documentation 2026-04-23 12:07:23 +05:30
bendtherules f4215a7c46 docs(readme): add “Try it now” quick‑start section, npx installation guide, and improve Ollama setup instructions. 2026-04-23 10:25:41 +05:30
bendtherules 498d5c1e30 0.0.15 2026-04-23 10:15:46 +05:30
bendtherules f767dfd109 0.0.14 2026-04-23 10:15:02 +05:30
bendtherules 9a584a1d41 Update package.json description and add server.json configuration file 2026-04-23 10:14:45 +05:30
bendtherules adcbdc91c4 Add ask prompt and metadata for tool orchestration guidance 2026-04-22 19:01:43 +05:30
bendtherules c2011173fb Fix prompt syntax 2026-04-22 18:54:35 +05:30
bendtherules 83719ee47b Improve tests 1 2026-04-22 18:00:49 +05:30
bendtherules fe9d4db9ac Improve prompt 3 2026-04-22 18:00:35 +05:30
bendtherules c481d41871 Improve prompt 2 2026-04-22 17:50:41 +05:30
bendtherules 5cf5c4b66e Improve prompt 2026-04-22 17:50:23 +05:30
bendtherules fcfe476928 test: strengthen getSectionContent recursive child section coverage
- Assert exact section count (2) instead of loose > 0 check
- Verify section ordering: requested first, children after
- Assert child sectionTitle matches mock data
- Add negative test: children excluded when recursive=false
2026-04-22 13:49:29 +05:30
bendtherules ee233859a7 fix(agent-tools): include recursively fetched child sections in output
Previously when recursive=true, child sections were fetched into sectionsData
but never included in the returned sections array. Now child sections are
properly appended to the output when recursive fetching is enabled.

- Refactor section building from .map() to for..of for clarity
- Add logic to append child sections not in original request
- Add test coverage for recursive child section inclusion
2026-04-22 13:43:13 +05:30
bendtherules afd7c465d7 Merge pull request #4 from bendtherules/logging
Add basic logging
2026-04-22 12:56:58 +05:30
bendtherules 9578502bca Add basic logging 2026-04-22 12:47:17 +05:30
bendtherules 204b12d5f7 fix(agent-tools): normalize childrensectionids handling and update tests for consistency 2026-04-22 12:22:35 +05:30
bendtherules 3649718b77 refactor(mcp): change HEAD endpoint to middleware for improved route handling 2026-04-22 11:03:45 +05:30
bendtherules a92546ace4 feat(mcp): add HEAD route for health probe and include it in CORS allowMethods 2026-04-22 10:42:16 +05:30
bendtherules ae76111854 Merge branch 'inspector' 2026-04-21 17:40:19 +05:30
bendtherules 5d7c8c0068 plan(logging): structured logging for MCP server with OpenTelemetry and Pino 2026-04-21 17:39:47 +05:30
bendtherules 2d1580ddc5 refactor(agent-tools): replace partIndex/totalParts with childrenSectionIds in getSectionContent
The getSectionContent tool schema and implementation now use `childrenSectionIds` (array of strings) instead of the previous pagination fields `partIndex` and `totalParts`. Updated Zod schema, output types, data handling, and returned objects accordingly. This change simplifies section handling by focusing on child section relationships rather than pagination.
2026-04-21 16:20:22 +05:30
bendtherules 0c2365425a style(server): reformat 2026-04-21 16:20:13 +05:30
bendtherules 962e9086dc Merge pull request #1 from bendtherules/inspector
Add inspector route
2026-04-21 13:07:53 +05:30
bendtherules fad74cad57 feat: prioritize COOLIFY_URL over MCP_PUBLIC_URL for inspector auto-connect URL
Added fallback to `process.env.COOLIFY_URL` before `MCP_PUBLIC_URL` when constructing the public URL for the MCP inspector, ensuring the correct base URL is used in environments where COOLIFY_URL is set.
2026-04-21 12:16:53 +05:30
bendtherules 5a94c1007b docs: update readme with inspector info 2026-04-21 10:14:43 +05:30
bendtherules 8c657b0578 docs(readme): add MCP Inspector UI guide and list HTTP server endpoints. 2026-04-21 09:17:57 +05:30
bendtherules e67103049a feat(env): add MCP_PUBLIC_URL entry to .env.example with documentation 2026-04-21 09:17:49 +05:30
bendtherules bfd79e47e3 docs(AGENTS): rewrite overview, commands, and project structure to focus on MCP server usage and updated tooling information. 2026-04-21 09:17:41 +05:30
bendtherules a2c57d4da0 refactor: move MCP endpoint above inspector for proper route priority
- Define /mcp endpoint before mounting inspector at /
- Ensures specific routes are matched before catch-all
- Prevents inspector from intercepting MCP requests
2026-04-21 09:06:17 +05:30
bendtherules 8911fb76aa fix: deduplicate section IDs in evaluateInEngine262 2026-04-20 19:09:44 +05:30
bendtherules 6d63806c19 chore: trigger deployment 2026-04-20 18:49:36 +05:30
bendtherules 95e58abdea chore: trigger deployment 2026-04-20 18:49:15 +05:30
bendtherules 16ee733577 chore: trigger deployment 2026-04-20 18:43:53 +05:30
bendtherules 35e8fadca2 Add mcp-use/inspector route 2026-04-20 18:33:44 +05:30
bendtherules 0334c5836b getSectionContent - allow multiple sectionids 2026-04-20 18:32:59 +05:30
bendtherules a26f90cef9 refactor(searchSpecSections): remove content field from result
- Eliminated `content` property from `searchSpecResultSchema` and output mapping.
- Updated `toolMetadata` description to reflect that only section references are returned and content must be fetched via `ask262_get_section_content`.
- Adjusted TypeScript code accordingly.
2026-04-20 18:07:54 +05:30
bendtherules 00b6924cea fix(server): bind server to all interfaces for Docker compatibility 2026-04-18 11:18:01 +05:30
bendtherules 27b5b6f4ea fix(release): streamline version bump process and remove commit step 2026-04-17 17:05:14 +05:30
bendtherules 3b5fb6fd99 docs(readme): restructure documentation and add quick‑start guide
- Replaced the old “Prerequisites” section with an “Available Tools” table describing the three core commands.
- Added a “Quick Start (Hosted Instance)” section with configuration snippets for Claude Desktop and OpenCode.
- Created a detailed “Local Installation” / “Setup” section including cloning, installing, and global install commands.
- Updated environment configuration instructions and clarified .env usage.
- Consolidated MCP client configuration examples (stdio and http) with explicit server start commands.
- Provided updated spec‑building steps and clarified directory contents.
- Cleaned up duplicated installation instructions and improved overall layout for better readability.
2026-04-17 16:59:44 +05:30
bendtherules 8097d4b7d0 chore: restore engine262/.gitignore to original 2026-04-17 15:34:11 +05:30
bendtherules e111083d33 fix: update gitignore to track engine262 lib files 2026-04-17 15:31:20 +05:30
bendtherules 1bc24e02f5 fix: add engine262 lib files for deployment 2026-04-17 15:29:01 +05:30
bendtherules 9dfed32db4 chore: trigger deployment 2026-04-17 15:22:00 +05:30
bendtherules 23e22f17ec chore: add detailed logs to evaluateInEngine262.runner.mjs
- Insert console.error statements to trace loading, initialization, execution, and mark collection.
- Log creation of agent and realm, trace start/stop, and code execution progress.
- Output captured mark count.
- Simplify fatal error handling with a single error message variable and console.error output.
2026-04-17 15:20:19 +05:30
bendtherules 2384bce984 docs(readme): add hosted instance example with remote MCP configuration 2026-04-17 14:55:22 +05:30
bendtherules 587af4fe27 feat(nixpacks): add additional Nix package for setup phase 2026-04-16 17:59:34 +05:30
bendtherules c0270b5c41 feat: add initial Nixpacks configuration for deployment 2026-04-16 17:28:52 +05:30
bendtherules 2cfbe90c26 feat(server): add DEFAULT_PORT constant and use it for server port configuration 2026-04-16 17:16:53 +05:30
bendtherules fad43eda66 resource: Commit lancedb ingested data (qwen3-embedding-8b) 2026-04-16 14:05:03 +05:30
bendtherules ee5132221d chore: bump version to 0.0.13 2026-04-16 13:55:37 +05:30
bendtherules 99c33da2b6 chore: bump version to 0.0.12 2026-04-16 13:55:05 +05:30
bendtherules d64260c46c chore: bump version to 0.0.11 2026-04-16 13:54:49 +05:30
bendtherules f2c21cce6c refactor(searchSpecSections): rename score to vectorDistance, update schema and usage (breaking change) 2026-04-16 13:51:51 +05:30
bendtherules 1f9d444361 feat: add ask262-inspector script to package.json for HTTP transport inspection. 2026-04-16 13:43:10 +05:30
bendtherules df5161ba86 feat: Add env support + small fixes 2026-04-16 13:18:39 +05:30
bendtherules 385f609e7b feat: Support Fireworks embedding for ingest and tool 2026-04-16 13:06:25 +05:30
bendtherules a46d764336 chore: biome ignore package.json 2026-04-16 11:55:54 +05:30
bendtherules db0e249874 Add mcp http server 2026-04-16 11:51:24 +05:30
bendtherules 2a44b77101 chore: bump version to 0.0.10 2026-04-14 19:29:38 +05:30
bendtherules 0cab20d6e4 feat(mcp-server): suggest recursive section content retrieval
Add recursive:true flag to ask262_get_section_content call to retrieve nested sections.
2026-04-14 19:29:34 +05:30
bendtherules ad97aff10a chore: bump version to 0.0.9 2026-04-14 19:26:49 +05:30
bendtherules ff7b155e9a docs(mcp-server): update description to clarify JavaScript internals explanation 2026-04-14 19:26:46 +05:30
bendtherules 2603e65e5d chore: bump version to 0.0.8 2026-04-14 19:24:53 +05:30
bendtherules a37292fb07 refactor: simplify question argsSchema definition in mcp-server.ts by collapsing multiline Zod schema into a single line. 2026-04-14 19:24:49 +05:30
bendtherules 2849fbb5cd chore: bump version to 0.0.7 2026-04-14 19:24:23 +05:30
bendtherules f8180dda42 feat(mcp-server): add Zod schema for prompt arguments, rename ask262 prompt to ask, and enhance orchestration guidance text. 2026-04-14 19:24:20 +05:30
bendtherules bd85bb214f chore: bump version to 0.0.6 2026-04-14 19:08:44 +05:30
bendtherules 4a6347807c feat: Add prompt to mcp server 2026-04-14 19:08:24 +05:30
bendtherules 6f61102163 chore: bump version to 0.0.5 2026-04-14 18:24:37 +05:30
bendtherules a7b2d617a3 refactor(mcp-server): resolve STORAGE_DIR to absolute path using __dirname
- Import path and fileURLToPath for path resolution.
- Rename imported STORAGE_DIR to STORAGE_DIR_REL.
- Compute STORAGE_DIR as an absolute path relative to the script’s directory.
2026-04-14 18:24:33 +05:30
bendtherules d608a62fa4 chore: bump version to 0.0.4 2026-04-14 18:21:54 +05:30
bendtherules 5946daa29e Fix: bin file in package.json 2026-04-14 18:21:14 +05:30
bendtherules 8e81078661 docs: update OpenCode configuration example in README
---

## Explanation
The diff only modifies `Readme.md`, changing the OpenCode configuration snippet. The update replaces the old local config path with a global one, adds a `$schema` reference, restructures the `command` field, and introduces `type` and `enabled` properties. Therefore, a **docs**‑type conventional commit is appropriate, describing the documentation change.
2026-04-14 18:10:58 +05:30
bendtherules 726988e65e chore: bump version to 0.0.3 2026-04-14 18:05:13 +05:30
bendtherules 36bbe89cb4 chore: bump version to 0.0.2 2026-04-14 18:04:44 +05:30
bendtherules 3d596983b8 feat: release script with automatic version bump commit 2026-04-14 18:04:28 +05:30
bendtherules 56841bb34d feat: Add npm release script 2026-04-14 18:02:06 +05:30
bendtherules 0eff954a4f docs: replace Setup section with Development guide
Removed the outdated Setup documentation and introduced a new Development section that includes cloning instructions, spec setup steps, and guidance on building the knowledge graph for custom ECMAScript specifications. This reorganization clarifies the workflow for developers and users building the project from source.
2026-04-14 17:50:10 +05:30
bendtherules 96d8f9047b feat(server): allow Ollama custom via OLLAMA_HOST env var
Update README to specify pulling the `qwen3-embedding:0.6b` model and document the optional `OLLAMA_HOST` environment variable. Adjust server code to import `EMBEDDING_MODEL`, use it for Ollama embeddings, and pass `process.env.OLLAMA_HOST` as the base URL.
2026-04-14 17:48:13 +05:30
bendtherules 011d850e65 fix(.opencode/tools): fix tool call in .opencode/tools 2026-04-14 17:42:17 +05:30
bendtherules 02af2003e2 chore(package): keep only engine262.mjs file from engine262/lib build
- drop graphology directory.
2026-04-14 17:36:45 +05:30
bendtherules a1283e169e docs(readme): update MCP configuration instructions to use bunx instead of bun and remove outdated install sections. 2026-04-14 17:30:43 +05:30
bendtherules d248fe1b09 docs: remove config.json references and update setup instructions 2026-04-14 17:25:05 +05:30
bendtherules c239e28119 chore: remove obsolete config.json references
Deleted the `config.json` entry from the package file list and removed the corresponding `CONFIG_FILE` constant, cleaning up unused configuration references.
2026-04-14 17:17:26 +05:30
bendtherules b87cb31e03 docs(readme): replace placeholder repository URL with actual GitHub URL in README. 2026-04-14 17:09:53 +05:30