@everstateai/mcp 1.3.2 → 1.3.4

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 (102) hide show
  1. package/README.md +42 -6
  2. package/dist/commands/api-client.d.ts +35 -0
  3. package/dist/commands/api-client.d.ts.map +1 -0
  4. package/dist/commands/api-client.js +138 -0
  5. package/dist/commands/api-client.js.map +1 -0
  6. package/dist/commands/done.d.ts +7 -0
  7. package/dist/commands/done.d.ts.map +1 -0
  8. package/dist/commands/done.js +57 -0
  9. package/dist/commands/done.js.map +1 -0
  10. package/dist/commands/recall.d.ts +7 -0
  11. package/dist/commands/recall.d.ts.map +1 -0
  12. package/dist/commands/recall.js +36 -0
  13. package/dist/commands/recall.js.map +1 -0
  14. package/dist/commands/status.d.ts +7 -0
  15. package/dist/commands/status.d.ts.map +1 -0
  16. package/dist/commands/status.js +33 -0
  17. package/dist/commands/status.js.map +1 -0
  18. package/dist/commands/sync.d.ts +7 -0
  19. package/dist/commands/sync.d.ts.map +1 -0
  20. package/dist/commands/sync.js +34 -0
  21. package/dist/commands/sync.js.map +1 -0
  22. package/dist/index.d.ts +9 -3
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +68 -5
  25. package/dist/index.js.map +1 -1
  26. package/dist/setup/auto-update.d.ts +20 -0
  27. package/dist/setup/auto-update.d.ts.map +1 -0
  28. package/dist/setup/auto-update.js +295 -0
  29. package/dist/setup/auto-update.js.map +1 -0
  30. package/dist/setup/commands/doctor.d.ts +15 -0
  31. package/dist/setup/commands/doctor.d.ts.map +1 -0
  32. package/dist/setup/commands/doctor.js +264 -0
  33. package/dist/setup/commands/doctor.js.map +1 -0
  34. package/dist/setup/commands/repair.d.ts +14 -0
  35. package/dist/setup/commands/repair.d.ts.map +1 -0
  36. package/dist/setup/commands/repair.js +252 -0
  37. package/dist/setup/commands/repair.js.map +1 -0
  38. package/dist/setup/environments.d.ts +48 -0
  39. package/dist/setup/environments.d.ts.map +1 -0
  40. package/dist/setup/environments.js +222 -0
  41. package/dist/setup/environments.js.map +1 -0
  42. package/dist/setup/hooks/templates.d.ts +30 -0
  43. package/dist/setup/hooks/templates.d.ts.map +1 -0
  44. package/dist/setup/hooks/templates.js +253 -0
  45. package/dist/setup/hooks/templates.js.map +1 -0
  46. package/dist/setup/types.d.ts +122 -0
  47. package/dist/setup/types.d.ts.map +1 -0
  48. package/dist/setup/types.js +66 -0
  49. package/dist/setup/types.js.map +1 -0
  50. package/dist/setup/validators/api-key.d.ts +8 -0
  51. package/dist/setup/validators/api-key.d.ts.map +1 -0
  52. package/dist/setup/validators/api-key.js +233 -0
  53. package/dist/setup/validators/api-key.js.map +1 -0
  54. package/dist/setup/validators/connectivity.d.ts +8 -0
  55. package/dist/setup/validators/connectivity.d.ts.map +1 -0
  56. package/dist/setup/validators/connectivity.js +150 -0
  57. package/dist/setup/validators/connectivity.js.map +1 -0
  58. package/dist/setup/validators/hooks.d.ts +8 -0
  59. package/dist/setup/validators/hooks.d.ts.map +1 -0
  60. package/dist/setup/validators/hooks.js +431 -0
  61. package/dist/setup/validators/hooks.js.map +1 -0
  62. package/dist/setup/validators/index.d.ts +18 -0
  63. package/dist/setup/validators/index.d.ts.map +1 -0
  64. package/dist/setup/validators/index.js +123 -0
  65. package/dist/setup/validators/index.js.map +1 -0
  66. package/dist/setup/validators/mcp-config.d.ts +9 -0
  67. package/dist/setup/validators/mcp-config.d.ts.map +1 -0
  68. package/dist/setup/validators/mcp-config.js +302 -0
  69. package/dist/setup/validators/mcp-config.js.map +1 -0
  70. package/dist/setup/validators/project.d.ts +8 -0
  71. package/dist/setup/validators/project.d.ts.map +1 -0
  72. package/dist/setup/validators/project.js +202 -0
  73. package/dist/setup/validators/project.js.map +1 -0
  74. package/dist/setup/version.d.ts +58 -0
  75. package/dist/setup/version.d.ts.map +1 -0
  76. package/dist/setup/version.js +262 -0
  77. package/dist/setup/version.js.map +1 -0
  78. package/dist/setup.d.ts +1 -0
  79. package/dist/setup.d.ts.map +1 -1
  80. package/dist/setup.js +397 -214
  81. package/dist/setup.js.map +1 -1
  82. package/package.json +1 -1
  83. package/src/commands/api-client.ts +117 -0
  84. package/src/commands/done.ts +63 -0
  85. package/src/commands/recall.ts +40 -0
  86. package/src/commands/status.ts +36 -0
  87. package/src/commands/sync.ts +37 -0
  88. package/src/index.ts +64 -5
  89. package/src/setup/auto-update.ts +328 -0
  90. package/src/setup/commands/doctor.ts +266 -0
  91. package/src/setup/commands/repair.ts +260 -0
  92. package/src/setup/environments.ts +225 -0
  93. package/src/setup/hooks/templates.ts +255 -0
  94. package/src/setup/types.ts +207 -0
  95. package/src/setup/validators/api-key.ts +218 -0
  96. package/src/setup/validators/connectivity.ts +176 -0
  97. package/src/setup/validators/hooks.ts +447 -0
  98. package/src/setup/validators/index.ts +137 -0
  99. package/src/setup/validators/mcp-config.ts +288 -0
  100. package/src/setup/validators/project.ts +179 -0
  101. package/src/setup/version.ts +267 -0
  102. package/src/setup.ts +471 -232
package/README.md CHANGED
@@ -87,6 +87,24 @@ Add to `~/.cursor/mcp.json`:
87
87
  }
88
88
  ```
89
89
 
90
+ ### Windsurf
91
+
92
+ Add to `~/.codeium/windsurf/mcp_config.json`:
93
+
94
+ ```json
95
+ {
96
+ "mcpServers": {
97
+ "everstate": {
98
+ "command": "npx",
99
+ "args": ["-y", "@everstateai/mcp"],
100
+ "env": {
101
+ "EVERSTATE_API_KEY": "ck_your_api_key_here"
102
+ }
103
+ }
104
+ }
105
+ }
106
+ ```
107
+
90
108
  ## Environment Variables
91
109
 
92
110
  | Variable | Required | Description |
@@ -121,17 +139,35 @@ The easiest way to set up Everstate:
121
139
  npx @everstateai/mcp setup ck_YOUR_API_KEY
122
140
  ```
123
141
 
124
- This automatically:
125
- - Configures Claude Code with the MCP server
142
+ Setup automatically detects which AI tools you have installed and configures all of them:
143
+ - Detects Claude Code, Claude Desktop, Cursor, and Windsurf
144
+ - Configures MCP settings for each detected tool
126
145
  - Creates `.everstate.json` in your project
127
146
  - Sets up session hooks
128
- - Stores your API key securely
147
+ - Stores your API key securely (`~/.everstate/api-key`)
129
148
 
130
149
  Options:
131
150
  ```bash
132
- npx @everstateai/mcp setup --help # Show all options
133
- npx @everstateai/mcp setup KEY --project-dir . # Specify project directory
134
- npx @everstateai/mcp setup KEY --skip-hooks # Skip hook installation
151
+ npx @everstateai/mcp setup --help # Show all options
152
+ npx @everstateai/mcp setup KEY -e cursor # Only configure Cursor
153
+ npx @everstateai/mcp setup KEY -y # Non-interactive (skip prompts)
154
+ npx @everstateai/mcp setup KEY --project-dir /path # Specify project directory
155
+ npx @everstateai/mcp setup KEY --skip-hooks # Skip hook installation
156
+ npx @everstateai/mcp setup KEY --force # Clean reinstall
157
+ npx @everstateai/mcp setup KEY --upgrade # Upgrade existing installation
158
+ ```
159
+
160
+ ## CLI Commands
161
+
162
+ These commands work in any terminal, even when MCP tools aren't available:
163
+
164
+ ```bash
165
+ npx @everstateai/mcp recall "search query" # Search your project memory
166
+ npx @everstateai/mcp sync # Load project context
167
+ npx @everstateai/mcp status # Show project status
168
+ npx @everstateai/mcp done -s "what happened" # End session with summary
169
+ npx @everstateai/mcp doctor # Diagnose installation issues
170
+ npx @everstateai/mcp repair # Auto-fix common issues
135
171
  ```
136
172
 
137
173
  ## How It Works
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Everstate CLI API Client
3
+ *
4
+ * Shared client for CLI subcommands. Reads API key from ~/.everstate/api-key,
5
+ * detects projectId from .everstate.json, and calls the cloud API.
6
+ */
7
+ export interface ClientConfig {
8
+ apiKey: string;
9
+ projectId: string | null;
10
+ apiUrl: string;
11
+ }
12
+ /**
13
+ * Initialize client config. Exits with helpful error if API key is missing.
14
+ */
15
+ export declare function getClientConfig(): ClientConfig;
16
+ /**
17
+ * Execute an MCP tool call via the /mcp/execute endpoint.
18
+ */
19
+ export declare function executeTool(config: ClientConfig, toolName: string, args?: Record<string, unknown>): Promise<{
20
+ content: Array<{
21
+ type: string;
22
+ text: string;
23
+ }>;
24
+ isError?: boolean;
25
+ }>;
26
+ /**
27
+ * Extract text content from MCP tool response.
28
+ */
29
+ export declare function extractText(result: {
30
+ content: Array<{
31
+ type: string;
32
+ text: string;
33
+ }>;
34
+ }): string;
35
+ //# sourceMappingURL=api-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/commands/api-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAuCD;;GAEG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAc9C;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACjC,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAwBhF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,MAAM,CAK9F"}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ /**
3
+ * Everstate CLI API Client
4
+ *
5
+ * Shared client for CLI subcommands. Reads API key from ~/.everstate/api-key,
6
+ * detects projectId from .everstate.json, and calls the cloud API.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.getClientConfig = getClientConfig;
43
+ exports.executeTool = executeTool;
44
+ exports.extractText = extractText;
45
+ const fs = __importStar(require("fs"));
46
+ const path = __importStar(require("path"));
47
+ const os = __importStar(require("os"));
48
+ const API_URL = "https://www.everstate.ai";
49
+ /**
50
+ * Load API key from ~/.everstate/api-key
51
+ */
52
+ function loadApiKey() {
53
+ const keyPath = path.join(os.homedir(), ".everstate", "api-key");
54
+ try {
55
+ if (!fs.existsSync(keyPath))
56
+ return null;
57
+ return fs.readFileSync(keyPath, "utf8").trim();
58
+ }
59
+ catch {
60
+ return null;
61
+ }
62
+ }
63
+ /**
64
+ * Walk up from cwd to find .everstate.json and extract projectId
65
+ */
66
+ function detectProjectId() {
67
+ let dir = process.cwd();
68
+ const root = path.parse(dir).root;
69
+ while (dir !== root) {
70
+ for (const configName of [".everstate.json", ".codekeep.json"]) {
71
+ const configPath = path.join(dir, configName);
72
+ if (fs.existsSync(configPath)) {
73
+ try {
74
+ const config = JSON.parse(fs.readFileSync(configPath, "utf8"));
75
+ if (config.projectId)
76
+ return config.projectId;
77
+ }
78
+ catch {
79
+ // Invalid JSON, continue
80
+ }
81
+ }
82
+ }
83
+ dir = path.dirname(dir);
84
+ }
85
+ return null;
86
+ }
87
+ /**
88
+ * Initialize client config. Exits with helpful error if API key is missing.
89
+ */
90
+ function getClientConfig() {
91
+ const apiKey = loadApiKey();
92
+ if (!apiKey) {
93
+ console.error("No API key found.");
94
+ console.error("");
95
+ console.error("Run setup first:");
96
+ console.error(" npx @everstateai/mcp setup ck_YOUR_API_KEY");
97
+ console.error("");
98
+ console.error("Get your API key at: https://www.everstate.ai");
99
+ process.exit(1);
100
+ }
101
+ const projectId = detectProjectId();
102
+ return { apiKey, projectId, apiUrl: API_URL };
103
+ }
104
+ /**
105
+ * Execute an MCP tool call via the /mcp/execute endpoint.
106
+ */
107
+ async function executeTool(config, toolName, args = {}) {
108
+ const enrichedArgs = { ...args };
109
+ if (config.projectId && !enrichedArgs.projectId) {
110
+ enrichedArgs.projectId = config.projectId;
111
+ }
112
+ const res = await fetch(`${config.apiUrl}/mcp/execute`, {
113
+ method: "POST",
114
+ headers: {
115
+ Authorization: `Bearer ${config.apiKey}`,
116
+ "Content-Type": "application/json",
117
+ },
118
+ body: JSON.stringify({ name: toolName, arguments: enrichedArgs }),
119
+ });
120
+ if (!res.ok) {
121
+ const text = await res.text();
122
+ return {
123
+ content: [{ type: "text", text: `API error ${res.status}: ${text}` }],
124
+ isError: true,
125
+ };
126
+ }
127
+ return (await res.json());
128
+ }
129
+ /**
130
+ * Extract text content from MCP tool response.
131
+ */
132
+ function extractText(result) {
133
+ return result.content
134
+ .filter((c) => c.type === "text")
135
+ .map((c) => c.text)
136
+ .join("\n");
137
+ }
138
+ //# sourceMappingURL=api-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/commands/api-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * CLI: npx @everstateai/mcp done --summary "what was accomplished"
3
+ *
4
+ * End a session with a summary from any terminal.
5
+ */
6
+ export declare function doneCli(args: string[]): Promise<void>;
7
+ //# sourceMappingURL=done.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"done.d.ts","sourceRoot":"","sources":["../../src/commands/done.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsD3D"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ /**
3
+ * CLI: npx @everstateai/mcp done --summary "what was accomplished"
4
+ *
5
+ * End a session with a summary from any terminal.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.doneCli = doneCli;
9
+ const api_client_js_1 = require("./api-client.js");
10
+ async function doneCli(args) {
11
+ if (args.includes("--help") || args.includes("-h")) {
12
+ console.log("Usage: npx @everstateai/mcp done --summary \"what was accomplished\"");
13
+ console.log("");
14
+ console.log("End the current session and save a summary.");
15
+ console.log("");
16
+ console.log("Options:");
17
+ console.log(" --summary, -s Summary of what was accomplished (required)");
18
+ console.log("");
19
+ console.log("Examples:");
20
+ console.log(' npx @everstateai/mcp done -s "Fixed auth bug and added tests"');
21
+ console.log(' npx @everstateai/mcp done --summary "Refactored API layer"');
22
+ process.exit(0);
23
+ }
24
+ let summary = "";
25
+ for (let i = 0; i < args.length; i++) {
26
+ if (args[i] === "--summary" || args[i] === "-s") {
27
+ summary = args[i + 1] || "";
28
+ break;
29
+ }
30
+ }
31
+ // If no flag, treat all args as the summary
32
+ if (!summary) {
33
+ summary = args.join(" ").trim();
34
+ }
35
+ if (!summary) {
36
+ console.error("Summary is required.");
37
+ console.error('Usage: npx @everstateai/mcp done --summary "what was accomplished"');
38
+ process.exit(1);
39
+ }
40
+ const config = (0, api_client_js_1.getClientConfig)();
41
+ if (!config.projectId) {
42
+ console.error("No .everstate.json found in this directory or parents.");
43
+ console.error("Run setup in your project directory first:");
44
+ console.error(" npx @everstateai/mcp setup ck_YOUR_API_KEY");
45
+ process.exit(1);
46
+ }
47
+ const result = await (0, api_client_js_1.executeTool)(config, "everstate", {
48
+ action: "session.end",
49
+ params: { summary },
50
+ });
51
+ if (result.isError) {
52
+ console.error((0, api_client_js_1.extractText)(result));
53
+ process.exit(1);
54
+ }
55
+ console.log((0, api_client_js_1.extractText)(result));
56
+ }
57
+ //# sourceMappingURL=done.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"done.js","sourceRoot":"","sources":["../../src/commands/done.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAIH,0BAsDC;AAxDD,mDAA4E;AAErE,KAAK,UAAU,OAAO,CAAC,IAAc;IAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;QACpF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAChD,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM;QACR,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,+BAAe,GAAE,CAAC;IAEjC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QACxE,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC5D,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAW,EAAC,MAAM,EAAE,WAAW,EAAE;QACpD,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,EAAE,OAAO,EAAE;KACpB,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,IAAA,2BAAW,EAAC,MAAM,CAAC,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAA,2BAAW,EAAC,MAAM,CAAC,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * CLI: npx @everstateai/mcp recall "search query"
3
+ *
4
+ * Search your project memory from any terminal.
5
+ */
6
+ export declare function recallCli(args: string[]): Promise<void>;
7
+ //# sourceMappingURL=recall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recall.d.ts","sourceRoot":"","sources":["../../src/commands/recall.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B7D"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ /**
3
+ * CLI: npx @everstateai/mcp recall "search query"
4
+ *
5
+ * Search your project memory from any terminal.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.recallCli = recallCli;
9
+ const api_client_js_1 = require("./api-client.js");
10
+ async function recallCli(args) {
11
+ const query = args.join(" ").trim();
12
+ if (!query || args.includes("--help") || args.includes("-h")) {
13
+ console.log("Usage: npx @everstateai/mcp recall <query>");
14
+ console.log("");
15
+ console.log("Search your project memory from any terminal.");
16
+ console.log("");
17
+ console.log("Examples:");
18
+ console.log(' npx @everstateai/mcp recall "why did we choose PostgreSQL"');
19
+ console.log(' npx @everstateai/mcp recall "deployment issues"');
20
+ process.exit(query ? 0 : 1);
21
+ }
22
+ const config = (0, api_client_js_1.getClientConfig)();
23
+ if (!config.projectId) {
24
+ console.error("No .everstate.json found in this directory or parents.");
25
+ console.error("Run setup in your project directory first:");
26
+ console.error(" npx @everstateai/mcp setup ck_YOUR_API_KEY");
27
+ process.exit(1);
28
+ }
29
+ const result = await (0, api_client_js_1.executeTool)(config, "recall", { query });
30
+ if (result.isError) {
31
+ console.error((0, api_client_js_1.extractText)(result));
32
+ process.exit(1);
33
+ }
34
+ console.log((0, api_client_js_1.extractText)(result));
35
+ }
36
+ //# sourceMappingURL=recall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recall.js","sourceRoot":"","sources":["../../src/commands/recall.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAIH,8BA+BC;AAjCD,mDAA4E;AAErE,KAAK,UAAU,SAAS,CAAC,IAAc;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAEpC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,+BAAe,GAAE,CAAC;IAEjC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QACxE,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC5D,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAW,EAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAE9D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,IAAA,2BAAW,EAAC,MAAM,CAAC,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAA,2BAAW,EAAC,MAAM,CAAC,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * CLI: npx @everstateai/mcp status
3
+ *
4
+ * Show project status from any terminal.
5
+ */
6
+ export declare function statusCli(args: string[]): Promise<void>;
7
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA2B7D"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ /**
3
+ * CLI: npx @everstateai/mcp status
4
+ *
5
+ * Show project status from any terminal.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.statusCli = statusCli;
9
+ const api_client_js_1 = require("./api-client.js");
10
+ async function statusCli(args) {
11
+ if (args.includes("--help") || args.includes("-h")) {
12
+ console.log("Usage: npx @everstateai/mcp status");
13
+ console.log("");
14
+ console.log("Show current project status: active directive, tasks, and recent activity.");
15
+ process.exit(0);
16
+ }
17
+ const config = (0, api_client_js_1.getClientConfig)();
18
+ if (!config.projectId) {
19
+ console.error("No .everstate.json found in this directory or parents.");
20
+ console.error("Run setup in your project directory first:");
21
+ console.error(" npx @everstateai/mcp setup ck_YOUR_API_KEY");
22
+ process.exit(1);
23
+ }
24
+ const result = await (0, api_client_js_1.executeTool)(config, "everstate", {
25
+ action: "work.status",
26
+ });
27
+ if (result.isError) {
28
+ console.error((0, api_client_js_1.extractText)(result));
29
+ process.exit(1);
30
+ }
31
+ console.log((0, api_client_js_1.extractText)(result));
32
+ }
33
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAIH,8BA2BC;AA7BD,mDAA4E;AAErE,KAAK,UAAU,SAAS,CAAC,IAAc;IAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC;QAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,+BAAe,GAAE,CAAC;IAEjC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QACxE,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC5D,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAW,EAAC,MAAM,EAAE,WAAW,EAAE;QACpD,MAAM,EAAE,aAAa;KACtB,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,IAAA,2BAAW,EAAC,MAAM,CAAC,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAA,2BAAW,EAAC,MAAM,CAAC,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * CLI: npx @everstateai/mcp sync
3
+ *
4
+ * Load project context from any terminal.
5
+ */
6
+ export declare function syncCli(args: string[]): Promise<void>;
7
+ //# sourceMappingURL=sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B3D"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ /**
3
+ * CLI: npx @everstateai/mcp sync
4
+ *
5
+ * Load project context from any terminal.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.syncCli = syncCli;
9
+ const api_client_js_1 = require("./api-client.js");
10
+ async function syncCli(args) {
11
+ if (args.includes("--help") || args.includes("-h")) {
12
+ console.log("Usage: npx @everstateai/mcp sync");
13
+ console.log("");
14
+ console.log("Load your project context from Everstate.");
15
+ console.log("Outputs the current directive, tasks, decisions, and gotchas.");
16
+ process.exit(0);
17
+ }
18
+ const config = (0, api_client_js_1.getClientConfig)();
19
+ if (!config.projectId) {
20
+ console.error("No .everstate.json found in this directory or parents.");
21
+ console.error("Run setup in your project directory first:");
22
+ console.error(" npx @everstateai/mcp setup ck_YOUR_API_KEY");
23
+ process.exit(1);
24
+ }
25
+ const result = await (0, api_client_js_1.executeTool)(config, "sync", {
26
+ projectId: config.projectId,
27
+ });
28
+ if (result.isError) {
29
+ console.error((0, api_client_js_1.extractText)(result));
30
+ process.exit(1);
31
+ }
32
+ console.log((0, api_client_js_1.extractText)(result));
33
+ }
34
+ //# sourceMappingURL=sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAIH,0BA4BC;AA9BD,mDAA4E;AAErE,KAAK,UAAU,OAAO,CAAC,IAAc;IAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,+BAAe,GAAE,CAAC;IAEjC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QACxE,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC5D,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAW,EAAC,MAAM,EAAE,MAAM,EAAE;QAC/C,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,IAAA,2BAAW,EAAC,MAAM,CAAC,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAA,2BAAW,EAAC,MAAM,CAAC,CAAC,CAAC;AACnC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -2,9 +2,15 @@
2
2
  /**
3
3
  * Everstate MCP Package
4
4
  *
5
- * Two modes:
6
- * 1. Setup: npx @everstateai/mcp setup YOUR_API_KEY
7
- * 2. MCP Server: Runs as stdio MCP server (default)
5
+ * Commands:
6
+ * 1. Setup: npx @everstateai/mcp setup YOUR_API_KEY
7
+ * 2. Doctor: npx @everstateai/mcp doctor
8
+ * 3. Repair: npx @everstateai/mcp repair
9
+ * 4. Recall: npx @everstateai/mcp recall "query"
10
+ * 5. Sync: npx @everstateai/mcp sync
11
+ * 6. Done: npx @everstateai/mcp done --summary "..."
12
+ * 7. Status: npx @everstateai/mcp status
13
+ * 8. MCP Server: Runs as stdio MCP server (default)
8
14
  */
9
15
  export {};
10
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;GAMG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG"}
package/dist/index.js CHANGED
@@ -3,9 +3,15 @@
3
3
  /**
4
4
  * Everstate MCP Package
5
5
  *
6
- * Two modes:
7
- * 1. Setup: npx @everstateai/mcp setup YOUR_API_KEY
8
- * 2. MCP Server: Runs as stdio MCP server (default)
6
+ * Commands:
7
+ * 1. Setup: npx @everstateai/mcp setup YOUR_API_KEY
8
+ * 2. Doctor: npx @everstateai/mcp doctor
9
+ * 3. Repair: npx @everstateai/mcp repair
10
+ * 4. Recall: npx @everstateai/mcp recall "query"
11
+ * 5. Sync: npx @everstateai/mcp sync
12
+ * 6. Done: npx @everstateai/mcp done --summary "..."
13
+ * 7. Status: npx @everstateai/mcp status
14
+ * 8. MCP Server: Runs as stdio MCP server (default)
9
15
  */
10
16
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
17
  if (k2 === undefined) k2 = k;
@@ -43,14 +49,65 @@ var __importStar = (this && this.__importStar) || (function () {
43
49
  Object.defineProperty(exports, "__esModule", { value: true });
44
50
  const fs = __importStar(require("fs"));
45
51
  const path = __importStar(require("path"));
46
- // Check if this is a setup command
52
+ // Check which command to run
47
53
  const args = process.argv.slice(2);
48
- if (args[0] === "setup" || args[0] === "--help" || args[0] === "-h") {
54
+ const command = args[0];
55
+ if (command === "setup" || command === "--help" || command === "-h") {
49
56
  // Dynamic import to avoid loading MCP deps for setup
50
57
  import("./setup.js").then(({ runSetup }) => {
51
58
  runSetup(args);
52
59
  });
53
60
  }
61
+ else if (command === "doctor") {
62
+ // Run doctor command
63
+ import("./setup/commands/doctor.js").then(({ doctorCli }) => {
64
+ doctorCli(args.slice(1)).catch((error) => {
65
+ console.error("Doctor failed:", error);
66
+ process.exit(1);
67
+ });
68
+ });
69
+ }
70
+ else if (command === "repair") {
71
+ // Run repair command
72
+ import("./setup/commands/repair.js").then(({ repairCli }) => {
73
+ repairCli(args.slice(1)).catch((error) => {
74
+ console.error("Repair failed:", error);
75
+ process.exit(1);
76
+ });
77
+ });
78
+ }
79
+ else if (command === "recall") {
80
+ import("./commands/recall.js").then(({ recallCli }) => {
81
+ recallCli(args.slice(1)).catch((error) => {
82
+ console.error("Recall failed:", error.message);
83
+ process.exit(1);
84
+ });
85
+ });
86
+ }
87
+ else if (command === "sync") {
88
+ import("./commands/sync.js").then(({ syncCli }) => {
89
+ syncCli(args.slice(1)).catch((error) => {
90
+ console.error("Sync failed:", error.message);
91
+ process.exit(1);
92
+ });
93
+ });
94
+ }
95
+ else if (command === "done") {
96
+ import("./commands/done.js").then(({ doneCli }) => {
97
+ doneCli(args.slice(1)).catch((error) => {
98
+ console.error("Done failed:", error.message);
99
+ process.exit(1);
100
+ });
101
+ });
102
+ }
103
+ else if (command === "status") {
104
+ import("./commands/status.js").then(({ statusCli }) => {
105
+ statusCli(args.slice(1)).catch((error) => {
106
+ console.error("Status failed:", error.message);
107
+ process.exit(1);
108
+ });
109
+ });
110
+ }
54
111
  else {
55
112
  // Run MCP server
56
113
  runMcpServer();
@@ -188,6 +245,12 @@ async function runMcpServer() {
188
245
  });
189
246
  // Auto-detect default project before starting
190
247
  await detectDefaultProject();
248
+ // Check for and apply updates (runs in background, doesn't block startup)
249
+ import("./setup/auto-update.js")
250
+ .then(({ checkAndApplyUpdates }) => checkAndApplyUpdates())
251
+ .catch((error) => {
252
+ console.error("[Everstate] Auto-update check failed:", error);
253
+ });
191
254
  const transport = new StdioServerTransport();
192
255
  await server.connect(transport);
193
256
  console.error("Everstate MCP Proxy connected to", API_BASE);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}