@yugabytedb/meko-mcp 2.0.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +183 -33
- package/assets/hooks-handlers/codex-session-end.sh +13 -0
- package/assets/hooks-handlers/cursor-session-start.sh +19 -1
- package/assets/hooks-handlers/lib/capture-notices.js +321 -0
- package/assets/hooks-handlers/lib/capture-state.js +2079 -0
- package/assets/hooks-handlers/lib/capture-status-cli.js +82 -0
- package/assets/hooks-handlers/lib/capture.js +1653 -225
- package/assets/hooks-handlers/lib/checkpoint-timer.js +455 -50
- package/assets/hooks-handlers/lib/kiro-handler.js +738 -0
- package/assets/hooks-handlers/lib/terminal-handoff.js +418 -0
- package/assets/hooks-handlers/session-end.sh +3 -24
- package/assets/hooks-handlers/session-start.sh +8 -1
- package/assets/hooks-handlers/test_checkpoint_timer.sh +162 -0
- package/assets/scripts/meko-statusline.sh +41 -1
- package/assets/scripts/package-desktop-skill.sh +32 -1
- package/assets/skills/meko-mcp-tools/SKILL.md +90 -137
- package/assets/skills/meko-mcp-tools/references/_sections.md +3 -5
- package/assets/skills/meko-mcp-tools/references/tools-agent-id-conventions.md +31 -28
- package/assets/skills/meko-mcp-tools/references/tools-conversation-dedup.md +5 -7
- package/assets/skills/meko-mcp-tools/references/tools-conversation-reasoning.md +50 -0
- package/assets/skills/meko-mcp-tools/references/tools-cookbook.md +69 -49
- package/assets/skills/meko-mcp-tools/references/tools-datapack-workflow.md +6 -6
- package/assets/skills/meko-mcp-tools/references/tools-known-limitations.md +29 -5
- package/assets/skills/meko-mcp-tools/references/tools-memory-vs-conversation.md +29 -92
- package/assets/skills/meko-mcp-tools/references/tools-overview.md +42 -40
- package/assets/skills/meko-mcp-tools/references/tools-rag-workflow.md +1 -2
- package/assets/skills/meko-mcp-tools/references/tools-troubleshooting.md +18 -11
- package/assets/skills/meko-mcp-tools/references/tools-user-id-conventions.md +10 -9
- package/assets/skills/meko-mcp-tools-desktop/SKILL.md +51 -44
- package/assets/skills/meko-mcp-tools-desktop/desktop/README.md +6 -6
- package/assets/skills/meko-mcp-tools-desktop/references/_sections.md +2 -2
- package/assets/skills/meko-mcp-tools-desktop/references/tools-agent-id-conventions.md +34 -25
- package/assets/skills/meko-mcp-tools-desktop/references/tools-conversation-reasoning.md +50 -0
- package/assets/skills/meko-mcp-tools-desktop/references/tools-cookbook.md +63 -37
- package/assets/skills/meko-mcp-tools-desktop/references/tools-known-limitations.md +4 -4
- package/assets/skills/meko-mcp-tools-desktop/references/tools-memory-vs-conversation.md +19 -22
- package/assets/skills/meko-mcp-tools-desktop/references/tools-overview.md +42 -40
- package/assets/skills/meko-mcp-tools-desktop/references/tools-rag-workflow.md +1 -2
- package/assets/skills/meko-mcp-tools-desktop/references/tools-troubleshooting.md +3 -17
- package/assets/skills/meko-select-datapack-desktop/SKILL.md +31 -21
- package/assets/skills/meko-select-datapack-desktop/references/cookbook.md +8 -8
- package/assets/skills/meko-select-datapack-desktop/references/role-display-future.md +41 -0
- package/assets/skills/meko-select-datapack-desktop/references/troubleshooting.md +1 -1
- package/bin/create-meko-setup.mjs +93 -16
- package/lib/capture-status.mjs +67 -0
- package/lib/clients/aliases.mjs +5 -0
- package/lib/clients/claude-code.mjs +8 -4
- package/lib/clients/claude-desktop.mjs +133 -4
- package/lib/clients/codex.mjs +29 -11
- package/lib/clients/common.mjs +2 -0
- package/lib/clients/cursor.mjs +7 -2
- package/lib/clients/index.mjs +2 -0
- package/lib/clients/kiro.mjs +705 -0
- package/lib/config.mjs +90 -0
- package/lib/detect.mjs +7 -2
- package/lib/installer.mjs +1 -0
- package/lib/migrate/adapters/codex.mjs +490 -0
- package/lib/migrate/id.mjs +28 -3
- package/lib/migrate/orchestrator.mjs +34 -7
- package/lib/migrate.mjs +4 -2
- package/lib/prompt.mjs +17 -2
- package/lib/url-selection.mjs +55 -0
- package/package.json +4 -4
- package/assets/skills/meko-mcp-tools/references/tools-scope-permissions.md +0 -71
- package/assets/skills/meko-mcp-tools-desktop/references/tools-scope-permissions.md +0 -71
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* capture-status-cli.js — Print aggregate capture health (text or JSON).
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* node capture-status-cli.js
|
|
7
|
+
* node capture-status-cli.js --json
|
|
8
|
+
*
|
|
9
|
+
* Exit codes (contracts):
|
|
10
|
+
* 0 healthy | catching_up
|
|
11
|
+
* 2 degraded_retrying
|
|
12
|
+
* 3 blocked_action_required
|
|
13
|
+
*
|
|
14
|
+
* Honors MEKO_WATERMARK_DIR. Invoked by installer --capture-status.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
"use strict";
|
|
18
|
+
|
|
19
|
+
const fs = require("fs");
|
|
20
|
+
const {
|
|
21
|
+
computeAggregateHealth,
|
|
22
|
+
importLegacyCaptureErrors,
|
|
23
|
+
legacyErrorsSafeToRemove,
|
|
24
|
+
readHealthCache,
|
|
25
|
+
scanStates,
|
|
26
|
+
writeHealthCache,
|
|
27
|
+
} = require("./capture-state");
|
|
28
|
+
const {
|
|
29
|
+
captureStatusJson,
|
|
30
|
+
exitCodeForStatus,
|
|
31
|
+
formatCaptureStatusText,
|
|
32
|
+
} = require("./capture-notices");
|
|
33
|
+
|
|
34
|
+
function parseArgs(argv) {
|
|
35
|
+
let json = false;
|
|
36
|
+
for (const a of argv) {
|
|
37
|
+
if (a === "--json") json = true;
|
|
38
|
+
else if (a === "--help" || a === "-h") {
|
|
39
|
+
process.stdout.write(
|
|
40
|
+
"Usage: node capture-status-cli.js [--json]\n" +
|
|
41
|
+
" Exit 0 healthy|catching_up, 2 degraded_retrying, 3 blocked_action_required\n",
|
|
42
|
+
);
|
|
43
|
+
process.exit(0);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return { json };
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function main() {
|
|
50
|
+
const { json } = parseArgs(process.argv.slice(2));
|
|
51
|
+
importLegacyCaptureErrors();
|
|
52
|
+
const scan = scanStates({ includeBlocked: true });
|
|
53
|
+
for (const legacyPath of legacyErrorsSafeToRemove(scan)) {
|
|
54
|
+
try {
|
|
55
|
+
fs.unlinkSync(legacyPath);
|
|
56
|
+
} catch {
|
|
57
|
+
/* best effort; the next uncapped status/startup scan retries */
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (!scan.ok && (!scan.entries || scan.entries.length === 0)) {
|
|
61
|
+
process.stderr.write(
|
|
62
|
+
`[meko-capture-status] scan warning: ${scan.error || "unknown"}\n`,
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
const health = computeAggregateHealth(scan.entries || []);
|
|
67
|
+
const existing = readHealthCache();
|
|
68
|
+
if (existing && existing.last_notified_status !== undefined) {
|
|
69
|
+
health.last_notified_status = existing.last_notified_status;
|
|
70
|
+
}
|
|
71
|
+
writeHealthCache(health);
|
|
72
|
+
|
|
73
|
+
const payload = captureStatusJson(health);
|
|
74
|
+
if (json) {
|
|
75
|
+
process.stdout.write(`${JSON.stringify(payload, null, 2)}\n`);
|
|
76
|
+
} else {
|
|
77
|
+
process.stdout.write(`${formatCaptureStatusText(health)}\n`);
|
|
78
|
+
}
|
|
79
|
+
process.exit(exitCodeForStatus(payload.status));
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
main();
|