Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions skills/xmemo/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# XMemo Skill Change Log

## 1.1.9

- Expand the bounded, read-only `doctor --json` discovery summary with the
advertised service version, MCP URL, and supported clients so agents can
diagnose compatibility without parsing the raw discovery document.
- Preserve existing anonymous, credential, health-check, and degraded-discovery
behavior; the new fields come only from the public discovery response.

## 1.1.8

- Consolidate repeated command examples in `SKILL.md`: document each canonical
Expand Down
9 changes: 6 additions & 3 deletions skills/xmemo/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,9 +128,12 @@ The script supports JSON output with `--json`, command-specific usage with
`--help`, `--version`, per-request timeouts with `--timeout-ms`, and compact
recall/search output with `--compact`. `doctor --json` adds a bounded
`clientDiagnostics` object: a read-only discovery summary and a `nextAction`
command for the next credential check or formal sign-in. If discovery is
unavailable, `clientDiagnostics.discovery.status` is `unavailable`; a successful
doctor health check still succeeds. It never prints token values or prefixes.
command for the next credential check or formal sign-in. The summary includes
the advertised service version, MCP URL, supported clients, and standalone Skill
operations so compatibility can be checked without inspecting the raw discovery
document. If discovery is unavailable, `clientDiagnostics.discovery.status` is
`unavailable`; a successful doctor health check still succeeds. It never prints
token values or prefixes.

When native XMemo MCP tools are present, use `create_restart_snapshot` and
`restore_restart_snapshot` for the same full-continuity workflow. The bundled
Expand Down
5 changes: 4 additions & 1 deletion skills/xmemo/scripts/xmemo-skill.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import os from 'node:os';
import readline from 'node:readline';
import { randomUUID } from 'node:crypto';

const SKILL_VERSION = '1.1.8';
const SKILL_VERSION = '1.1.9';
const credentialsPath = path.join(os.homedir(), '.xmemo', 'skill-credentials.json');
const registrationPath = path.join(os.homedir(), '.xmemo', 'skill-registration.json');
const SCRIPT_COMMAND = 'node scripts/xmemo-skill.mjs';
Expand Down Expand Up @@ -431,6 +431,9 @@ function summarizeDoctorDiscovery(discovery, discoveryUrl) {
schemaVersion: discoveryString(discovery?.schema_version),
protocol: discoveryString(discovery?.protocol),
service: discoveryString(discovery?.service),
serviceVersion: discoveryString(discovery?.service_version),
mcpUrl: discoveryString(discovery?.mcp_url),
supportedClients: discoveryStringList(discovery?.supported_clients),
standaloneSkill: {
status: discoveryString(standalone.status),
runtimeModel: discoveryString(standalone.runtime_model),
Expand Down
6 changes: 6 additions & 0 deletions test/xmemo-standalone-skill.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,9 @@ test('skill script doctor --json reports bounded discovery diagnostics and a nex
schema_version: '1.0',
protocol: 'memory-os-agent-discovery-v1',
service: 'memory-os',
service_version: '0.4.346',
mcp_url: 'https://xmemo.dev/mcp',
supported_clients: ['codex', 'claude-code', 'openclaw'],
standalone_skill: {
status: 'available',
runtime_model: 'standalone_skill',
Expand All @@ -180,6 +183,9 @@ test('skill script doctor --json reports bounded discovery diagnostics and a nex
const payload = JSON.parse(res.stdout);
assert.equal(payload.clientDiagnostics.discovery.status, 'available');
assert.equal(payload.clientDiagnostics.discovery.service, 'memory-os');
assert.equal(payload.clientDiagnostics.discovery.serviceVersion, '0.4.346');
assert.equal(payload.clientDiagnostics.discovery.mcpUrl, 'https://xmemo.dev/mcp');
assert.deepEqual(payload.clientDiagnostics.discovery.supportedClients, ['codex', 'claude-code', 'openclaw']);
assert.deepEqual(payload.clientDiagnostics.discovery.standaloneSkill.operations, ['remember', 'recall', 'doctor']);
assert.equal(payload.clientDiagnostics.nextAction.command, 'node scripts/xmemo-skill.mjs auth status --verify');
assert.equal(testServer.requests.length, 2);
Expand Down
Loading