LearnNewsExamplesServices
Frontmatter
tagName11.8.0
nameNeo.mjs v11.8.0 Release Notes
publishedAt11/21/2025, 3:10:30 PM
isPrerelease
isDraft

Neo.mjs v11.8.0 Release Notes

This release marks a pivotal shift in our AI strategy, transitioning Neo.mjs from a "Tool Use" architecture to a true "Agent OS", inspired by Anthropic's Code Execution pattern. We have introduced a standalone, type-safe AI SDK (ai/services.mjs) that enables agents to import and execute framework services directly in Node.js. This "Thick Client" approach allows for complex, autonomous workflows—demonstrated by our new Self-Healing Repository proof of concept—where agents can monitor, plan, and fix bugs without human intervention.

✨ Highlights

🤖 The Agent OS: Code Execution & Safe SDK

  • Standalone AI SDK: We've decoupled our intelligent services (Knowledge Base, Memory Core, GitHub Workflow) from the MCP transport layer. Agents can now import ai/services.mjs to access these capabilities directly as a Node.js library. (Issue #7831, #7832)
  • "TypeScript without TypeScript": We achieved the holy grail of JavaScript development: robust type safety without a compilation step. By dynamically wrapping our SDK with Zod schemas generated from our OpenAPI specs, we enforce strict contracts at runtime. This preserves our Zero-Build Dev Mode and Web Standards philosophy—allowing agents (and humans) to script complex logic directly in the browser console or Node.js without setting up a TS toolchain. (Issue #7843)
  • Self-Healing Repository: A groundbreaking demo script (ai/examples/self-healing.mjs) that autonomously monitors GitHub for bugs, queries the codebase for context, formulates a plan, and proposes a fix—all in a single execution cycle. (Issue #7833)

📂 New Agent Examples

We've added a suite of examples to demonstrate the power of the new Agent OS SDK:

  • ai/examples/self-healing.mjs: The flagship autonomous maintenance demo.
  • ai/examples/smart-search.mjs: Demonstrates programmatically querying and filtering the Knowledge Base.
  • ai/examples/db-backup.mjs: Programmable database backup using the exposed SDK.
  • ai/examples/db-restore.mjs: Restoration utility for the Knowledge Base or Memory Core.
  • ai/examples/test-safety.mjs: A verification script proving our runtime type safety catches invalid inputs.
Screenshot 2025-11-21 at 15 05 28
Screenshot 2025-11-21 at 15 20 32

⚙️ Core Framework Optimizations

  • Faster Builds: The highlight.js build script now skips unnecessary regeneration if the target files exist, significantly speeding up the buildAll process. (Issue #7823)
  • Robust App Initialization: Fixed potential race conditions in the App worker by initializing Neo.apps maps early and optimizing window-specific events (onVisibilityChange, onOrientationChange) to use direct lookups. (Issue #7827)
  • UUID Window IDs: Moved from timestamp-based IDs to crypto.randomUUID() for robust, collision-free window identification. (Issue #7828)
  • SSR Optimization: The Stylesheet addon now intelligently skips FontAwesome and global theme loading during Server-Side Rendering to prevent redundant network requests. (Issue #7829)

🛡️ Robust AI Infrastructure

  • Hybrid Database Lifecycle: Refactored the database services to support External, Managed, and Shared modes without deadlocks. (Issue #7836)
  • JSON Parsing Resilience: The Session Service now gracefully handles and strips Markdown code blocks from LLM responses, ensuring reliable JSON parsing. (Issue #7825, #7826)
  • Schema & Backup fixes: Fixed schema validation errors in the list_issues tool and enabled programmable database backups via the SDK. (Issue #7839, #7841)

📦 Full Changelog

  • [MCP] Support issue comments in create_comment tool (Issue #7821)
  • Optimize highlight.js build to skip unnecessary regeneration (Issue #7823)
  • Neo.ai.mcp.server.github-workflow.services: alphabetical method ordering (Issue #7824)
  • Fix JSON parsing in SessionService summarization (Issue #7825)
  • Extract JSON parsing logic into Neo.util.Json (Issue #7826)
  • Initialize Neo.apps in App worker and optimize window-specific events (Issue #7827)
  • Use crypto.randomUUID() for windowId generation (Issue #7828)
  • Optimize Stylesheet addon for SSR mode (Issue #7829)
  • Exploration: Enable AI Agent Code Execution with Standalone AI SDK (Issue #7831)
  • Expansion: Unified AI SDK for Memory and GitHub Services (Issue #7832)
  • Demo: Self-Healing Repository Script (Agent OS) (Issue #7833)
  • Refactor: Robust Hybrid Database Lifecycle for AI Services (Issue #7836)
  • Cleanup redundant awaits in self-healing example (Issue #7837)
  • Fix ChromaDB warning: No embedding function configuration found (Issue #7838)
  • Enhance AI SDK: Fix ChromaDB warnings and enable programmable backups (Issue #7839)
  • Optimize SessionService.summarizeSessions with Promise.all (Issue #7840)
  • Fix list_issues tool schema validation error (Issue #7841)
  • examples.tableFiltering: changing the operator and then the number value for "lucky number" does not honor the new operator (Issue #7842)
  • [AI] Implement Runtime Type Safety for AI SDK via OpenAPI Wrappers (Issue #7843)

All changes in 1 commit: https://github.com/neomjs/neo/commit/db234f9e7f0af39c091f5d28e836e361612a5c63