poe-code 3.0.31 → 3.0.32

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 (46) hide show
  1. package/dist/cli/commands/mcp.js +1 -0
  2. package/dist/cli/commands/mcp.js.map +1 -1
  3. package/dist/cli/commands/ralph.js +52 -24
  4. package/dist/cli/commands/ralph.js.map +1 -1
  5. package/dist/cli/commands/skill.js +1 -0
  6. package/dist/cli/commands/skill.js.map +1 -1
  7. package/dist/cli/commands/spawn.js +5 -1
  8. package/dist/cli/commands/spawn.js.map +1 -1
  9. package/dist/cli/commands/version.js +8 -4
  10. package/dist/cli/commands/version.js.map +1 -1
  11. package/dist/cli/container.js +6 -2
  12. package/dist/cli/container.js.map +1 -1
  13. package/dist/cli/logger.js +2 -4
  14. package/dist/cli/logger.js.map +1 -1
  15. package/dist/cli/mcp-server.d.ts +1 -1
  16. package/dist/cli/mcp-server.js +1 -1
  17. package/dist/cli/mcp-server.js.map +1 -1
  18. package/dist/cli/program.js +1 -1
  19. package/dist/cli/program.js.map +1 -1
  20. package/dist/index.js +326 -310
  21. package/dist/index.js.map +4 -4
  22. package/dist/providers/claude-code.d.ts +2 -2
  23. package/dist/providers/claude-code.js +4 -49
  24. package/dist/providers/claude-code.js.map +1 -1
  25. package/dist/providers/codex.d.ts +1 -3
  26. package/dist/providers/codex.js +4 -35
  27. package/dist/providers/codex.js.map +1 -1
  28. package/dist/providers/kimi.js +2 -5
  29. package/dist/providers/kimi.js.map +1 -1
  30. package/dist/providers/opencode.js +2 -9
  31. package/dist/providers/opencode.js.map +1 -1
  32. package/dist/providers/spawn-options.d.ts +2 -0
  33. package/dist/sdk/spawn-core.d.ts +3 -0
  34. package/dist/sdk/spawn-core.js +9 -8
  35. package/dist/sdk/spawn-core.js.map +1 -1
  36. package/dist/sdk/spawn.js +4 -0
  37. package/dist/sdk/spawn.js.map +1 -1
  38. package/dist/sdk/types.d.ts +3 -0
  39. package/dist/tools/label-generator.js +2 -1
  40. package/dist/tools/label-generator.js.map +1 -1
  41. package/dist/utils/command-checks.d.ts +4 -0
  42. package/dist/utils/command-checks.js +26 -0
  43. package/dist/utils/command-checks.js.map +1 -1
  44. package/package.json +25 -22
  45. package/packages/tiny-stdio-mcp-test-server/dist/cli.js +26 -0
  46. package/packages/tiny-mcp-test-server/dist/index.js +0 -47
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "poe-code",
3
- "version": "3.0.31",
3
+ "version": "3.0.32",
4
4
  "description": "CLI tool to configure Poe API for developer workflows.",
5
5
  "type": "module",
6
6
  "workspaces": [
@@ -43,7 +43,10 @@
43
43
  "e2e:logs:rotate": "tsx packages/e2e-docker-test-runner/scripts/logs.ts --rotate",
44
44
  "e2e:cache:clear": "rm -rf ~/.cache/poe-e2e",
45
45
  "prepack": "npm run build",
46
- "prepare": "husky"
46
+ "prepare": "husky",
47
+ "install-local-package": "npm pack --pack-destination /tmp && npm install -g /tmp/poe-code-*.tgz && rm /tmp/poe-code-*.tgz",
48
+ "smoke": "tsx scripts/smoke-test.ts",
49
+ "smoke:verbose": "tsx scripts/smoke-test.ts --verbose"
47
50
  },
48
51
  "bin": {
49
52
  "poe-code": "dist/bin.cjs",
@@ -51,7 +54,7 @@
51
54
  "poe-claude": "dist/bin/poe-claude.js",
52
55
  "poe-codex": "dist/bin/poe-codex.js",
53
56
  "poe-opencode": "dist/bin/poe-opencode.js",
54
- "tiny-mcp-test-server": "packages/tiny-mcp-test-server/dist/index.js"
57
+ "tiny-stdio-mcp-test-server": "packages/tiny-stdio-mcp-test-server/dist/cli.js"
55
58
  },
56
59
  "files": [
57
60
  "dist"
@@ -61,41 +64,41 @@
61
64
  },
62
65
  "packageManager": "npm@10.9.2",
63
66
  "dependencies": {
64
- "@clack/prompts": "^0.11.0",
65
- "chalk": "^5.3.0",
66
- "commander": "^11.1.0",
67
+ "@clack/prompts": "^1.0.0",
68
+ "chalk": "^5.6.2",
69
+ "commander": "^14.0.3",
67
70
  "console-table-printer": "^2.15.0",
68
71
  "diff": ">=8.0.3",
69
72
  "jsonc-parser": "^3.3.1",
70
73
  "mustache": "^4.2.0",
71
- "semver": "^7.7.3",
72
- "smol-toml": "^1.3.0",
74
+ "semver": "^7.7.4",
75
+ "smol-toml": "^1.6.0",
73
76
  "yaml": "^2.8.2"
74
77
  },
75
78
  "devDependencies": {
76
- "@modelcontextprotocol/sdk": "^1.25.3",
79
+ "@eslint/js": "^9.0.0",
80
+ "@modelcontextprotocol/sdk": "^1.26.0",
77
81
  "@poe-code/agent-spawn": "*",
78
82
  "@poe-code/config-mutations": "*",
79
83
  "@poe-code/design-system": "*",
80
84
  "@poe-code/e2e-docker-test-runner": "*",
81
85
  "@poe-code/freeze-cli": "*",
82
- "@poe-code/tiny-mcp-server": "*",
83
- "@poe-code/tiny-mcp-test-server": "*",
86
+ "tiny-stdio-mcp-server": "*",
87
+ "tiny-stdio-mcp-test-server": "*",
84
88
  "@types/mustache": "^4.2.6",
85
- "@types/node": "^20.12.7",
89
+ "@types/node": "^25.2.2",
86
90
  "@types/semver": "^7.7.1",
87
- "@typescript-eslint/eslint-plugin": "^8.46.2",
88
- "@typescript-eslint/parser": "^8.46.2",
89
- "eslint": "^9.38.0",
90
- "eslint-config-prettier": "^9.1.0",
91
+ "eslint": "^9.0.0",
92
+ "eslint-config-prettier": "^10.1.8",
93
+ "globals": "^17.3.0",
91
94
  "husky": "^9.1.7",
92
- "memfs": "^4.7.3",
93
- "prettier": "^3.3.3",
95
+ "memfs": "^4.56.10",
96
+ "prettier": "^3.8.1",
94
97
  "tsx": ">=4.21.0",
95
- "turbo": "^2.5.0",
96
- "typescript": "^5.4.5",
97
- "typescript-eslint": "^8.46.2",
98
- "vitest": ">=4.0.17"
98
+ "turbo": "^2.8.3",
99
+ "typescript": "^5.9.3",
100
+ "typescript-eslint": "^8.54.0",
101
+ "vitest": "^4.0.18"
99
102
  },
100
103
  "repository": {
101
104
  "type": "git",
@@ -0,0 +1,26 @@
1
+ #!/usr/bin/env node
2
+ import { Command } from "commander";
3
+ import { createEncryptServer, createWordOfTheDayServer, } from "./index.js";
4
+ const program = new Command();
5
+ program
6
+ .name("tiny-stdio-mcp-test-server")
7
+ .description("Test MCP server with example tools for integration testing")
8
+ .version("0.0.1");
9
+ program
10
+ .command("serve")
11
+ .description("Start an MCP server on stdin/stdout")
12
+ .argument("<tool>", "Tool to serve (encrypt, word-of-the-day)")
13
+ .action(async (tool) => {
14
+ const servers = {
15
+ encrypt: () => createEncryptServer().listen(),
16
+ "word-of-the-day": () => createWordOfTheDayServer().listen(),
17
+ };
18
+ const start = servers[tool];
19
+ if (!start) {
20
+ const available = Object.keys(servers).join(", ");
21
+ console.error(`Unknown tool: ${tool}. Available: ${available}`);
22
+ process.exit(1);
23
+ }
24
+ await start();
25
+ });
26
+ program.parse();
@@ -1,47 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createServer, defineSchema } from "@poe-code/tiny-mcp-server";
3
- const caesarCipherSchema = defineSchema({
4
- text: { type: "string", description: "The text to encrypt" },
5
- shift: {
6
- type: "number",
7
- description: "The shift amount (default: 3)",
8
- optional: true,
9
- },
10
- });
11
- export function caesarEncrypt(text, shift) {
12
- return text
13
- .split("")
14
- .map((char) => {
15
- if (char >= "a" && char <= "z") {
16
- return String.fromCharCode(((char.charCodeAt(0) - 97 + shift) % 26) + 97);
17
- }
18
- if (char >= "A" && char <= "Z") {
19
- return String.fromCharCode(((char.charCodeAt(0) - 65 + shift) % 26) + 65);
20
- }
21
- return char;
22
- })
23
- .join("");
24
- }
25
- const wordOfTheDaySchema = defineSchema({});
26
- export function createTestServer() {
27
- const server = createServer({
28
- name: "tiny-mcp-test-server",
29
- version: "0.0.1",
30
- });
31
- server.tool("caesar_cipher_encrypt", "Encrypts text using the Caesar cipher", caesarCipherSchema, ({ text, shift }) => {
32
- const actualShift = shift ?? 3;
33
- return caesarEncrypt(text, actualShift);
34
- });
35
- server.tool("word_of_the_day", "Returns the word of the day", wordOfTheDaySchema, () => {
36
- return "Bumfuzzle - to confuse or fluster someone";
37
- });
38
- return server;
39
- }
40
- // Only start listening when run directly
41
- // Handles: direct execution, npm bin symlinks, and dev mode
42
- const isMain = import.meta.url === `file://${process.argv[1]}` ||
43
- process.argv[1]?.endsWith("tiny-mcp-test-server/dist/index.js") ||
44
- process.argv[1]?.endsWith("tiny-mcp-test-server");
45
- if (isMain) {
46
- createTestServer().listen();
47
- }