From e0d3f108caaececb34c1975a10531e805d8402f1 Mon Sep 17 00:00:00 2001 From: It Apilium Date: Mon, 9 Mar 2026 13:09:12 +0100 Subject: [PATCH 1/2] refactor: rename Titans memory client to Ineru and bump Cortex to 0.4.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Rename titans-client.ts → ineru-client.ts (TitansClient → IneruClient) - Update all imports, variables, and string references across extensions - Bump REQUIRED_CORTEX_VERSION from 0.3.8 to 0.4.0 - Update docs (README, CHANGELOG, VISION, CLAUDE.md) --- CHANGELOG.md | 2 +- CLAUDE.md | 249 +++++++++++------- README.md | 2 +- VISION.md | 4 +- extensions/memory-semantic/index.test.ts | 12 +- extensions/memory-semantic/index.ts | 74 +++--- .../{titans-client.ts => ineru-client.ts} | 12 +- extensions/memory-semantic/migration/cli.ts | 6 +- .../memory-semantic/migration/migrator.ts | 10 +- extensions/memory-semantic/package.json | 2 +- extensions/semantic-skills/index.ts | 2 +- extensions/shared/cortex-version.ts | 2 +- 12 files changed, 213 insertions(+), 164 deletions(-) rename extensions/memory-semantic/{titans-client.ts => ineru-client.ts} (90%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 790c2d7f..a12e90bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,7 +19,7 @@ First public release of Mayros — personal AI assistant platform. ### Semantic Intelligence - AIngle Cortex sidecar: persistent semantic memory via RDF triples -- Three-tier memory: MAYROS.md (persona) + Cortex (RDF) + Titans STM/LTM +- Three-tier memory: MAYROS.md (persona) + Cortex (RDF) + Ineru STM/LTM - Agent Mesh: multi-agent delegation, knowledge fusion, semantic observability - Semantic skill SDK: 6 tools, 3 hooks, Forge CLI - Skills Hub marketplace with Ed25519 signing diff --git a/CLAUDE.md b/CLAUDE.md index 90c3710f..20d67208 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,39 +1,68 @@ -# MAYROS v0.1.0 — Project Instructions +# MAYROS v0.1.8 — Project Instructions ## Project Info -- **Product**: [apilium.com/us/products/mayros](https://apilium.com/us/products/mayros) +- **Product**: [apilium.com/en/products/mayros](https://apilium.com/en/products/mayros) - **Download**: [mayros.apilium.com](https://mayros.apilium.com) -- **Documentation**: [apilium.com/us/doc/mayros](https://apilium.com/us/doc/mayros) +- **Documentation**: [apilium.com/en/doc/mayros](https://apilium.com/en/doc/mayros) - **Repo (public)**: [github.com/ApiliumCode/mayros](https://github.com/ApiliumCode/mayros) -- **Repo (dev)**: `/Users/carlostovar/repositorios/apilium/maryosCode` +- **Repo (dev)**: This repository - **AIngle**: [github.com/ApiliumCode/aingle](https://github.com/ApiliumCode/aingle) - **Skills Hub**: [github.com/ApiliumCode/skills-hub](https://github.com/ApiliumCode/skills-hub) +- **Social**: X [@mayros_ai](https://x.com/mayros_ai), Instagram [@mayros_ai](https://instagram.com/mayros_ai), [Discord](https://discord.gg/RKk3ahyj) ## Repository Structure ``` src/ # Core: CLI, commands, infra, media, agents -extensions/ # Plugin extensions (38 packages) - semantic-skills/ # Semantic skill SDK, 6 tools, sandbox - sandbox/ # QuickJS WASM sandbox (quickjs-sandbox, marshal, transpiler) - agent-mesh/ # Multi-agent coordination, delegation, fusion - skill-hub/ # Apilium Hub marketplace, Ed25519 signing - memory-semantic/ # AIngle Cortex integration - semantic-observability/ # Trace emitter, decision graph + agents/ # Agent management, markdown-agents + cli/ # 49 CLI modules (*-cli.ts) + commands/ # Command handlers + config/ # Configuration system (types.mayros, types.hooks, io) + cron/ # Task scheduling + daemon/ # System service + gateway/ # WebSocket/HTTP server + hooks/ # Hook system (http-hook-dispatcher, internal-hooks) + infra/ # Infrastructure (git-worktree) + plugins/ # Plugin framework (types, hooks, async-hook-queue) + security/ # Static scanner (skill-scanner.ts) + tui/ # Terminal UI (themes, vim, diff, context, keybindings) +extensions/ # 56 plugin extensions + semantic-skills/ # Semantic skill SDK, 6 tools, WASM sandbox + sandbox/ # QuickJS sandbox (quickjs-sandbox, marshal, transpiler) + agent-mesh/ # Multi-agent: delegation, fusion, teams, workflows, mailbox, dashboard, background tracker + bash-sandbox/ # Command parser, domain checker, blocklist, container isolation + interactive-permissions/ # Intent classifier, policy store, Cortex audit + llm-hooks/ # Hook loader, LLM evaluator, safe condition parser + mcp-client/ # 4 transports (stdio, HTTP, WebSocket, SSE) + mcp-server/ # Expose tools via Model Context Protocol + memory-core/ # Bundled memory search + memory-lancedb/ # Long-term memory, auto-recall/capture + memory-semantic/ # Cortex integration, project-memory, rules-engine, agent-memory, contextual-awareness, compaction-extractor + code-indexer/ # RDF code mapper, incremental scanner + skill-hub/ # Marketplace, dependency-audit, update-checker, category-registry + semantic-observability/ # Trace emitter, decision graph, session-fork token-economy/ # Budget tracking, prompt cache - shared/ # CortexClient, cortex-config, cortex-resilience - iot-bridge/ # IoT node fleet management + cortex-sync/ # P2P sync, gossip protocol, CortexClient bridge + shared/ # CortexClient, cortex-config, cortex-resilience, cortex-version + browser-automation/ # Playwright, CDP, visual understanding + voice-call/ # Telnyx, Twilio, Plivo + talk-voice/ # Bidirectional voice conversation + iot-bridge/ # AIngle Minimal edge nodes + device-pair/ # iOS/Android pairing + [20 channel extensions] # whatsapp, telegram, discord, slack, signal, irc, line, matrix, bluebubbles, googlechat, msteams, mattermost, feishu, nextcloud-talk, nostr, tlon, twitch, zalo, zalouser, lobster + [5 auth extensions] # google-antigravity-auth, google-gemini-cli-auth, qwen-portal-auth, minimax-portal-auth, copilot-proxy skills/examples/ # 5 example skills (verify-kyc, code-review, etc.) +tools/vscode-extension/ # VSCode extension (tree views, webview panels, WebSocket) docs/ # Product page, architecture docs ``` ## Build & Test -- Runtime: **Node >= 22**, pnpm 10.23.0 +- Runtime: **Node >= 22.12**, pnpm 10.23.0 - Install: `pnpm install` - Build: `pnpm build` -- Tests: `pnpm test` (vitest) — 9205 tests, 1035 files +- Tests: `pnpm test` (vitest) — ~1500 test files across src/ and extensions/ - Type check: `pnpm tsgo` or `npx tsc --noEmit` - Sync extension versions: `pnpm plugins:sync` (reads root package.json) @@ -44,19 +73,55 @@ docs/ # Product page, architecture docs - Tests: colocated `*.test.ts`, vitest - Product name: **Mayros** (headings), `mayros` (CLI, paths, config) - Extensions: keep plugin deps in extension `package.json`, not root +- No AI mentions in commits, PRs, or code (repo is public) +- PRs target `dev` branch, never `main` -## Security Architecture (18 layers) +## Architecture Overview + +Three layers: + +1. **Gateway** — WebSocket/HTTP server: sessions, routing, hooks (29), tool execution, plugin loading +2. **Cortex (AIngle)** — Cryptographic semantic layer: RDF knowledge graph, Proof-of-Logic, ZK proofs +3. **Nodes** — Native clients: macOS (Swift 6), iOS, Android, Apple Watch + +### Channels (20+) -### Sandbox (Phase 7) +WhatsApp, Telegram, Discord, Slack, iMessage (BlueBubbles), Signal, IRC, LINE, Matrix, Google Chat, MS Teams, Mattermost, Feishu, Nextcloud Talk, Nostr, Tlon, Twitch, Zalo, WebChat -Skills run in **QuickJS WASM** (`quickjs-emscripten@0.31.0`). The sandbox exposes only 7 host functions: +### Providers (27+) -- `graphClient`: createTriple, listTriples, patternQuery, deleteTriple -- `logger`: info, warn, error +Anthropic, OpenAI, Google Gemini, Ollama, Amazon Bedrock, HuggingFace, Together, OpenRouter, Venice, vLLM, MiniMax, Moonshot, Qwen, Xiaomi, Baidu, BytePlus, NVIDIA, Cloudflare AI Gateway, Vercel AI Gateway, LiteLLM, Deepgram, GitHub Copilot, and more + +### Lifecycle Hooks (29) + +``` +before_model_resolve, before_prompt_build, before_agent_start, llm_input, llm_output, +agent_end, before_compaction, after_compaction, before_reset, message_received, +message_sending, message_sent, before_tool_call, after_tool_call, tool_result_persist, +before_message_write, session_start, session_end, subagent_spawning, +subagent_delivery_target, subagent_spawned, subagent_ended, gateway_start, gateway_stop, +permission_request, notification, teammate_idle, task_completed, config_change +``` -**No access to**: fs, net, process, require, import, fetch, setTimeout, Worker, eval (harmless in WASM). +### Developer Experience -Config: `extensions/semantic-skills/config.ts` — `SkillSandboxConfig` +- **TUI**: 3 themes (dark/light/high-contrast), vim mode, @ file mentions, diff viewer, context visualization, output styles, keybinding customization +- **VSCode Extension**: 3 tree views, 4 webview panels, real-time Gateway sync +- **MCP Server**: `mayros serve` exposes tools via MCP (stdio + HTTP) +- **Headless CLI**: `mayros -p "query"` for scripts/CI (JSON-lines output) +- **Plan Mode**: Cortex-backed explore → assert → approve → execute lifecycle + +## Security Architecture (18 layers) + +### 5-Stage Skill Verification Pipeline + +1. **Static Scanner** — 16 rules (dangerous-exec, crypto-mining, exfiltration, obfuscation, etc.) + anti-evasion preprocessing +2. **Ed25519 Signature** — author identity + file integrity +3. **Proof-of-Logic** — ontological consistency via AIngle +4. **WASM Sandbox** — QuickJS with only 7 host functions (graphClient + logger) +5. **Sandbox Test** — live execution in TTL-scoped namespace + +### Sandbox Config (`extensions/semantic-skills/config.ts`) - `sandboxEnabled` (default: true) — false requires `MAYROS_UNSAFE_DIRECT_LOAD=1` - `memoryLimitBytes` (1MB–256MB, default 8MB) @@ -73,97 +138,81 @@ Config: `extensions/semantic-skills/config.ts` — `SkillSandboxConfig` - bracket-property-exec, dynamic-require, global-this-access, process-env-bracket, dynamic-import - potential-exfiltration, obfuscated-code (hex + base64), env-harvesting -**Anti-evasion preprocessing** (H5): - -- `stripComments()` — preserves string literals, strips // and /\* \*/ -- `joinSplitStatements()` — tracks parens balance across lines (catches `eval\n(...)`) -- `countNetParens()` — skips parens inside string literals +Anti-evasion: `stripComments()`, `joinSplitStatements()`, `countNetParens()` ### Enrichment Sanitizer (`extensions/semantic-skills/enrichment-sanitizer.ts`) -- **Unicode normalization** (C3): NFC + homoglyph map (Cyrillic/Greek→ASCII) + zero-width strip + fullwidth collapse -- **8 injection patterns**: ignore/disregard previous, you are/act as, system:override, execute the following, new instructions, important: you must, curl/wget/bash, rm -rf -- **Depth limits**: MAX_DEPTH=4, MAX_ARRAY_LENGTH=50, MAX_STRING_LENGTH=512, MAX_ENRICHMENT_CHARS=4096 -- **Output**: wrapped in `` tags - -### Namespace Isolation +- Unicode normalization (NFC + homoglyph map + zero-width strip + fullwidth collapse) +- 8 injection patterns blocked +- Depth limits: MAX_DEPTH=4, MAX_ARRAY_LENGTH=50, MAX_STRING_LENGTH=512, MAX_ENRICHMENT_CHARS=4096 -- `enforceNsPrefix()` in index.ts — ALL queries forced to `${ns}:` prefix -- scope:"global" is capped to own namespace (no cross-namespace) -- scope:"agent" → `${ns}:agent:${agentId}` -- Sandbox graphClient enforces ns prefix on createTriple/deleteTriple/listTriples/patternQuery -- `skill_memory_context` scopes subject to `${ns}:` + defense-in-depth filter +### Other Security Controls -### Tool Allowlist - -- **Intersection model**: ALL active skills must allow a tool (not just any one) -- Default: `DEFAULT_ALLOWED_TOOLS` (9 safe tools) applied when manifest omits allowedTools -- `["*"]` escape hatch for unrestricted access -- 6 core semantic tools always allowed - -### Rate Limiter - -- `SkillRateLimiter` class — sliding window (1-minute) per skill -- Applied to: `skill_graph_query`, `skill_assert`, `skill_memory_context` -- Default: 60 calls/min, configurable via `maxCallsPerMinute` - -### Query & Write Limits - -- Per-skill query counter (`queryCountPerSkill` Map) -- `maxQueries` per manifest + global cap = maxGraphQueries x activeSkillCount -- Write limits per sandbox (createTriple/deleteTriple) -- `checkWriteLimit()` in QuickJS sandbox - -### Enrichment Timeout - -- `invokeQuery()` wrapped in `Promise.race()` with 2s timeout (C5) -- Prevents DoS via slow enrichment - -### Hot-Reload Security - -- **Atomic swap** (H6): build temp maps → clear → swap -- **Manifest validation** (H7): `validateManifest()` on reload -- **Downgrade block**: rejects if `allowedTools` removed from original -- **Diff logging**: `diffManifests()` logs changes to allowedTools, permissions, assertions, maxQueries - -### Other Controls - -- Path traversal: reject `..` + `isPathInside()` double-check -- Verify-then-promote: temp extract → verify hashes → atomic promote -- Circuit breaker: 3-state (closed/open/half-open) + exponential backoff -- Audit logging: skill name + operation tagged on all sandbox writes -- No default AssertionEngine: `skill_assert` / `skill_verify_assertion` fail without declared engine -- Per-request skill tracking: `resolveCurrentSkill()` round-robin for multi-skill +- **Namespace Isolation**: `enforceNsPrefix()` — all queries forced to `${ns}:` prefix +- **Tool Allowlist**: Intersection model — ALL active skills must allow a tool +- **Rate Limiter**: Sliding window (1-min) per skill, default 60 calls/min +- **Query & Write Limits**: Per-skill counters + global caps +- **Enrichment Timeout**: 2s timeout via `Promise.race()` +- **Hot-Reload Security**: Atomic swap, manifest validation, downgrade block, diff logging +- **Bash Sandbox**: Command blocklists, 6 dangerous patterns, domain checking, container isolation +- **Path Traversal**: `..` rejection + `isPathInside()` double-check +- **Circuit Breaker**: 3-state (closed/open/half-open) + exponential backoff +- **Audit Logging**: Skill name + operation tagged on all sandbox writes ## Versioning -- Mayros: **v0.1.0** (package.json + 38 extensions synced) -- Cortex: aingle_cortex **0.2.6** (`REQUIRED_CORTEX_VERSION`) +- Mayros: **v0.1.8** (package.json + extensions synced) +- Cortex: aingle_cortex **0.4.0** (`REQUIRED_CORTEX_VERSION` in `extensions/shared/cortex-version.ts`) - Crates: aingle 0.0.101, zome_types 0.0.4 - Sync versions: update root `package.json` → `pnpm plugins:sync` -- Release: `git tag v0.1.0 && git push origin v0.1.0` ## Key Files -| File | Purpose | -| ------------------------------------------------------- | ------------------------------------------------------------------------ | -| `extensions/semantic-skills/index.ts` | Plugin entry: 6 tools, 3 hooks, CLI, rate limiter, namespace enforcement | -| `extensions/semantic-skills/config.ts` | SkillSandboxConfig, VerificationConfig, clampInt | -| `extensions/semantic-skills/sandbox/quickjs-sandbox.ts` | QuickJS WASM sandbox core | -| `extensions/semantic-skills/enrichment-sanitizer.ts` | Injection detection + Unicode normalization | -| `extensions/semantic-skills/skill-loader.ts` | Sandbox/direct loading, scan gate, enrichment sanitization | -| `extensions/semantic-skills/skill-manifest.ts` | Manifest parsing, DEFAULT_ALLOWED_TOOLS, validation | -| `extensions/semantic-skills/permission-resolver.ts` | Tool allowlist, permission checking | -| `src/security/skill-scanner.ts` | 16-rule scanner + preprocessing | -| `extensions/shared/cortex-client.ts` | Unified CortexClient, DTOs | -| `extensions/shared/cortex-resilience.ts` | CircuitBreaker + resilientFetch | +| File | Purpose | +| ------------------------------------------------------- | ---------------------------------------------------------------------- | +| `extensions/semantic-skills/index.ts` | Plugin entry: 6 tools, hooks, CLI, rate limiter, namespace enforcement | +| `extensions/semantic-skills/config.ts` | SkillSandboxConfig, VerificationConfig, clampInt | +| `extensions/semantic-skills/sandbox/quickjs-sandbox.ts` | QuickJS WASM sandbox core | +| `extensions/semantic-skills/enrichment-sanitizer.ts` | Injection detection + Unicode normalization | +| `extensions/semantic-skills/skill-loader.ts` | Sandbox/direct loading, scan gate, enrichment sanitization | +| `extensions/semantic-skills/skill-manifest.ts` | Manifest parsing, DEFAULT_ALLOWED_TOOLS, validation | +| `extensions/semantic-skills/permission-resolver.ts` | Tool allowlist, permission checking | +| `src/security/skill-scanner.ts` | 16-rule scanner + preprocessing | +| `extensions/shared/cortex-client.ts` | Unified CortexClient, DTOs | +| `extensions/shared/cortex-resilience.ts` | CircuitBreaker + resilientFetch | +| `extensions/agent-mesh/index.ts` | Multi-agent plugin: teams, workflows, mailbox, dashboard | +| `extensions/agent-mesh/team-manager.ts` | Cortex-backed team lifecycle | +| `extensions/agent-mesh/workflow-orchestrator.ts` | Workflow orchestrator + registry | +| `extensions/memory-semantic/index.ts` | Memory plugin: rules, agent memory, contextual awareness | +| `extensions/memory-semantic/project-memory.ts` | ProjectMemory (code indexer integration) | +| `extensions/memory-semantic/rules-engine.ts` | Hierarchical Cortex-backed rules | +| `extensions/bash-sandbox/index.ts` | Bash sandbox plugin entry | +| `extensions/interactive-permissions/index.ts` | Permission system plugin entry | +| `extensions/mcp-client/index.ts` | MCP client plugin (4 transports) | +| `extensions/mcp-server/index.ts` | MCP server plugin (stdio + HTTP) | +| `src/tui/vim-handler.ts` | Vim mode (normal/insert, motions, operators) | +| `src/tui/theme/palettes.ts` | 3 theme presets | +| `src/infra/git-worktree.ts` | Git worktree operations | +| `src/cli/headless-cli.ts` | Headless runner (`mayros -p`) | +| `src/cli/plan-cli.ts` | Plan mode CLI | +| `src/plugins/types.ts` | Plugin types, 29 hook definitions | + +## CLI Commands (49 modules) + +``` +acp, batch, browser, channels, code, completion, config, cortex, cron, daemon, +dashboard, devices, directory, dns, docs, doctor, exec-approvals, fork, gateway, +headless, hooks, kg, logs, lsp, mailbox, memory, models, node, nodes, pairing, +plan, plugins, qr, remote, rules, sandbox, search, security, serve, skills, +sync, system, tasks, teleport, trace, tui, update, webhooks, workflow +``` ## Translations (i18n) -| Language | Dir | Status | -| --------------- | ------------- | --------------------------------- | -| Chinese (zh-CN) | `docs/zh-CN/` | **Complete** | -| Spanish (es) | `docs/es/` | Pending — full translation needed | -| Japanese (ja) | `docs/ja/` | Pending — full translation needed | -| Korean (ko) | `docs/ko/` | Pending — full translation needed | -| Hindi (hi) | `docs/hi/` | Pending — full translation needed | +| Language | Dir | Status | +| --------------- | ------------- | ------------ | +| Chinese (zh-CN) | `docs/zh-CN/` | **Complete** | +| Spanish (es) | `docs/es/` | Pending | +| Japanese (ja) | `docs/ja/` | Pending | +| Korean (ko) | `docs/ko/` | Pending | +| Hindi (hi) | `docs/hi/` | Pending | diff --git a/README.md b/README.md index 04902088..a2710196 100644 --- a/README.md +++ b/README.md @@ -182,7 +182,7 @@ Mayros remembers. Not just conversation history — semantic knowledge stored as 1. **MAYROS.md** — flat-file persona and instructions, always loaded into the system prompt 2. **AIngle Cortex** — RDF triple store (`subject → predicate → object`) scoped by namespace. Optional: falls back to file-based memory when unavailable -3. **Titans STM/LTM** — short-term and long-term memory with temporal recall +3. **Ineru STM/LTM** — short-term and long-term memory with temporal recall **Built on top:** diff --git a/VISION.md b/VISION.md index c9cabf58..53359dee 100644 --- a/VISION.md +++ b/VISION.md @@ -12,7 +12,7 @@ Mayros is built by [Apilium Technologies](https://apilium.com). It is designed a ### Architecture - **Gateway** — WebSocket control plane with sessions, presence, config, cron, webhooks, and Canvas host. -- **Semantic Memory** — three-tier architecture: MAYROS.md (lightweight persona), AIngle Cortex (RDF triples, namespace-isolated), Titans STM/LTM. Cortex runs as an HTTP sidecar; when unavailable, Mayros degrades gracefully to markdown. +- **Semantic Memory** — three-tier architecture: MAYROS.md (lightweight persona), AIngle Cortex (RDF triples, namespace-isolated), Ineru STM/LTM. Cortex runs as an HTTP sidecar; when unavailable, Mayros degrades gracefully to markdown. - **Agent Mesh** — multi-agent coordination, delegation, and fusion across devices and channels. - **QuickJS WASM Sandbox** — skills run fully isolated with 18 security layers, no access to fs/net/process. - **38 Extensions** — semantic-skills, agent-mesh, skill-hub, token-economy, IoT bridge, semantic observability, and more. @@ -68,7 +68,7 @@ Memory uses a three-tier architecture: - **MAYROS.md** — lightweight persona file, always available - **AIngle Cortex** — persistent semantic memory via RDF triples, namespace-isolated per agent -- **Titans STM/LTM** — short-term and long-term memory layers +- **Ineru STM/LTM** — short-term and long-term memory layers ### Skills diff --git a/extensions/memory-semantic/index.test.ts b/extensions/memory-semantic/index.test.ts index 7f49b599..157fd348 100644 --- a/extensions/memory-semantic/index.test.ts +++ b/extensions/memory-semantic/index.test.ts @@ -487,14 +487,14 @@ describe("cortex sidecar", () => { }); // ============================================================================ -// TitansClient Tests +// IneruClient Tests // ============================================================================ -describe("titans client", () => { +describe("ineru client", () => { test("constructs correctly", async () => { - const { TitansClient } = await import("./titans-client.js"); + const { IneruClient } = await import("./ineru-client.js"); - const client = new TitansClient({ + const client = new IneruClient({ host: "localhost", port: 19090, autoStart: false, @@ -504,9 +504,9 @@ describe("titans client", () => { }); test("isAvailable returns false when unreachable", async () => { - const { TitansClient } = await import("./titans-client.js"); + const { IneruClient } = await import("./ineru-client.js"); - const client = new TitansClient({ + const client = new IneruClient({ host: "127.0.0.1", port: 19999, autoStart: false, diff --git a/extensions/memory-semantic/index.ts b/extensions/memory-semantic/index.ts index 7058c124..f554e7fd 100644 --- a/extensions/memory-semantic/index.ts +++ b/extensions/memory-semantic/index.ts @@ -30,7 +30,7 @@ import { type SemanticMemoryEntry, } from "./rdf-mapper.js"; import { INJECTION_PATTERNS } from "../semantic-skills/enrichment-sanitizer.js"; -import { TitansClient } from "./titans-client.js"; +import { IneruClient } from "./ineru-client.js"; import { ProjectMemory, detectProjectKnowledge, @@ -114,7 +114,7 @@ const semanticMemoryPlugin = { id: "memory-semantic", name: "Memory (Semantic)", description: - "AIngle Cortex-backed semantic memory with RDF triples, identity graph, and Titans STM/LTM", + "AIngle Cortex-backed semantic memory with RDF triples, identity graph, and Ineru STM/LTM", kind: "memory" as const, configSchema: semanticMemoryConfigSchema, @@ -908,7 +908,7 @@ const semanticMemoryPlugin = { const mayrosMdPath = api.resolvePath("MAYROS.md"); const identityLoader = new IdentityLoader(client, ns, mayrosMdPath); const identityProver = new IdentityProver(client, ns); - const titansClient = new TitansClient(cfg.cortex); + const ineruClient = new IneruClient(cfg.cortex); const projectMemory = new ProjectMemory(client, ns); const rulesEngine = new RulesEngine(client, ns); const agentMemory = new AgentMemory(client, ns); @@ -919,16 +919,16 @@ const semanticMemoryPlugin = { projectMemory, agentMemory, ); - let titansAvailable = false; + let ineruAvailable = false; - async function ensureTitans(): Promise { - // Titans shares the Cortex server — if Cortex is unhealthy, skip probe. + async function ensureIneru(): Promise { + // Ineru shares the Cortex server — if Cortex is unhealthy, skip probe. if (!cortexAvailable) { - titansAvailable = false; + ineruAvailable = false; return false; } - titansAvailable = await titansClient.isAvailable(); - return titansAvailable; + ineruAvailable = await ineruClient.isAvailable(); + return ineruAvailable; } api.registerTool( @@ -986,7 +986,7 @@ const semanticMemoryPlugin = { ); // ======================================================================== - // Titans Memory Tools + // Ineru Memory Tools // ======================================================================== api.registerTool( @@ -1002,14 +1002,14 @@ const semanticMemoryPlugin = { async execute(_toolCallId, params) { const { label } = params as { label?: string }; - if (!(await ensureTitans())) { + if (!(await ensureIneru())) { return { - content: [{ type: "text", text: "Titans Memory unavailable. Cannot checkpoint." }], - details: { action: "skipped", reason: "titans_unavailable" }, + content: [{ type: "text", text: "Ineru Memory unavailable. Cannot checkpoint." }], + details: { action: "skipped", reason: "ineru_unavailable" }, }; } - const result = await titansClient.createCheckpoint(label); + const result = await ineruClient.createCheckpoint(label); return { content: [ { @@ -1047,18 +1047,18 @@ const semanticMemoryPlugin = { parts.push("Graph: offline"); } - // Titans stats - if (await ensureTitans()) { + // Ineru stats + if (await ensureIneru()) { try { - const s = await titansClient.stats(); + const s = await ineruClient.stats(); parts.push(`STM: ${s.stm_count}/${s.stm_capacity} entries`); parts.push(`LTM: ${s.ltm_entity_count} entities, ${s.ltm_link_count} links`); parts.push(`Memory: ${(s.total_memory_bytes / 1024).toFixed(1)} KB`); } catch { - parts.push("Titans: unavailable"); + parts.push("Ineru: unavailable"); } } else { - parts.push("Titans: offline"); + parts.push("Ineru: offline"); } const text = parts.join("\n"); @@ -1368,7 +1368,7 @@ const semanticMemoryPlugin = { ({ program }) => { registerMigrateCli(program, { cortex: client, - titans: titansClient, + ineru: ineruClient, ns, agentId, workspaceDir: api.resolvePath("."), @@ -1382,15 +1382,15 @@ const semanticMemoryPlugin = { // ======================================================================== // Auto-recall: inject relevant memories before agent starts - // Tries Titans recall first (semantic), then Cortex pattern query, then markdown fallback + // Tries Ineru recall first (semantic), then Cortex pattern query, then markdown fallback api.on("before_agent_start", async (event) => { if (!event.prompt || event.prompt.length < 5) return; try { - // Try Titans recall first (best quality: semantic search with STM+LTM) - if (await ensureTitans()) { + // Try Ineru recall first (best quality: semantic search with STM+LTM) + if (await ensureIneru()) { try { - const results = await titansClient.recall({ + const results = await ineruClient.recall({ text: event.prompt, limit: 3, min_importance: 0.3, @@ -1403,14 +1403,14 @@ const semanticMemoryPlugin = { })); api.logger.info?.( - `memory-semantic: injecting ${memories.length} memories (Titans recall)`, + `memory-semantic: injecting ${memories.length} memories (Ineru recall)`, ); return { prependContext: formatRelevantMemoriesContext(memories), }; } } catch { - // Titans recall failed, fall through to Cortex pattern query + // Ineru recall failed, fall through to Cortex pattern query } } @@ -1483,7 +1483,7 @@ const semanticMemoryPlugin = { }); // Auto-capture: store important user messages after agent ends - // Stores both as RDF triples (Cortex) and in Titans STM + // Stores both as RDF triples (Cortex) and in Ineru STM api.on("agent_end", async (event) => { if (!event.success || !event.messages || event.messages.length === 0) return; @@ -1575,17 +1575,17 @@ const semanticMemoryPlugin = { } } - // Also store in Titans STM for fast recall - if (await ensureTitans()) { + // Also store in Ineru STM for fast recall + if (await ensureIneru()) { try { - await titansClient.remember({ + await ineruClient.remember({ entry_type: category, data: text, tags: [category, "auto-capture"], importance: 0.7, }); } catch { - // Titans store failed, already in Cortex + // Ineru store failed, already in Cortex } } @@ -1633,7 +1633,7 @@ const semanticMemoryPlugin = { } }); - // Before compaction: extract structured knowledge + consolidate Titans + // Before compaction: extract structured knowledge + consolidate Ineru api.on("before_compaction", async (event, _ctx) => { try { const messages = event.messages; @@ -1713,10 +1713,10 @@ const semanticMemoryPlugin = { } } - // Consolidate Titans STM → LTM before context is lost - if (cfg.autoConsolidate && (await ensureTitans())) { + // Consolidate Ineru STM → LTM before context is lost + if (cfg.autoConsolidate && (await ensureIneru())) { try { - const result = await titansClient.consolidate(); + const result = await ineruClient.consolidate(); api.logger.info?.( `memory-semantic: consolidated ${result.consolidated} STM entries to LTM`, ); @@ -1840,9 +1840,9 @@ const semanticMemoryPlugin = { } // 2. Create memory checkpoint for resumability - if (!(await ensureTitans())) return; + if (!(await ensureIneru())) return; try { - const result = await titansClient.createCheckpoint(`session-${Date.now()}`); + const result = await ineruClient.createCheckpoint(`session-${Date.now()}`); api.logger.info?.(`memory-semantic: session checkpoint created: ${result.checkpointId}`); } catch (err) { api.logger.warn(`memory-semantic: session checkpoint failed: ${String(err)}`); diff --git a/extensions/memory-semantic/titans-client.ts b/extensions/memory-semantic/ineru-client.ts similarity index 90% rename from extensions/memory-semantic/titans-client.ts rename to extensions/memory-semantic/ineru-client.ts index db101f58..4b4b1a37 100644 --- a/extensions/memory-semantic/titans-client.ts +++ b/extensions/memory-semantic/ineru-client.ts @@ -1,14 +1,14 @@ /** - * HTTP client for Titans Memory endpoints on the Cortex REST API. + * HTTP client for Ineru Memory endpoints on the Cortex REST API. * - * Maps to the /api/v1/memory/* routes that expose the TitansMemory + * Maps to the /api/v1/memory/* routes that expose the IneruMemory * module (STM + LTM with consolidation). */ import type { CortexConfig } from "./config.js"; // ============================================================================ -// DTOs — mirror titans_memory types via Cortex REST +// DTOs — mirror ineru types via Cortex REST // ============================================================================ export type MemoryEntryDto = { @@ -60,7 +60,7 @@ export type CheckpointDto = { // Client // ============================================================================ -export class TitansClient { +export class IneruClient { private readonly baseUrl: string; private readonly headers: Record; @@ -88,11 +88,11 @@ export class TitansClient { try { res = await fetch(url, init); } catch (err) { - throw new Error(`Titans Memory unreachable at ${url}: ${String(err)}`); + throw new Error(`Ineru Memory unreachable at ${url}: ${String(err)}`); } if (!res.ok) { - let errorMsg = `Titans ${method} ${path} failed with ${res.status}`; + let errorMsg = `Ineru ${method} ${path} failed with ${res.status}`; try { const body = (await res.json()) as { error?: string }; if (body.error) errorMsg = body.error; diff --git a/extensions/memory-semantic/migration/cli.ts b/extensions/memory-semantic/migration/cli.ts index 5081bdff..eaafec57 100644 --- a/extensions/memory-semantic/migration/cli.ts +++ b/extensions/memory-semantic/migration/cli.ts @@ -4,12 +4,12 @@ */ import type { CortexClient } from "../cortex-client.js"; -import type { TitansClient } from "../titans-client.js"; +import type { IneruClient } from "../ineru-client.js"; import { Migrator, type MigrationReport } from "./migrator.js"; export type MigrateCliOptions = { cortex: CortexClient; - titans: TitansClient | null; + ineru: IneruClient | null; ns: string; agentId: string; workspaceDir: string; @@ -24,7 +24,7 @@ export function registerMigrateCli( program: any, opts: MigrateCliOptions, ): void { - const migrator = new Migrator(opts.cortex, opts.titans, opts.ns); + const migrator = new Migrator(opts.cortex, opts.ineru, opts.ns); const migrate = program .command("migrate") diff --git a/extensions/memory-semantic/migration/migrator.ts b/extensions/memory-semantic/migration/migrator.ts index 2364f9d4..a7657b0b 100644 --- a/extensions/memory-semantic/migration/migrator.ts +++ b/extensions/memory-semantic/migration/migrator.ts @@ -20,7 +20,7 @@ import { emptyIdentity, } from "../identity/identity-graph.js"; import { memoryToTriples, predicate, agentSubject } from "../rdf-mapper.js"; -import type { TitansClient } from "../titans-client.js"; +import type { IneruClient } from "../ineru-client.js"; import { parseMemoryFile, parseMayrosMd, @@ -63,7 +63,7 @@ export type MigrationReport = { export class Migrator { constructor( private readonly cortex: CortexClient, - private readonly titans: TitansClient | null, + private readonly ineru: IneruClient | null, private readonly ns: string, ) {} @@ -197,10 +197,10 @@ export class Migrator { const text = typeof msg.content === "string" ? msg.content : ""; if (text.length < 10 || text.length > 500) continue; - // Store important messages in Titans STM if available - if (this.titans && !opts.dryRun) { + // Store important messages in Ineru STM if available + if (this.ineru && !opts.dryRun) { try { - await this.titans.remember({ + await this.ineru.remember({ entry_type: "history", data: text, tags: ["migration", "history"], diff --git a/extensions/memory-semantic/package.json b/extensions/memory-semantic/package.json index a4152d44..3117b04b 100644 --- a/extensions/memory-semantic/package.json +++ b/extensions/memory-semantic/package.json @@ -2,7 +2,7 @@ "name": "@apilium/mayros-memory-semantic", "version": "0.1.8", "private": true, - "description": "Mayros semantic memory plugin via AIngle Cortex sidecar (RDF triples, identity graph, Titans STM/LTM)", + "description": "Mayros semantic memory plugin via AIngle Cortex sidecar (RDF triples, identity graph, Ineru STM/LTM)", "type": "module", "dependencies": { "@sinclair/typebox": "0.34.48" diff --git a/extensions/semantic-skills/index.ts b/extensions/semantic-skills/index.ts index ada8f7fa..35e73668 100644 --- a/extensions/semantic-skills/index.ts +++ b/extensions/semantic-skills/index.ts @@ -691,7 +691,7 @@ const semanticSkillsPlugin = { { name: "skill_memory_context", label: "Skill Memory Context", - description: "Recall from Titans memory within the active skill context.", + description: "Recall from Ineru memory within the active skill context.", parameters: Type.Object({ query: Type.String({ description: "Search query for memory recall" }), limit: Type.Optional(Type.Number({ description: "Max results (default: 5)" })), diff --git a/extensions/shared/cortex-version.ts b/extensions/shared/cortex-version.ts index 8f698771..ef055cb2 100644 --- a/extensions/shared/cortex-version.ts +++ b/extensions/shared/cortex-version.ts @@ -5,4 +5,4 @@ * features or API changes. `mayros update` and the sidecar startup * check will compare the installed binary against this value. */ -export const REQUIRED_CORTEX_VERSION = "0.3.8"; +export const REQUIRED_CORTEX_VERSION = "0.4.0"; From d2c0d7df272f0ba36eab4cff062dacf23f5554b6 Mon Sep 17 00:00:00 2001 From: It Apilium Date: Mon, 9 Mar 2026 13:13:42 +0100 Subject: [PATCH 2/2] chore: bump to v0.1.9 and require Cortex >= 0.4.0 --- extensions/agent-mesh/package.json | 2 +- extensions/analytics/package.json | 2 +- extensions/bash-sandbox/package.json | 2 +- extensions/bluebubbles/package.json | 2 +- extensions/ci-plugin/package.json | 2 +- extensions/code-indexer/package.json | 2 +- extensions/code-tools/package.json | 2 +- extensions/copilot-proxy/package.json | 2 +- extensions/cortex-sync/package.json | 2 +- extensions/diagnostics-otel/package.json | 2 +- extensions/discord/package.json | 2 +- extensions/feishu/package.json | 2 +- extensions/google-antigravity-auth/package.json | 2 +- extensions/google-gemini-cli-auth/package.json | 2 +- extensions/googlechat/package.json | 2 +- extensions/imessage/package.json | 2 +- extensions/interactive-permissions/package.json | 2 +- extensions/iot-bridge/package.json | 2 +- extensions/irc/package.json | 2 +- extensions/line/package.json | 2 +- extensions/llm-hooks/package.json | 2 +- extensions/llm-task/package.json | 2 +- extensions/lobster/package.json | 2 +- extensions/lsp-bridge/package.json | 2 +- extensions/matrix/CHANGELOG.md | 6 ++++++ extensions/matrix/package.json | 2 +- extensions/mattermost/package.json | 2 +- extensions/mcp-client/package.json | 2 +- extensions/mcp-server/package.json | 2 +- extensions/memory-core/package.json | 2 +- extensions/memory-lancedb/package.json | 2 +- extensions/memory-semantic/package.json | 2 +- extensions/minimax-portal-auth/package.json | 2 +- extensions/msteams/CHANGELOG.md | 6 ++++++ extensions/msteams/package.json | 2 +- extensions/nextcloud-talk/package.json | 2 +- extensions/nostr/CHANGELOG.md | 6 ++++++ extensions/nostr/package.json | 2 +- extensions/open-prose/package.json | 2 +- extensions/semantic-observability/package.json | 2 +- extensions/semantic-skills/package.json | 2 +- extensions/signal/package.json | 2 +- extensions/skill-hub/package.json | 2 +- extensions/slack/package.json | 2 +- extensions/telegram/package.json | 2 +- extensions/tlon/package.json | 2 +- extensions/token-economy/package.json | 2 +- extensions/twitch/CHANGELOG.md | 6 ++++++ extensions/twitch/package.json | 2 +- extensions/voice-call/CHANGELOG.md | 6 ++++++ extensions/voice-call/package.json | 2 +- extensions/whatsapp/package.json | 2 +- extensions/zalo/CHANGELOG.md | 6 ++++++ extensions/zalo/package.json | 2 +- extensions/zalouser/CHANGELOG.md | 6 ++++++ extensions/zalouser/package.json | 2 +- package.json | 2 +- 57 files changed, 92 insertions(+), 50 deletions(-) diff --git a/extensions/agent-mesh/package.json b/extensions/agent-mesh/package.json index 875fe0ac..51c41682 100644 --- a/extensions/agent-mesh/package.json +++ b/extensions/agent-mesh/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-agent-mesh", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Mayros multi-agent coordination mesh with shared namespaces, delegation, and knowledge fusion", "type": "module", diff --git a/extensions/analytics/package.json b/extensions/analytics/package.json index 985dc56c..2a9d076f 100644 --- a/extensions/analytics/package.json +++ b/extensions/analytics/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-analytics", - "version": "0.1.8", + "version": "0.1.9", "private": true, "type": "module", "main": "index.ts", diff --git a/extensions/bash-sandbox/package.json b/extensions/bash-sandbox/package.json index 659377a2..e89e0149 100644 --- a/extensions/bash-sandbox/package.json +++ b/extensions/bash-sandbox/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-bash-sandbox", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Bash command sandbox with domain allowlist, command blocklist, and dangerous pattern detection", "type": "module", diff --git a/extensions/bluebubbles/package.json b/extensions/bluebubbles/package.json index 6449708d..1e46ed17 100644 --- a/extensions/bluebubbles/package.json +++ b/extensions/bluebubbles/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-bluebubbles", - "version": "0.1.8", + "version": "0.1.9", "description": "Mayros BlueBubbles channel plugin", "license": "MIT", "type": "module", diff --git a/extensions/ci-plugin/package.json b/extensions/ci-plugin/package.json index 0b39f5a1..cae7cff9 100644 --- a/extensions/ci-plugin/package.json +++ b/extensions/ci-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-ci-plugin", - "version": "0.1.8", + "version": "0.1.9", "description": "CI/CD pipeline integration for Mayros — GitHub Actions and GitLab CI providers", "type": "module", "dependencies": { diff --git a/extensions/code-indexer/package.json b/extensions/code-indexer/package.json index 091c7ff8..aeffa01a 100644 --- a/extensions/code-indexer/package.json +++ b/extensions/code-indexer/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-code-indexer", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Mayros code indexer plugin — regex-based codebase scanning with RDF triple storage in Cortex", "type": "module", diff --git a/extensions/code-tools/package.json b/extensions/code-tools/package.json index dad61025..b2aba150 100644 --- a/extensions/code-tools/package.json +++ b/extensions/code-tools/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-code-tools", - "version": "0.1.8", + "version": "0.1.9", "private": true, "type": "module", "dependencies": { diff --git a/extensions/copilot-proxy/package.json b/extensions/copilot-proxy/package.json index 5d833f8c..aafbea4a 100644 --- a/extensions/copilot-proxy/package.json +++ b/extensions/copilot-proxy/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-copilot-proxy", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Mayros Copilot Proxy provider plugin", "type": "module", diff --git a/extensions/cortex-sync/package.json b/extensions/cortex-sync/package.json index 244cac4c..3b293bda 100644 --- a/extensions/cortex-sync/package.json +++ b/extensions/cortex-sync/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-cortex-sync", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Cortex DAG synchronization — peer discovery, delta sync, and cross-device knowledge replication", "type": "module", diff --git a/extensions/diagnostics-otel/package.json b/extensions/diagnostics-otel/package.json index b62214e5..5238f1bc 100644 --- a/extensions/diagnostics-otel/package.json +++ b/extensions/diagnostics-otel/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-diagnostics-otel", - "version": "0.1.8", + "version": "0.1.9", "description": "Mayros diagnostics OpenTelemetry exporter", "license": "MIT", "type": "module", diff --git a/extensions/discord/package.json b/extensions/discord/package.json index 80786058..af477ddd 100644 --- a/extensions/discord/package.json +++ b/extensions/discord/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-discord", - "version": "0.1.8", + "version": "0.1.9", "description": "Mayros Discord channel plugin", "license": "MIT", "type": "module", diff --git a/extensions/feishu/package.json b/extensions/feishu/package.json index c9998700..ed2e6fa6 100644 --- a/extensions/feishu/package.json +++ b/extensions/feishu/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-feishu", - "version": "0.1.8", + "version": "0.1.9", "description": "Mayros Feishu/Lark channel plugin (community maintained by @m1heng)", "license": "MIT", "type": "module", diff --git a/extensions/google-antigravity-auth/package.json b/extensions/google-antigravity-auth/package.json index 950b5831..62b1a1ad 100644 --- a/extensions/google-antigravity-auth/package.json +++ b/extensions/google-antigravity-auth/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-google-antigravity-auth", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Mayros Google Antigravity OAuth provider plugin", "type": "module", diff --git a/extensions/google-gemini-cli-auth/package.json b/extensions/google-gemini-cli-auth/package.json index 624e6d8f..e22d7ee5 100644 --- a/extensions/google-gemini-cli-auth/package.json +++ b/extensions/google-gemini-cli-auth/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-google-gemini-cli-auth", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Mayros Gemini CLI OAuth provider plugin", "type": "module", diff --git a/extensions/googlechat/package.json b/extensions/googlechat/package.json index e486acd0..7f60ef9b 100644 --- a/extensions/googlechat/package.json +++ b/extensions/googlechat/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-googlechat", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Mayros Google Chat channel plugin", "type": "module", diff --git a/extensions/imessage/package.json b/extensions/imessage/package.json index 85e58585..d60851d5 100644 --- a/extensions/imessage/package.json +++ b/extensions/imessage/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-imessage", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Mayros iMessage channel plugin", "type": "module", diff --git a/extensions/interactive-permissions/package.json b/extensions/interactive-permissions/package.json index e593cc93..62517ddd 100644 --- a/extensions/interactive-permissions/package.json +++ b/extensions/interactive-permissions/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-interactive-permissions", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Runtime permission dialogs, bash intent classification, policy persistence, and audit trail", "type": "module", diff --git a/extensions/iot-bridge/package.json b/extensions/iot-bridge/package.json index 41cafdcf..0d5e2fc7 100644 --- a/extensions/iot-bridge/package.json +++ b/extensions/iot-bridge/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-iot-bridge", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "IoT Bridge — connect MAYROS agents to aingle_minimal IoT nodes via REST", "type": "module", diff --git a/extensions/irc/package.json b/extensions/irc/package.json index caa4638e..ae25c5cc 100644 --- a/extensions/irc/package.json +++ b/extensions/irc/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-irc", - "version": "0.1.8", + "version": "0.1.9", "description": "Mayros IRC channel plugin", "license": "MIT", "type": "module", diff --git a/extensions/line/package.json b/extensions/line/package.json index f9294759..6aef2724 100644 --- a/extensions/line/package.json +++ b/extensions/line/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-line", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Mayros LINE channel plugin", "type": "module", diff --git a/extensions/llm-hooks/package.json b/extensions/llm-hooks/package.json index 50099ba7..a3701dc1 100644 --- a/extensions/llm-hooks/package.json +++ b/extensions/llm-hooks/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-llm-hooks", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Markdown-defined hooks evaluated by LLM for policy enforcement", "type": "module", diff --git a/extensions/llm-task/package.json b/extensions/llm-task/package.json index cfddeb23..5f644b18 100644 --- a/extensions/llm-task/package.json +++ b/extensions/llm-task/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-llm-task", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Mayros JSON-only LLM task plugin", "type": "module", diff --git a/extensions/lobster/package.json b/extensions/lobster/package.json index e0ddd209..54a60531 100644 --- a/extensions/lobster/package.json +++ b/extensions/lobster/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-lobster", - "version": "0.1.8", + "version": "0.1.9", "description": "Lobster workflow tool plugin (typed pipelines + resumable approvals)", "license": "MIT", "type": "module", diff --git a/extensions/lsp-bridge/package.json b/extensions/lsp-bridge/package.json index 7edcd72a..f3d2b2f6 100644 --- a/extensions/lsp-bridge/package.json +++ b/extensions/lsp-bridge/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-lsp-bridge", - "version": "0.1.8", + "version": "0.1.9", "description": "Cortex-backed language server bridge for Mayros — hover, diagnostics, go-to-definition", "type": "module", "dependencies": { diff --git a/extensions/matrix/CHANGELOG.md b/extensions/matrix/CHANGELOG.md index 6d2850d3..0b672c05 100644 --- a/extensions/matrix/CHANGELOG.md +++ b/extensions/matrix/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 0.1.9 + +### Changes + +- Version alignment with core Mayros release numbers. + ## 0.1.8 ### Changes diff --git a/extensions/matrix/package.json b/extensions/matrix/package.json index c7644687..eea372c8 100644 --- a/extensions/matrix/package.json +++ b/extensions/matrix/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-matrix", - "version": "0.1.8", + "version": "0.1.9", "description": "Mayros Matrix channel plugin", "license": "MIT", "type": "module", diff --git a/extensions/mattermost/package.json b/extensions/mattermost/package.json index 6b9a0a33..bea4b274 100644 --- a/extensions/mattermost/package.json +++ b/extensions/mattermost/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-mattermost", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Mayros Mattermost channel plugin", "type": "module", diff --git a/extensions/mcp-client/package.json b/extensions/mcp-client/package.json index 98bbe3bd..5ba6bfcf 100644 --- a/extensions/mcp-client/package.json +++ b/extensions/mcp-client/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-mcp-client", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "MCP server client with multi-transport support and Cortex tool registry", "type": "module", diff --git a/extensions/mcp-server/package.json b/extensions/mcp-server/package.json index f16d24a8..b54bdf15 100644 --- a/extensions/mcp-server/package.json +++ b/extensions/mcp-server/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-mcp-server", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "MCP server exposing Mayros tools, Cortex resources, and workflow prompts via Model Context Protocol", "type": "module", diff --git a/extensions/memory-core/package.json b/extensions/memory-core/package.json index aa5dcce5..ddaf870c 100644 --- a/extensions/memory-core/package.json +++ b/extensions/memory-core/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-memory-core", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Mayros core memory search plugin", "type": "module", diff --git a/extensions/memory-lancedb/package.json b/extensions/memory-lancedb/package.json index 5ab3e2b8..f091206b 100644 --- a/extensions/memory-lancedb/package.json +++ b/extensions/memory-lancedb/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-memory-lancedb", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Mayros LanceDB-backed long-term memory plugin with auto-recall/capture", "type": "module", diff --git a/extensions/memory-semantic/package.json b/extensions/memory-semantic/package.json index 3117b04b..7ba8766a 100644 --- a/extensions/memory-semantic/package.json +++ b/extensions/memory-semantic/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-memory-semantic", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Mayros semantic memory plugin via AIngle Cortex sidecar (RDF triples, identity graph, Ineru STM/LTM)", "type": "module", diff --git a/extensions/minimax-portal-auth/package.json b/extensions/minimax-portal-auth/package.json index 40fc040b..f94a73fc 100644 --- a/extensions/minimax-portal-auth/package.json +++ b/extensions/minimax-portal-auth/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-minimax-portal-auth", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Mayros MiniMax Portal OAuth provider plugin", "type": "module", diff --git a/extensions/msteams/CHANGELOG.md b/extensions/msteams/CHANGELOG.md index 8e430ace..f365c8a1 100644 --- a/extensions/msteams/CHANGELOG.md +++ b/extensions/msteams/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 0.1.9 + +### Changes + +- Version alignment with core Mayros release numbers. + ## 0.1.8 ### Changes diff --git a/extensions/msteams/package.json b/extensions/msteams/package.json index 91b6f1a1..3f36bd93 100644 --- a/extensions/msteams/package.json +++ b/extensions/msteams/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-msteams", - "version": "0.1.8", + "version": "0.1.9", "description": "Mayros Microsoft Teams channel plugin", "license": "MIT", "type": "module", diff --git a/extensions/nextcloud-talk/package.json b/extensions/nextcloud-talk/package.json index 63396d89..968a6214 100644 --- a/extensions/nextcloud-talk/package.json +++ b/extensions/nextcloud-talk/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-nextcloud-talk", - "version": "0.1.8", + "version": "0.1.9", "description": "Mayros Nextcloud Talk channel plugin", "license": "MIT", "type": "module", diff --git a/extensions/nostr/CHANGELOG.md b/extensions/nostr/CHANGELOG.md index 9fcbbd55..dd9c4691 100644 --- a/extensions/nostr/CHANGELOG.md +++ b/extensions/nostr/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 0.1.9 + +### Changes + +- Version alignment with core Mayros release numbers. + ## 0.1.8 ### Changes diff --git a/extensions/nostr/package.json b/extensions/nostr/package.json index 5bde3b09..0a1af2d0 100644 --- a/extensions/nostr/package.json +++ b/extensions/nostr/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-nostr", - "version": "0.1.8", + "version": "0.1.9", "description": "Mayros Nostr channel plugin for NIP-04 encrypted DMs", "license": "MIT", "type": "module", diff --git a/extensions/open-prose/package.json b/extensions/open-prose/package.json index 0f611f1d..096f8f77 100644 --- a/extensions/open-prose/package.json +++ b/extensions/open-prose/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-open-prose", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "OpenProse VM skill pack plugin (slash command + telemetry).", "type": "module", diff --git a/extensions/semantic-observability/package.json b/extensions/semantic-observability/package.json index 30d4be4d..9da6e562 100644 --- a/extensions/semantic-observability/package.json +++ b/extensions/semantic-observability/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-semantic-observability", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Mayros semantic observability plugin — structured tracing of agent decisions as RDF events", "type": "module", diff --git a/extensions/semantic-skills/package.json b/extensions/semantic-skills/package.json index e91a84d4..eea43606 100644 --- a/extensions/semantic-skills/package.json +++ b/extensions/semantic-skills/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-semantic-skills", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Mayros semantic skills plugin — graph-aware skills with PoL assertions, ZK proofs, and permission gating", "type": "module", diff --git a/extensions/signal/package.json b/extensions/signal/package.json index d74c9d83..52791d43 100644 --- a/extensions/signal/package.json +++ b/extensions/signal/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-signal", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Mayros Signal channel plugin", "type": "module", diff --git a/extensions/skill-hub/package.json b/extensions/skill-hub/package.json index ea9b2983..76e68332 100644 --- a/extensions/skill-hub/package.json +++ b/extensions/skill-hub/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-skill-hub", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Apilium Hub marketplace — publish, install, sign, and verify semantic skills", "type": "module", diff --git a/extensions/slack/package.json b/extensions/slack/package.json index 799f2442..95a55910 100644 --- a/extensions/slack/package.json +++ b/extensions/slack/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-slack", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Mayros Slack channel plugin", "type": "module", diff --git a/extensions/telegram/package.json b/extensions/telegram/package.json index 58ca5890..5ebd659e 100644 --- a/extensions/telegram/package.json +++ b/extensions/telegram/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-telegram", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Mayros Telegram channel plugin", "type": "module", diff --git a/extensions/tlon/package.json b/extensions/tlon/package.json index 1247188b..653eca36 100644 --- a/extensions/tlon/package.json +++ b/extensions/tlon/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-tlon", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Mayros Tlon/Urbit channel plugin", "type": "module", diff --git a/extensions/token-economy/package.json b/extensions/token-economy/package.json index 2f816147..f6385a36 100644 --- a/extensions/token-economy/package.json +++ b/extensions/token-economy/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-token-economy", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Mayros token economy plugin — per-session cost tracking, configurable budgets with soft-stop, and prompt-level memoization", "type": "module", diff --git a/extensions/twitch/CHANGELOG.md b/extensions/twitch/CHANGELOG.md index 6d07061f..107ef2e7 100644 --- a/extensions/twitch/CHANGELOG.md +++ b/extensions/twitch/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 0.1.9 + +### Changes + +- Version alignment with core Mayros release numbers. + ## 0.1.8 ### Changes diff --git a/extensions/twitch/package.json b/extensions/twitch/package.json index cb37c044..2e210f37 100644 --- a/extensions/twitch/package.json +++ b/extensions/twitch/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-twitch", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Mayros Twitch channel plugin", "type": "module", diff --git a/extensions/voice-call/CHANGELOG.md b/extensions/voice-call/CHANGELOG.md index 81e6876b..1fe41245 100644 --- a/extensions/voice-call/CHANGELOG.md +++ b/extensions/voice-call/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 0.1.9 + +### Changes + +- Version alignment with core Mayros release numbers. + ## 0.1.8 ### Changes diff --git a/extensions/voice-call/package.json b/extensions/voice-call/package.json index 0766f394..7962cc9d 100644 --- a/extensions/voice-call/package.json +++ b/extensions/voice-call/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-voice-call", - "version": "0.1.8", + "version": "0.1.9", "description": "Mayros voice-call plugin", "license": "MIT", "type": "module", diff --git a/extensions/whatsapp/package.json b/extensions/whatsapp/package.json index 53ded6d6..625f2873 100644 --- a/extensions/whatsapp/package.json +++ b/extensions/whatsapp/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-whatsapp", - "version": "0.1.8", + "version": "0.1.9", "private": true, "description": "Mayros WhatsApp channel plugin", "type": "module", diff --git a/extensions/zalo/CHANGELOG.md b/extensions/zalo/CHANGELOG.md index 8b11e812..c5d94fb3 100644 --- a/extensions/zalo/CHANGELOG.md +++ b/extensions/zalo/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 0.1.9 + +### Changes + +- Version alignment with core Mayros release numbers. + ## 0.1.8 ### Changes diff --git a/extensions/zalo/package.json b/extensions/zalo/package.json index d86889dd..e9178f3e 100644 --- a/extensions/zalo/package.json +++ b/extensions/zalo/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-zalo", - "version": "0.1.8", + "version": "0.1.9", "description": "Mayros Zalo channel plugin", "license": "MIT", "type": "module", diff --git a/extensions/zalouser/CHANGELOG.md b/extensions/zalouser/CHANGELOG.md index ce9c1a0b..61bbff0d 100644 --- a/extensions/zalouser/CHANGELOG.md +++ b/extensions/zalouser/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 0.1.9 + +### Changes + +- Version alignment with core Mayros release numbers. + ## 0.1.8 ### Changes diff --git a/extensions/zalouser/package.json b/extensions/zalouser/package.json index c136c28f..869a1b56 100644 --- a/extensions/zalouser/package.json +++ b/extensions/zalouser/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros-zalouser", - "version": "0.1.8", + "version": "0.1.9", "description": "Mayros Zalo Personal Account plugin via zca-cli", "license": "MIT", "type": "module", diff --git a/package.json b/package.json index 8f3841c6..cec14014 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@apilium/mayros", - "version": "0.1.8", + "version": "0.1.9", "description": "Multi-channel AI agent framework with knowledge graph, MCP support, and coding CLI", "keywords": [ "agent",