@everstateai/mcp 1.3.3 → 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.
- package/README.md +42 -6
- package/dist/commands/api-client.d.ts +35 -0
- package/dist/commands/api-client.d.ts.map +1 -0
- package/dist/commands/api-client.js +138 -0
- package/dist/commands/api-client.js.map +1 -0
- package/dist/commands/done.d.ts +7 -0
- package/dist/commands/done.d.ts.map +1 -0
- package/dist/commands/done.js +57 -0
- package/dist/commands/done.js.map +1 -0
- package/dist/commands/recall.d.ts +7 -0
- package/dist/commands/recall.d.ts.map +1 -0
- package/dist/commands/recall.js +36 -0
- package/dist/commands/recall.js.map +1 -0
- package/dist/commands/status.d.ts +7 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +33 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/sync.d.ts +7 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +34 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -1
- package/dist/index.js.map +1 -1
- package/dist/setup/environments.d.ts +48 -0
- package/dist/setup/environments.d.ts.map +1 -0
- package/dist/setup/environments.js +222 -0
- package/dist/setup/environments.js.map +1 -0
- package/dist/setup/hooks/templates.d.ts.map +1 -1
- package/dist/setup/hooks/templates.js +34 -18
- package/dist/setup/hooks/templates.js.map +1 -1
- package/dist/setup/types.d.ts +2 -0
- package/dist/setup/types.d.ts.map +1 -1
- package/dist/setup/types.js +9 -1
- package/dist/setup/types.js.map +1 -1
- package/dist/setup/validators/mcp-config.d.ts +2 -1
- package/dist/setup/validators/mcp-config.d.ts.map +1 -1
- package/dist/setup/validators/mcp-config.js +122 -153
- package/dist/setup/validators/mcp-config.js.map +1 -1
- package/dist/setup.d.ts +1 -0
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +265 -262
- package/dist/setup.js.map +1 -1
- package/package.json +1 -1
- package/src/commands/api-client.ts +117 -0
- package/src/commands/done.ts +63 -0
- package/src/commands/recall.ts +40 -0
- package/src/commands/status.ts +36 -0
- package/src/commands/sync.ts +37 -0
- package/src/index.ts +33 -1
- package/src/setup/environments.ts +225 -0
- package/src/setup/hooks/templates.ts +34 -18
- package/src/setup/types.ts +9 -1
- package/src/setup/validators/mcp-config.ts +120 -161
- package/src/setup.ts +319 -282
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
|
-
|
|
125
|
-
-
|
|
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
|
|
133
|
-
npx @everstateai/mcp setup KEY
|
|
134
|
-
npx @everstateai/mcp setup KEY
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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
|
@@ -6,7 +6,11 @@
|
|
|
6
6
|
* 1. Setup: npx @everstateai/mcp setup YOUR_API_KEY
|
|
7
7
|
* 2. Doctor: npx @everstateai/mcp doctor
|
|
8
8
|
* 3. Repair: npx @everstateai/mcp repair
|
|
9
|
-
* 4.
|
|
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)
|
|
10
14
|
*/
|
|
11
15
|
export {};
|
|
12
16
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG"}
|
package/dist/index.js
CHANGED
|
@@ -7,7 +7,11 @@
|
|
|
7
7
|
* 1. Setup: npx @everstateai/mcp setup YOUR_API_KEY
|
|
8
8
|
* 2. Doctor: npx @everstateai/mcp doctor
|
|
9
9
|
* 3. Repair: npx @everstateai/mcp repair
|
|
10
|
-
* 4.
|
|
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)
|
|
11
15
|
*/
|
|
12
16
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
13
17
|
if (k2 === undefined) k2 = k;
|
|
@@ -72,6 +76,38 @@ else if (command === "repair") {
|
|
|
72
76
|
});
|
|
73
77
|
});
|
|
74
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
|
+
}
|
|
75
111
|
else {
|
|
76
112
|
// Run MCP server
|
|
77
113
|
runMcpServer();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AACA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Environment Registry
|
|
3
|
+
*
|
|
4
|
+
* Each AI coding tool that supports MCP is described by a ToolEnvironment object.
|
|
5
|
+
* Adding a new tool = adding one object to the TOOL_ENVIRONMENTS array.
|
|
6
|
+
*/
|
|
7
|
+
export interface ToolEnvironment {
|
|
8
|
+
/** Human-readable name, e.g. "Claude Code" */
|
|
9
|
+
name: string;
|
|
10
|
+
/** Short identifier for --environment flag, e.g. "claude-code" */
|
|
11
|
+
id: string;
|
|
12
|
+
/** Returns the absolute path to this tool's MCP config file */
|
|
13
|
+
getConfigPath(): string;
|
|
14
|
+
/** Returns true if the tool appears to be installed */
|
|
15
|
+
isInstalled(): boolean;
|
|
16
|
+
/** JSON key path where MCP servers live */
|
|
17
|
+
mcpServersKey: string;
|
|
18
|
+
}
|
|
19
|
+
export interface ConfigureResult {
|
|
20
|
+
tool: string;
|
|
21
|
+
id: string;
|
|
22
|
+
path: string;
|
|
23
|
+
status: 'configured' | 'skipped' | 'error';
|
|
24
|
+
message?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Write the Everstate MCP server entry into a tool's config file.
|
|
28
|
+
* Handles: file doesn't exist (create), exists without mcpServers (add),
|
|
29
|
+
* exists with other servers (merge without clobbering).
|
|
30
|
+
*/
|
|
31
|
+
export declare function configureMcpForTool(env: ToolEnvironment, apiKey: string): string | null;
|
|
32
|
+
export declare const TOOL_ENVIRONMENTS: ToolEnvironment[];
|
|
33
|
+
export declare function detectInstalledTools(): ToolEnvironment[];
|
|
34
|
+
export declare function getToolById(id: string): ToolEnvironment | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Configure Everstate MCP in all detected (or specified) tools.
|
|
37
|
+
*/
|
|
38
|
+
export declare function configureAllTools(apiKey: string, targetEnvironment?: string): ConfigureResult[];
|
|
39
|
+
/**
|
|
40
|
+
* Get detection status for all known tools (for display purposes).
|
|
41
|
+
*/
|
|
42
|
+
export declare function getAllToolStatus(): Array<{
|
|
43
|
+
name: string;
|
|
44
|
+
id: string;
|
|
45
|
+
installed: boolean;
|
|
46
|
+
path: string;
|
|
47
|
+
}>;
|
|
48
|
+
//# sourceMappingURL=environments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environments.d.ts","sourceRoot":"","sources":["../../src/setup/environments.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,+DAA+D;IAC/D,aAAa,IAAI,MAAM,CAAC;IACxB,uDAAuD;IACvD,WAAW,IAAI,OAAO,CAAC;IACvB,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAoCD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,MAAM,GACb,MAAM,GAAG,IAAI,CAWf;AAmED,eAAO,MAAM,iBAAiB,EAAE,eAAe,EAK9C,CAAC;AAEF,wBAAgB,oBAAoB,IAAI,eAAe,EAAE,CAExD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEnE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,MAAM,GACzB,eAAe,EAAE,CAmCnB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAOxG"}
|