kenzoboard 0.1.4 → 0.1.5

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.
Files changed (2) hide show
  1. package/dist/index.js +36 -0
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -4696,6 +4696,40 @@ function runCodex(cli, args) {
4696
4696
  stdio: ["ignore", "pipe", "pipe"]
4697
4697
  });
4698
4698
  }
4699
+ function verifyMcpServer(args, fluxDir) {
4700
+ const input = [
4701
+ JSON.stringify({
4702
+ jsonrpc: "2.0",
4703
+ id: 1,
4704
+ method: "initialize",
4705
+ params: {
4706
+ protocolVersion: "2024-11-05",
4707
+ capabilities: {},
4708
+ clientInfo: { name: "kenzoboard-connect", version: "0.0.0" }
4709
+ }
4710
+ }),
4711
+ JSON.stringify({ jsonrpc: "2.0", method: "notifications/initialized", params: {} }),
4712
+ JSON.stringify({ jsonrpc: "2.0", id: 2, method: "tools/list", params: {} })
4713
+ ].join(`
4714
+ `) + `
4715
+ `;
4716
+ const output2 = execFileSync(args[0], args.slice(1), {
4717
+ input,
4718
+ encoding: "utf-8",
4719
+ stdio: ["pipe", "pipe", "pipe"],
4720
+ timeout: 30000,
4721
+ env: {
4722
+ ...process.env,
4723
+ FLUX_DIR: fluxDir
4724
+ }
4725
+ });
4726
+ const responses = output2.split(`
4727
+ `).map((line) => line.trim()).filter(Boolean).map((line) => JSON.parse(line));
4728
+ const tools = responses.find((response) => response.id === 2)?.result?.tools;
4729
+ if (!tools?.some((tool) => tool.name === "list_ready_tasks")) {
4730
+ throw new Error("MCP server started, but did not expose the expected Kenzo task tools.");
4731
+ }
4732
+ }
4699
4733
  async function connectCodexCommand(flags) {
4700
4734
  const workspace = await ensureKenzoWorkspace();
4701
4735
  const cli = resolveCodexCli();
@@ -4728,9 +4762,11 @@ async function connectCodexCommand(flags) {
4728
4762
  if (!result.includes(serverName) || !result.includes(packageArgs[0])) {
4729
4763
  throw new Error("Codex did not report the expected MCP server after setup.");
4730
4764
  }
4765
+ verifyMcpServer(packageArgs, workspace.fluxDir);
4731
4766
  console.log(`${c2.green}${c2.bold}Codex is connected to Kenzo.${c2.reset}`);
4732
4767
  console.log(`Server: ${serverName}`);
4733
4768
  console.log(`Workspace: ${workspace.fluxDir}`);
4769
+ console.log("MCP tools: verified");
4734
4770
  console.log("");
4735
4771
  console.log(`${c2.bold}Try this in Codex:${c2.reset}`);
4736
4772
  console.log(" Use Kenzo to pick the next ready task, implement it, and mark it done.");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kenzoboard",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Kenzo board for human-led AI work, powered by the Flux engine",
5
5
  "type": "module",
6
6
  "bin": {