@karmaniverous/jeeves
    Preparing search index...

    Changelog

    All notable changes to this project will be documented in this file.

    • (plugin) Default timeout for fetchJson/postJson with per-call override (#119)
    • (scripts) Hoist parseRunnableArgs and retry helpers from jeeves-scripts-core (#126)
    • (cli) Jeeves patch-openclaw hoisted from the scripts template (#121)
    • (cli) Install and update run the OpenClaw patch step (#121)
    • (skills) Ship jeeves-coding and jeeves-design from the package (jeeves-tools#207)
    • (skills) Generic jeeves-platform in the package (jeeves-tools#207, jeeves-tools#221)
    • (skills) Self-hosted jeeves-onboarding and checklist template (jeeves-tools#207)
    • (cli) Jeeves skills install/uninstall/status with managed and self-hosted modes (jeeves-tools#207)
    • (cli) Install, update, uninstall and status run the skills step (jeeves-tools#207)
    • (cli) Bootstrap-file size report after install, --strict (#120)
    • (skills) Jeeves-platform pointer line passes the fleet-content guard
    • Complete 0.7.0 spec review gaps
    • Address Copilot review on #128
    • SOLID/DRY pass, upstream-fixed, test and docs gaps
    • 0.7.0 guides and migration notes
    • Update dependencies
    • Release v0.6.0
    • (cli) Hide expected transient OpenClaw warnings during install; restart notice only when a change was not applied live (#117, #118)
    • Removed stan support
    • Prettier --check . passes; silence rollup config-loader outputToFilesystem notice
    • Release v0.6.0-10
    • (config-apply) Write the merged raw config and keep the file mode (#113, #114)
    • (service) System units via plain systemctl + polkit (no sudo under NoNewPrivileges); status names the unit (#115, #116)
    • Config apply semantics; polkit-based service management and status detail (#113-#116)
    • (tsdoc) Keep a code span on one line (lint 0 warnings)
    • Release v0.6.0-9
    • (install) Survive gateway reload stalls during plugin installs (#112)
    • (install) Reference openclaw/openclaw#159698; test hook grant rides the single config write (#112)
    • Release v0.6.0-8
    • (service) Manage existing Linux system units in place; fail fast without a user bus (#111)
    • (release) Build after the version bump so dist inlines the published CORE_VERSION (#110)
    • Release v0.6.0-7
    • Declare @commander-js/extra-typings as a runtime dependency and guard .d.ts imports
    • Release v0.6.0-6
    • [breaking] CreatePluginToolset options argument is required
    • Release v0.6.0-5
    • CreatePluginToolset calls the plugin's apiUrl, defaultPort only as fallback
    • Release v0.6.0-4
    • Write each plugin's config before its install, then sweep
    • Release v0.6.0-3
    • Sweep pending plugin migrations before config writes and before each retry
    • Release v0.6.0-2
    • Retry config writes while freshly installed plugins converge
    • Release v0.6.0-1
    • [breaking] Static-only platform content; retire installer CLI and ComponentWriter (#108)
    • (cli) Install and update Jeeves plugins through the OpenClaw CLI
    • (cli) Write plugin config in jeeves install
    • (cli) Batch-file config writes, idempotent installs, declared hook grants, update fills config, uninstall removes plugins
    • (cli) Keep the server pluginKey and jeeves-server keys._plugin in step
    • (plugin) ValidateConversationHooks build check for declared conversation hooks
    • (cli) Edit keys._plugin in place with jsonc-parser
    • [breaking] Jeeves install no longer writes platform skills
    • [breaking] Drop registryCache from the core config schema
    • [breaking] Drop the spec templates from core
    • [breaking] Drop the unused SKILLS_DIR export
    • (api) Narrow jsonpath-plus 11 unknown result in config query
    • Serialise stale lock takeover so a freshly re-taken lock is never deleted
    • Redact JSON-escaped secrets in batch file output
    • Revert "[108] feat(cli): edit keys._plugin in place with jsonc-parser"

    This reverts commit 8e1c92c6d5f4c14770861db50e3bb0ad6889749d.

    • [breaking] Make static platform content internal to the jeeves CLI
    • [breaking] Remove createAsyncContentCache
    • Share isRecord, getErrorCode, getErrorMessage and exit formatting
    • Drive per-plugin config, CLI options and id mapping from one descriptor table
    • Separate plan building, step description and command-line formatting
    • Share CLI run output, install options and service probing across commands
    • Tidy module names, internal exports and stale docs
    • Dedupe test fixtures (temp dirs, console capture, command deps, plugin ids)
    • Jeeves CLI owns content and plugin install
    • Plugin config options and new-box flow
    • Batch-file writes, idempotent installs, declared conversation hooks, update config, uninstall removes plugins
    • Server plugin key sync and the conversation hook build check
    • Sync README, guides, skill, diagram sources and TSDoc with #109 code
    • Regenerate diagram PNGs from updated PlantUML sources
    • Core ships no skills; registryCache removed
    • Regenerate diagram PNGs without the skills output
    • Core ships no spec templates
    • Regenerate managed-content-lifecycle diagram without templates
    • Spec templates ship with the jeeves-design skill
    • Apply prettier 3.9 union formatting
    • Cover plugin workflow gaps (runner errors, inspect specs, key sync, file-sourced pluginKey, server-write failure, deps wiring)
    • Cover file lock races, managed block removal, frontmatter blocks, config query edge cases
    • Cover install/uninstall/status command paths (content-only, default targets, responding services, memory hygiene)
    • Remove duplicate and constant-only tests, make descriptor hook tests able to fail
    • Delete stale root TOOLS.md snapshot
    • Release v0.6.0-0
    • (plugin) Run npm install in extension directory (#103)
    • (api) Accept explicit configPath in createConfigApplyHandler (#104)
    • Add copilot review instructions
    • Release v0.5.12
    • Hoist substituteEnvVars to core (closes #90)
    • Hoist Slack file download fallback to platform content (closes #93)
    • Reject Windows drive-letter paths on non-Windows platforms (closes #100)
    • Validate drive-letter paths before resolve() in initFromOptions (closes #100)
    • Npm audit fix
    • Add substituteEnvVars immutability test
    • Migrate changelog to git-cliff (closes #95)
    • Update dependencies
    • Update lefthook, fix lint from typescript-eslint 8.60
    • Release v0.5.11
    • Bundle generic platform skills in seedContent (#94)
    • Add npm publish safety net (.npmignore + gitignore *.local)
    • Add npm-pack-check CI workflow
    • Move changelog generation to after:bump hook
    • Update major deps (eslint-plugin-simple-import-sort 13, release-it 20, typescript 6)
    • Release v0.5.10
    • Revert version bump (release is owner-controlled)
    • Race condition in start() during finishing cycle, remove redundant nullish coalescing
    • [85,86,87,76,79,72] feat: ComponentWriter lifecycle fix, staleness removal, Handlebars migration, content updates, docs

    • Fix ComponentWriter reschedule race by adding explicit stopped flag (#85)

    • Remove flawed memory staleness heuristics (staleDays, extractMostRecentDate) (#86)

    • Migrate content templating from bespoke comment-conditionals to Handlebars (#87)

    • Add handlebars runtime dependency for template rendering

    • Tighten Slack threading rule to prohibit bot-initiated threads (#87)

    • Add Post-Upgrade Maintenance guidance to Platform section (#76)

    • Add Source Code Preference with devRepos config mapping (#79)

    • Add devRepos to workspace core config schema and JSON Schema

    • Update platform-overview.md with HEARTBEAT flows and dual-layer locking (#72)

    • Remove staleness references from documentation and README

    Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

    • Npm audit fix
    • Hoist workspace config load to ComponentWriter cycle (DRY)
    • Add restart lifecycle and devRepos schema coverage
    • Bump version to 0.5.9, update deps, fix lint warnings from updated eslint rules
    • Release v0.5.9
    • Resolve config apply path from registered override (#83) and downgrade transient fetch errors to concise warnings (#77)
    • Traverse full error cause chain for transient classification
    • Release v0.5.8
    • Condense managed content and rewrite HEARTBEAT alerts
    • Use dynamic budget in HEARTBEAT alert text
    • Release v0.5.7
    • Serialize managed content writer cycle
    • Preserve file lock safety for managed writes
    • Prevent component writer cycle reentry
    • Npm audit fix
    • Release v0.5.6
    • Preserve dist/ subdirectory in plugin install layout
    • Release v0.5.5
    • [breaking] Replace distDir param with importMetaUrl in createPluginCli
    • Validate dist directory exists before copying
    • Npm audit fix
    • Release v0.5.4
    • V0.5.2 patch release
    • Complete v0.5.2 spec implementation
    • Address Gemini review feedback on PR #71
    • SOLID/DRY pass across codebase
    • Sync docs with v0.5.2 implementation
    • Add missing test coverage for utils and workspace health
    • Release v0.5.3
    • Integrate memory hygiene into HEARTBEAT cycle (Phase 9)
    • Add .js extension to test import (Gemini review)
    • Fix
    • Update skill with HEARTBEAT memory integration
    • Release v0.5.1
    • Node 22 runtime floor
    • Keep managed blocks stationary and move cleanup warning inside block
    • Escalate cleanup via gateway session spawn
    • Shared workspace config loader and jeeves config command
    • Memory hygiene + deployed jeeves skill (Phase 7)
    • Address Gemini review โ€” cross-contamination and orphaned markers
    • Address Gemini review โ€” remove redundant check, deduplicate escalation
    • Address Gemini review โ€” env guard, absolute paths, warn on bad config, dynamic output
    • Address Gemini review โ€” zero-budget guard, remove redundant replace
    • Use semver.major() for Node version check
    • Extract heartbeat cycle and cleanup scan from ComponentWriter
    • Sync README and guides with v0.5.0 features
    • Remove Phase 5 files accidentally included in Phase 4 PR
    • Release v0.5.0
    • Plugin installer fix + utility hoist + getPackageVersion (#57)
    • Fill test gaps for Phase 1 validation
    • Release v0.4.7
    • Call init() before descriptor.run() in start command
    • Release v0.4.6
    • Replace spawn recursion with descriptor.run in start command
    • Remove temp scripts
    • Remove remaining temp scripts
    • Release v0.4.5
    • Clean up temp files on failed atomic write + guard invalid semver in tests
    • Update dependencies
    • Release v0.4.4
    • Config CLI tree and config apply wire format
    • Release v0.4.3
    • Add customMerge hook to createConfigApplyHandler
    • Defensive nullish coalescing in customMerge test mock
    • Release v0.4.2
    • Phase 1 - descriptor schema, status handler, plugin CLI
    • Phase 2 - service manager, config apply handler, writer migration
    • Phase 3 - service CLI factory, plugin toolset factory
    • Phase 4 - unified CLI with dynamic subcommand discovery
    • Increase timeout for discoverComponents tests
    • Address Gemini review comments
    • Remove dead JeevesComponent types and extract shared test helper
    • Add CLI integration tests for createServiceCli
    • Remove temp commit script
    • Release v0.4.1
    • V0.4.0 infrastructure (C2-C6, C8)
    • C3 getBindAddress + C7 getServiceState
    • C9 heading-based HEARTBEAT section writer
    • C10 HEARTBEAT health orchestration
    • C11 CLI writes initial HEARTBEAT + C12 AGENTS content update
    • Proactive session-start bootstrap via AGENTS directive
    • Proactive update alerts in HEARTBEAT
    • Resolve commander ESM import failure in published CLI build (#41) (#41)
    • Export all new v0.4.0 public API from src/index.ts
    • Address Gemini review comments
    • Npm audit fix
    • SOLID/DRY cleanup
    • Orchestrator unit tests (10 cases)
    • Fill coverage gaps
    • Pass all quality gates (lint, knip, typecheck)
    • Release v0.4.0
    • Remove double shebang from CLI entry point
    • Strengthen managed section content for 0.3.1
    • Move ALL_MARKERS to constants/markers.ts as single source of truth
    • Add TSDoc to inline type properties in PluginApi and ToolResult
    • Release v0.3.1
    • Implement v0.3.0 dev plan โ€” remove probing, SDK cleanup, content updates
    • Remove dead code, replace Handlebars markers with HTML comments
    • SOLID/DRY cleanup โ€” extract fetchWithTimeout, remove deprecated re-export
    • Close coverage gaps โ€” fetchWithTimeout, statusCommand, template branches
    • Remove trivial tests โ€” type-assignability checks, tautological assertions
    • Remove temp script
    • Release v0.3.0
    • Phase 1 โ€” Plugin SDK types and utilities
    • Phase 2 โ€” Managed content removal, semver fix, component versions
    • Phase 3 โ€” Config query handler with JSONPath support
    • Patch tools.alsoAllow, read component versions in platform refresh, consolidate resolveWorkspacePath
    • Npm audit fix
    • Extract shared fileOps (atomicWrite, withFileLock, constants) from managed section files
    • Extract buildServiceRows from refreshPlatformContent
    • Extract ManagedMarkers interface from inline types
    • Update README and guides for v0.2.0 Plugin SDK
    • Add 400 error path test for invalid JSONPath in configQuery
    • Remove stray _push.cjs helper script
    • Release v0.2.0
    • Inline CORE_VERSION at build time, add H1 titles to SOUL/AGENTS, merge Service Health into Platform table
    • Release v0.1.6
    • Check config workspace before resolvePath (resolvePath returns cwd, not workspace)
    • Release v0.1.5
    • Add resolveWorkspacePath to core (fixes writer writing to system32 when gateway cwd is C:\Windows\system32)
    • Release v0.1.4
    • Inline content files at build time via rollup md plugin (fixes empty managed sections when bundled into consumers)
    • Release v0.1.3
    • Use package-directory for content file resolution (fixes empty managed sections)
    • Release v0.1.2
    • Add async content cache helper for sync generateToolsContent
    • Resolve package.json from dist/ via directory walk (fixes MODULE_NOT_FOUND when consumed as dependency)
    • Use package-directory instead of hand-rolled package.json resolution
    • Release v0.1.1
    • Author content files for Tasks 11-15
    • Core library foundation (Tasks 1-6a, 7-9)
    • Tasks 10, 16-22 โ€” refreshPlatformContent, CLI commands, integration tests
    • Read CORE_VERSION from package.json instead of hardcoding
    • Add DO NOT EDIT to markers, H1 title in section mode, fix tests to use constants
    • Initial commit
    • Revise Genesis section and attribution wording

    Updated the Genesis section and improved the attribution line.

    Reformat poem for clarity and add line breaks.

    • Update README with clearer installation and identity info

    Rephrase installation instructions and improve clarity about Jeeves' identity and functionality.

    • Refactor OpenClaw description for clarity
    • Update documentation links in README.md
    • Updated settings
    • White background instead of transparent
    • Update project title in README with emoji
    • Change header order in README.md
    • Remove historical context from README

    Removed historical context about the 1930s ports from the README.

    • Extract shared CLI defaults to cliDefaults.ts (DRY)
    • Extract sortSectionsByOrder, use CLEANUP_FLAG constant (DRY)
    • Author README, TypeDoc guides, fix all TSDoc warnings
    • Rewrite README - Jeeves bootstraps an identity, not just plumbing
    • First-person SOUL, move operational gates to AGENTS, README storytelling + pronouns + links
    • README rewrite - tell the story, don't sell it
    • Clarify OpenClaw vs Jeeves responsibilities
    • Dynamic files, component onboarding narrative, restore haiku + footer
    • Add PlantUML diagrams, front matter titles, team narrative, remove template diagrams
    • Em-dash discipline - add AGENTS rule, fix misuse across all docs + content
    • Remove trivial constant-assertion tests (ports, sections)
    • Add top-level permissions to docs workflow (fix startup_failure)
    • Release v0.1.0