@nex-ai/nex 0.1.10 → 0.1.12
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 +7 -5
- package/dist/commands/integrate.js +73 -62
- package/dist/commands/integrate.js.map +1 -1
- package/dist/commands/setup.js +56 -22
- package/dist/commands/setup.js.map +1 -1
- package/dist/lib/config.d.ts +1 -0
- package/dist/lib/config.js +2 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/prompt.d.ts +1 -0
- package/dist/lib/prompt.js +21 -0
- package/dist/lib/prompt.js.map +1 -1
- package/package.json +1 -1
- package/plugin-commands/add-field.md +12 -0
- package/plugin-commands/artifact.md +14 -0
- package/plugin-commands/create-note.md +10 -0
- package/plugin-commands/create-object.md +10 -0
- package/plugin-commands/create-record.md +11 -0
- package/plugin-commands/create-task.md +10 -0
- package/plugin-commands/insights.md +13 -0
- package/plugin-commands/integrate.md +6 -15
- package/plugin-commands/link-records.md +10 -0
- package/plugin-commands/list-members.md +15 -0
- package/plugin-commands/lists.md +14 -0
- package/plugin-commands/notes.md +13 -0
- package/plugin-commands/record.md +12 -0
- package/plugin-commands/register.md +2 -12
- package/plugin-commands/relationships.md +12 -0
- package/plugin-commands/schema.md +12 -0
- package/plugin-commands/search.md +12 -0
- package/plugin-commands/tasks.md +13 -0
- package/plugin-commands/timeline.md +12 -0
- package/plugin-commands/update-field.md +10 -0
- package/plugin-commands/update-record.md +11 -0
- package/plugin-commands/upsert-record.md +13 -0
package/README.md
CHANGED
|
@@ -66,6 +66,8 @@ nex setup status # Show all platforms, install status, and con
|
|
|
66
66
|
```
|
|
67
67
|
|
|
68
68
|
**Default behavior** (no flags):
|
|
69
|
+
- If no API key exists: prompts to register
|
|
70
|
+
- If API key exists: offers to regenerate (picks up latest scopes) or change email
|
|
69
71
|
- Claude Code: installs hooks + slash commands (no MCP — avoids filling context windows)
|
|
70
72
|
- Other platforms: detected but MCP not written until `--with-mcp` is passed
|
|
71
73
|
- Scans current directory and ingests new/changed files into Nex
|
|
@@ -134,13 +136,13 @@ nex insight list [--last 24h] # Recent insights
|
|
|
134
136
|
### Integrations
|
|
135
137
|
|
|
136
138
|
```bash
|
|
137
|
-
nex integrate list
|
|
138
|
-
nex integrate connect
|
|
139
|
-
nex integrate connect
|
|
140
|
-
nex integrate disconnect <id>
|
|
139
|
+
nex integrate list # Show all integrations with connection status
|
|
140
|
+
nex integrate connect gmail # Connect Gmail via OAuth
|
|
141
|
+
nex integrate connect slack # Connect Slack
|
|
142
|
+
nex integrate disconnect <id> # Disconnect by connection ID
|
|
141
143
|
```
|
|
142
144
|
|
|
143
|
-
|
|
145
|
+
Available integrations: `gmail`, `google-calendar`, `outlook`, `outlook-calendar`, `slack`, `salesforce`, `hubspot`, `attio`.
|
|
144
146
|
|
|
145
147
|
### CRM Records
|
|
146
148
|
|
|
@@ -15,6 +15,67 @@ function getClient() {
|
|
|
15
15
|
const client = new NexClient(resolveApiKey(opts.apiKey), resolveTimeout(opts.timeout));
|
|
16
16
|
return { client, format: resolveFormat(opts.format) };
|
|
17
17
|
}
|
|
18
|
+
const INTEGRATIONS = {
|
|
19
|
+
gmail: { type: "email", provider: "google" },
|
|
20
|
+
"google-calendar": { type: "calendar", provider: "google" },
|
|
21
|
+
outlook: { type: "email", provider: "microsoft" },
|
|
22
|
+
"outlook-calendar": { type: "calendar", provider: "microsoft" },
|
|
23
|
+
slack: { type: "messaging", provider: "slack" },
|
|
24
|
+
salesforce: { type: "crm", provider: "salesforce" },
|
|
25
|
+
hubspot: { type: "crm", provider: "hubspot" },
|
|
26
|
+
attio: { type: "crm", provider: "attio" },
|
|
27
|
+
};
|
|
28
|
+
const INTEGRATION_NAMES = Object.keys(INTEGRATIONS).join(", ");
|
|
29
|
+
function openBrowser(url) {
|
|
30
|
+
try {
|
|
31
|
+
let cmd;
|
|
32
|
+
let args;
|
|
33
|
+
if (process.platform === "darwin") {
|
|
34
|
+
cmd = "open";
|
|
35
|
+
args = [url];
|
|
36
|
+
}
|
|
37
|
+
else if (process.platform === "linux") {
|
|
38
|
+
cmd = "xdg-open";
|
|
39
|
+
args = [url];
|
|
40
|
+
}
|
|
41
|
+
else if (process.platform === "win32") {
|
|
42
|
+
cmd = "cmd";
|
|
43
|
+
args = ["/c", "start", "", url];
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
throw new Error("Unsupported platform");
|
|
47
|
+
}
|
|
48
|
+
spawn(cmd, args, { stdio: "ignore", detached: true }).unref();
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
process.stderr.write(`Open this URL in your browser:\n${url}\n\n`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
async function pollForConnection(client, connectId, format) {
|
|
55
|
+
process.stderr.write("Waiting for OAuth completion...\n");
|
|
56
|
+
const maxWaitMs = 5 * 60 * 1000;
|
|
57
|
+
const pollIntervalMs = 2000;
|
|
58
|
+
const startTime = Date.now();
|
|
59
|
+
while (Date.now() - startTime < maxWaitMs) {
|
|
60
|
+
await new Promise((resolve) => setTimeout(resolve, pollIntervalMs));
|
|
61
|
+
try {
|
|
62
|
+
const status = await client.get(`/v1/integrations/connect/${encodeURIComponent(connectId)}/status`);
|
|
63
|
+
if (status.status === "connected") {
|
|
64
|
+
process.stderr.write(`\nConnected successfully!\n`);
|
|
65
|
+
printOutput(status, format);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
if (err instanceof AuthError)
|
|
71
|
+
throw err;
|
|
72
|
+
if (err instanceof ServerError && (err.status === 410 || err.status === 403))
|
|
73
|
+
throw err;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
printError("Timed out waiting for OAuth completion. Check status with 'nex integrate list'.");
|
|
77
|
+
process.exit(1);
|
|
78
|
+
}
|
|
18
79
|
const integrate = program
|
|
19
80
|
.command("integrate")
|
|
20
81
|
.description("Manage third-party integrations (Gmail, Slack, Salesforce, etc.)");
|
|
@@ -28,7 +89,6 @@ integrate
|
|
|
28
89
|
printOutput(result, "json");
|
|
29
90
|
return;
|
|
30
91
|
}
|
|
31
|
-
// Human-readable text output
|
|
32
92
|
if (!Array.isArray(result) || result.length === 0) {
|
|
33
93
|
process.stdout.write("No integrations available.\n");
|
|
34
94
|
return;
|
|
@@ -52,76 +112,27 @@ integrate
|
|
|
52
112
|
}
|
|
53
113
|
}
|
|
54
114
|
lines.push("");
|
|
55
|
-
lines.push(
|
|
115
|
+
lines.push(`Connect: nex integrate connect <name> (${INTEGRATION_NAMES})`);
|
|
56
116
|
lines.push("Disconnect: nex integrate disconnect <id>");
|
|
57
117
|
process.stdout.write(lines.join("\n") + "\n");
|
|
58
118
|
});
|
|
59
119
|
integrate
|
|
60
120
|
.command("connect")
|
|
61
|
-
.description(
|
|
62
|
-
.argument("<
|
|
63
|
-
.
|
|
64
|
-
.
|
|
121
|
+
.description(`Connect an integration: ${INTEGRATION_NAMES}`)
|
|
122
|
+
.argument("<name>", `Integration name`)
|
|
123
|
+
.action(async (name) => {
|
|
124
|
+
const integration = INTEGRATIONS[name.toLowerCase()];
|
|
125
|
+
if (!integration) {
|
|
126
|
+
printError(`Unknown integration "${name}". Available: ${INTEGRATION_NAMES}`);
|
|
127
|
+
process.exit(1);
|
|
128
|
+
}
|
|
65
129
|
const { client, format } = getClient();
|
|
66
|
-
const result = await client.post(`/v1/integrations/${encodeURIComponent(type)}/${encodeURIComponent(provider)}/connect`);
|
|
130
|
+
const result = await client.post(`/v1/integrations/${encodeURIComponent(integration.type)}/${encodeURIComponent(integration.provider)}/connect`);
|
|
67
131
|
if (!result.auth_url) {
|
|
68
132
|
throw new Error("No auth URL returned from API");
|
|
69
133
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
try {
|
|
73
|
-
let cmd;
|
|
74
|
-
let args;
|
|
75
|
-
if (process.platform === "darwin") {
|
|
76
|
-
cmd = "open";
|
|
77
|
-
args = [url];
|
|
78
|
-
}
|
|
79
|
-
else if (process.platform === "linux") {
|
|
80
|
-
cmd = "xdg-open";
|
|
81
|
-
args = [url];
|
|
82
|
-
}
|
|
83
|
-
else if (process.platform === "win32") {
|
|
84
|
-
cmd = "cmd";
|
|
85
|
-
args = ["/c", "start", "", url];
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
throw new Error("Unsupported platform");
|
|
89
|
-
}
|
|
90
|
-
spawn(cmd, args, { stdio: "ignore", detached: true }).unref();
|
|
91
|
-
}
|
|
92
|
-
catch {
|
|
93
|
-
process.stderr.write(`Open this URL in your browser:\n${url}\n\n`);
|
|
94
|
-
}
|
|
95
|
-
process.stderr.write("Waiting for OAuth completion...\n");
|
|
96
|
-
// Poll for status
|
|
97
|
-
const connectId = result.connect_id;
|
|
98
|
-
const maxWaitMs = 5 * 60 * 1000; // 5 minutes
|
|
99
|
-
const pollIntervalMs = 2000;
|
|
100
|
-
const startTime = Date.now();
|
|
101
|
-
while (Date.now() - startTime < maxWaitMs) {
|
|
102
|
-
await new Promise((resolve) => setTimeout(resolve, pollIntervalMs));
|
|
103
|
-
try {
|
|
104
|
-
const status = await client.get(`/v1/integrations/connect/${encodeURIComponent(connectId)}/status`);
|
|
105
|
-
if (status.status === "connected") {
|
|
106
|
-
process.stderr.write(`\nConnected successfully!\n`);
|
|
107
|
-
printOutput(status, format);
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
catch (err) {
|
|
112
|
-
// Fail fast on non-transient errors
|
|
113
|
-
if (err instanceof AuthError)
|
|
114
|
-
throw err;
|
|
115
|
-
if (err instanceof ServerError && (err.status === 410 || err.status === 403))
|
|
116
|
-
throw err;
|
|
117
|
-
// Continue polling on transient errors
|
|
118
|
-
if (program.opts().debug) {
|
|
119
|
-
process.stderr.write(`Poll error: ${err}\n`);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
printError("Timed out waiting for OAuth completion. You can check status with 'nex integrate list'.");
|
|
124
|
-
process.exit(1);
|
|
134
|
+
openBrowser(result.auth_url);
|
|
135
|
+
await pollForConnection(client, result.connect_id, format);
|
|
125
136
|
});
|
|
126
137
|
integrate
|
|
127
138
|
.command("disconnect")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integrate.js","sourceRoot":"","sources":["../../src/commands/integrate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG3D,SAAS,QAAQ,CAAC,GAAW,EAAE,GAAW;IACxC,OAAO,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACvF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAW,EAAE,CAAC;AAClE,CAAC;AAED,MAAM,
|
|
1
|
+
{"version":3,"file":"integrate.js","sourceRoot":"","sources":["../../src/commands/integrate.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/setup.js
CHANGED
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
import { existsSync } from "node:fs";
|
|
12
12
|
import { join } from "node:path";
|
|
13
13
|
import { program } from "../cli.js";
|
|
14
|
-
import { resolveApiKey, resolveFormat, resolveTimeout, persistRegistration } from "../lib/config.js";
|
|
14
|
+
import { resolveApiKey, resolveFormat, resolveTimeout, persistRegistration, loadConfig } from "../lib/config.js";
|
|
15
15
|
import { NexClient } from "../lib/client.js";
|
|
16
16
|
import { printOutput, printError } from "../lib/output.js";
|
|
17
|
-
import { confirm, ask } from "../lib/prompt.js";
|
|
17
|
+
import { confirm, ask, choose } from "../lib/prompt.js";
|
|
18
18
|
import { detectPlatforms, getPlatformById, VALID_PLATFORM_IDS } from "../lib/platform-detect.js";
|
|
19
19
|
import { installMcpServer, installClaudeCodePlugin, syncApiKeyToMcpConfig } from "../lib/installers.js";
|
|
20
20
|
import { writeDefaultProjectConfig } from "../lib/project-config.js";
|
|
@@ -25,9 +25,9 @@ function getClient() {
|
|
|
25
25
|
return { client, format: resolveFormat(opts.format) };
|
|
26
26
|
}
|
|
27
27
|
// --- Status subcommand ---
|
|
28
|
-
async function showStatus(format) {
|
|
28
|
+
async function showStatus(format, overrideApiKey) {
|
|
29
29
|
const opts = program.opts();
|
|
30
|
-
const apiKey = resolveApiKey(opts.apiKey);
|
|
30
|
+
const apiKey = overrideApiKey ?? resolveApiKey(opts.apiKey);
|
|
31
31
|
const platforms = detectPlatforms();
|
|
32
32
|
if (format === "json") {
|
|
33
33
|
const data = {
|
|
@@ -41,10 +41,10 @@ async function showStatus(format) {
|
|
|
41
41
|
})),
|
|
42
42
|
project_config: projectConfigExists(),
|
|
43
43
|
};
|
|
44
|
-
// Fetch integrations if authenticated
|
|
44
|
+
// Fetch integrations if authenticated (short timeout — don't block setup)
|
|
45
45
|
if (apiKey) {
|
|
46
46
|
try {
|
|
47
|
-
const client = new NexClient(apiKey,
|
|
47
|
+
const client = new NexClient(apiKey, 5_000);
|
|
48
48
|
data.integrations = await client.get("/v1/integrations/");
|
|
49
49
|
}
|
|
50
50
|
catch {
|
|
@@ -88,10 +88,10 @@ async function showStatus(format) {
|
|
|
88
88
|
// Project config
|
|
89
89
|
lines.push(`Project Config: ${projectConfigExists() ? ".nex.toml found" : ".nex.toml not found"}`);
|
|
90
90
|
lines.push("");
|
|
91
|
-
// Integrations
|
|
91
|
+
// Integrations (short timeout — don't block setup)
|
|
92
92
|
if (apiKey) {
|
|
93
93
|
try {
|
|
94
|
-
const client = new NexClient(apiKey,
|
|
94
|
+
const client = new NexClient(apiKey, 5_000);
|
|
95
95
|
const integrations = await client.get("/v1/integrations/");
|
|
96
96
|
if (Array.isArray(integrations) && integrations.length > 0) {
|
|
97
97
|
lines.push("Connections:");
|
|
@@ -119,10 +119,26 @@ async function showStatus(format) {
|
|
|
119
119
|
process.stdout.write(lines.join("\n") + "\n");
|
|
120
120
|
}
|
|
121
121
|
// --- Main setup flow ---
|
|
122
|
+
async function registerAndPersist(globalOpts, existingEmail) {
|
|
123
|
+
const email = existingEmail ?? await ask("Email (required):", true);
|
|
124
|
+
const name = await ask("Name (optional):");
|
|
125
|
+
process.stderr.write("\nRegistering...\n");
|
|
126
|
+
const client = new NexClient(undefined, resolveTimeout(globalOpts.timeout));
|
|
127
|
+
const data = await client.register(email, name || undefined);
|
|
128
|
+
// Ensure email is persisted even if the API doesn't return it
|
|
129
|
+
data.email = email;
|
|
130
|
+
persistRegistration(data);
|
|
131
|
+
const apiKey = data.api_key;
|
|
132
|
+
const wsSlug = data.workspace_slug;
|
|
133
|
+
process.stderr.write(`\n ✓ Registered!${wsSlug ? ` (${wsSlug})` : ""}\n`);
|
|
134
|
+
process.stderr.write(` API key: ${apiKey}\n`);
|
|
135
|
+
process.stderr.write(` Saved to: ~/.nex/config.json\n\n`);
|
|
136
|
+
return apiKey;
|
|
137
|
+
}
|
|
122
138
|
async function runSetup(opts) {
|
|
123
139
|
const globalOpts = program.opts();
|
|
124
140
|
let apiKey = resolveApiKey(globalOpts.apiKey);
|
|
125
|
-
// 1. Register
|
|
141
|
+
// 1. Register or re-register
|
|
126
142
|
if (!apiKey) {
|
|
127
143
|
process.stderr.write("\nNo API key found. Let's set up your Nex account.\n\n");
|
|
128
144
|
const wantsRegister = await confirm("Register a new Nex workspace?");
|
|
@@ -143,17 +159,35 @@ async function runSetup(opts) {
|
|
|
143
159
|
writeDefaultProjectConfig();
|
|
144
160
|
return;
|
|
145
161
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
const
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
162
|
+
apiKey = await registerAndPersist(globalOpts);
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
// Key exists — offer to regenerate (picks up new scopes, fixes expired keys)
|
|
166
|
+
const config = loadConfig();
|
|
167
|
+
const maskedKey = apiKey.slice(0, 6) + "..." + apiKey.slice(-4);
|
|
168
|
+
const existingEmail = config.email;
|
|
169
|
+
process.stderr.write(`\nAPI key: ${maskedKey}`);
|
|
170
|
+
if (config.workspace_slug) {
|
|
171
|
+
process.stderr.write(` (workspace: ${config.workspace_slug})`);
|
|
172
|
+
}
|
|
173
|
+
if (existingEmail) {
|
|
174
|
+
process.stderr.write(`\nEmail: ${existingEmail}`);
|
|
175
|
+
}
|
|
176
|
+
process.stderr.write("\n\n");
|
|
177
|
+
const choice = await choose("Generate a new API key?", [
|
|
178
|
+
`Generate new key${existingEmail ? ` for ${existingEmail}` : ""}`,
|
|
179
|
+
"Change email and generate new key",
|
|
180
|
+
"Keep current key",
|
|
181
|
+
]);
|
|
182
|
+
if (choice === 0) {
|
|
183
|
+
// Regenerate with existing email (no prompt)
|
|
184
|
+
apiKey = await registerAndPersist(globalOpts, existingEmail);
|
|
185
|
+
}
|
|
186
|
+
else if (choice === 1) {
|
|
187
|
+
// Change email — prompt for new one
|
|
188
|
+
apiKey = await registerAndPersist(globalOpts);
|
|
189
|
+
}
|
|
190
|
+
// choice === 2: keep current key, do nothing
|
|
157
191
|
}
|
|
158
192
|
// 2. Sync API key to shared config
|
|
159
193
|
syncApiKeyToMcpConfig(apiKey);
|
|
@@ -265,9 +299,9 @@ async function runSetup(opts) {
|
|
|
265
299
|
}
|
|
266
300
|
process.stderr.write("\n");
|
|
267
301
|
}
|
|
268
|
-
// 8. Show status
|
|
302
|
+
// 8. Show status (pass current apiKey — may differ from global opts after re-registration)
|
|
269
303
|
if (opts.format !== "json") {
|
|
270
|
-
await showStatus(opts.format);
|
|
304
|
+
await showStatus(opts.format, apiKey);
|
|
271
305
|
}
|
|
272
306
|
}
|
|
273
307
|
// --- Helpers ---
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACjH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEjG,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACxG,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAElF,SAAS,SAAS;IAChB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACvF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAW,EAAE,CAAC;AAClE,CAAC;AAED,4BAA4B;AAE5B,KAAK,UAAU,UAAU,CAAC,MAAc,EAAE,cAAuB;IAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,cAAc,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IAEpC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,IAAI,GAA4B;YACpC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE;YACzF,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/B,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,WAAW;gBACnB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,aAAa,EAAE,CAAC,CAAC,YAAY;gBAC7B,cAAc,EAAE,CAAC,CAAC,aAAa;aAChC,CAAC,CAAC;YACH,cAAc,EAAE,mBAAmB,EAAE;SACtC,CAAC;QAEF,0EAA0E;QAC1E,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC5C,IAAI,CAAC,YAAY,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YAC5D,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,cAAc;IACd,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO;IACP,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,CAAC,IAAI,CAAC,qBAAqB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IAChE,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,YAAY;IACZ,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;YACzD,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;QAE5D,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,aAAa;QACb,IAAI,CAAC,CAAC,EAAE,KAAK,aAAa,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,iBAAiB;IACjB,KAAK,CAAC,IAAI,CAAC,mBAAmB,mBAAmB,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACnG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,mDAAmD;IACnD,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC5C,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,GAAG,CAA4B,mBAAmB,CAAC,CAAC;YACtF,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3D,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC3B,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;oBACvC,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;oBAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;oBACpD,MAAM,KAAK,GAAG,GAAG,IAAI,MAAM,QAAQ,EAAE,CAAC;oBACtC,MAAM,WAAW,GAAG,WAAW,CAAC,WAAyD,CAAC;oBAE1F,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC1C,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;4BAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;4BAC1D,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,yBAAyB,WAAW,aAAa,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;wBAClG,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,sDAAsD,IAAI,IAAI,QAAQ,EAAE,CAAC,CAAC;oBAC/G,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AAChD,CAAC;AAED,0BAA0B;AAE1B,KAAK,UAAU,kBAAkB,CAAC,UAAiD,EAAE,aAAsB;IACzG,MAAM,KAAK,GAAG,aAAa,IAAI,MAAM,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAE3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5E,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,IAAI,SAAS,CAAC,CAAC;IAC7D,8DAA8D;IAC9D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACnB,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAiB,CAAC;IAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAoC,CAAC;IACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,MAAM,IAAI,CAAC,CAAC;IACjD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC7D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAMvB;IACC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAE9C,6BAA6B;IAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC/E,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,+BAA+B,CAAC,CAAC;QAErE,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACzE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;YAClF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;YACjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;YAC9F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAC;YAClG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;YAEnF,iFAAiF;YACjF,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC9D,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,IAAI,QAAQ,CAAC,EAAE,KAAK,aAAa,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACpD,uBAAuB,EAAE,CAAC;gBAC5B,CAAC;YACH,CAAC;YAED,yBAAyB,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,MAAM,GAAG,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,6EAA6E;QAC7E,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;QAEnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,SAAS,EAAE,CAAC,CAAC;QAChD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,aAAa,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE7B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,yBAAyB,EAAE;YACrD,mBAAmB,aAAa,CAAC,CAAC,CAAC,QAAQ,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;YACjE,mCAAmC;YACnC,kBAAkB;SACnB,CAAC,CAAC;QAEH,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACjB,6CAA6C;YAC7C,MAAM,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAC/D,CAAC;aAAM,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,oCAAoC;YACpC,MAAM,GAAG,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAChD,CAAC;QACD,6CAA6C;IAC/C,CAAC;IAED,mCAAmC;IACnC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAE9B,gCAAgC;IAChC,IAAI,eAA2B,CAAC;IAEhC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,UAAU,CACR,qBAAqB,IAAI,CAAC,QAAQ,aAAa,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/E,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,eAAe,GAAG,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAE9D,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,+BAA+B;IAC/B,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;QACvC,qEAAqE;QACrE,IAAI,QAAQ,CAAC,EAAE,KAAK,aAAa,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,uBAAuB,EAAE,CAAC;YACzC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjC,OAAO,CAAC,IAAI,CAAC,iCAAiC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjF,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;gBACxD,CAAC;gBACD,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrC,OAAO,CAAC,IAAI,CAAC,oCAAoC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxF,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,IAAI,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,EAAE,KAAK,aAAa,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAClD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,WAAW,8BAA8B,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;aAAM,IAAI,QAAQ,CAAC,EAAE,KAAK,aAAa,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,WAAW,mDAAmD,CAAC,CAAC;QAC3F,CAAC;QAED,yCAAyC;QACzC,IAAI,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,EAAE,KAAK,aAAa,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAClD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAC;IAC5C,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC3C,CAAC;IAED,sDAAsD;IACtD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,aAAa,EAAE,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;gBACrF,OAAO,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;YACH,IAAI,UAAU,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,OAAO,oBAAoB,UAAU,CAAC,OAAO,aAAa,UAAU,CAAC,MAAM,SAAS,CAAC,CAAC;YAC9H,CAAC;iBAAM,IAAI,UAAU,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBAClC,OAAO,CAAC,IAAI,CAAC,kBAAkB,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAC;YAChF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,uBAAuB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC3B,WAAW,CAAC;YACV,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrC,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,WAAW;gBACnB,QAAQ,EAAE,CAAC,CAAC,QAAQ;aACrB,CAAC,CAAC;YACH,OAAO;SACR,EAAE,MAAM,CAAC,CAAC;IACb,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,2FAA2F;IAC3F,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,kBAAkB;AAElB,SAAS,OAAO,CAAC,GAAW;IAC1B,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IACnC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW,EAAE,GAAW;IACxC,OAAO,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,+BAA+B;AAE/B,MAAM,KAAK,GAAG,OAAO;KAClB,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,yDAAyD,CAAC;KACtE,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;KAChF,MAAM,CAAC,YAAY,EAAE,gDAAgD,EAAE,KAAK,CAAC;KAC7E,MAAM,CAAC,aAAa,EAAE,wDAAwD,CAAC;KAC/E,MAAM,CAAC,WAAW,EAAE,iCAAiC,CAAC;KACtD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,CAAW,CAAC;IAC1D,MAAM,QAAQ,CAAC;QACb,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,OAAO,CAAC,MAAM,KAAK,KAAK;QAClC,MAAM,EAAE,OAAO,CAAC,IAAI,KAAK,KAAK;QAC9B,MAAM;KACP,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,KAAK;KACF,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,mDAAmD,CAAC;KAChE,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,CAAW,CAAC;IAC1D,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC"}
|
package/dist/lib/config.d.ts
CHANGED
package/dist/lib/config.js
CHANGED
|
@@ -49,6 +49,8 @@ export function persistRegistration(data) {
|
|
|
49
49
|
const existing = loadConfig();
|
|
50
50
|
if (typeof data.api_key === "string")
|
|
51
51
|
existing.api_key = data.api_key;
|
|
52
|
+
if (typeof data.email === "string")
|
|
53
|
+
existing.email = data.email;
|
|
52
54
|
if (typeof data.workspace_id === "string" || typeof data.workspace_id === "number") {
|
|
53
55
|
existing.workspace_id = String(data.workspace_id);
|
|
54
56
|
}
|
package/dist/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;AAClE,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,oBAAoB,CAAC;AACxE,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,QAAQ,iBAAiB,CAAC;AACrD,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,QAAQ,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;AAClE,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,oBAAoB,CAAC;AACxE,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,QAAQ,iBAAiB,CAAC;AACrD,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,QAAQ,yBAAyB,CAAC;AAYjE,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAc,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAiB;IAC1C,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,SAAkB;IAC9C,OAAO,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,UAAU,EAAE,CAAC,OAAO,IAAI,SAAS,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,SAAkB;IAC9C,OAAO,SAAS,IAAI,UAAU,EAAE,CAAC,cAAc,IAAI,MAAM,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,SAAkB;IAC/C,IAAI,SAAS;QAAE,OAAO,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC9C,OAAO,UAAU,EAAE,CAAC,eAAe,IAAI,OAAO,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAA6B;IAC/D,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;IAC9B,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;QAAE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IACtE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;QAAE,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAChE,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QACnF,QAAQ,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ;QAAE,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;IAC3F,UAAU,CAAC,QAAQ,CAAC,CAAC;AACvB,CAAC"}
|
package/dist/lib/prompt.d.ts
CHANGED
|
@@ -2,4 +2,5 @@
|
|
|
2
2
|
* Minimal interactive prompt helpers using readline.
|
|
3
3
|
*/
|
|
4
4
|
export declare function confirm(message: string, defaultYes?: boolean): Promise<boolean>;
|
|
5
|
+
export declare function choose(message: string, options: string[]): Promise<number>;
|
|
5
6
|
export declare function ask(message: string, required?: boolean): Promise<string>;
|
package/dist/lib/prompt.js
CHANGED
|
@@ -18,6 +18,27 @@ export async function confirm(message, defaultYes = true) {
|
|
|
18
18
|
});
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
|
+
export async function choose(message, options) {
|
|
22
|
+
const rl = createInterface({ input: process.stdin, output: process.stderr });
|
|
23
|
+
for (let i = 0; i < options.length; i++) {
|
|
24
|
+
process.stderr.write(` ${i + 1}) ${options[i]}\n`);
|
|
25
|
+
}
|
|
26
|
+
return new Promise((resolve) => {
|
|
27
|
+
const prompt = () => {
|
|
28
|
+
rl.question(`${message} `, (answer) => {
|
|
29
|
+
const num = parseInt(answer.trim(), 10);
|
|
30
|
+
if (num >= 1 && num <= options.length) {
|
|
31
|
+
rl.close();
|
|
32
|
+
resolve(num - 1);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
process.stderr.write(` Please enter 1-${options.length}\n`);
|
|
36
|
+
prompt();
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
prompt();
|
|
40
|
+
});
|
|
41
|
+
}
|
|
21
42
|
export async function ask(message, required = false) {
|
|
22
43
|
const rl = createInterface({ input: process.stdin, output: process.stderr });
|
|
23
44
|
return new Promise((resolve) => {
|
package/dist/lib/prompt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/lib/prompt.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAe,EAAE,UAAU,GAAG,IAAI;IAC9D,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAC9C,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE7E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,GAAG,OAAO,IAAI,MAAM,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE;YAC9C,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,UAAU,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,KAAK,CAAC,CAAC;YAChD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAAe,EAAE,QAAQ,GAAG,KAAK;IACzD,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE7E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,EAAE,CAAC,QAAQ,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE;gBACpC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC9B,IAAI,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;oBACzB,MAAM,EAAE,CAAC;oBACT,OAAO;gBACT,CAAC;gBACD,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,OAAO,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,MAAM,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/lib/prompt.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Add a field (attribute) to an object type
|
|
3
|
+
---
|
|
4
|
+
Add a field to an object type: $ARGUMENTS
|
|
5
|
+
|
|
6
|
+
If insufficient arguments, respond: "Usage: /add-field <object_slug> <field_name> <field_type> [--required] [--label <label>]"
|
|
7
|
+
|
|
8
|
+
Supported field types: text, number, email, phone, url, date, datetime, boolean, select, multi_select, currency, rich_text.
|
|
9
|
+
|
|
10
|
+
Parse the object slug, field name, type, and optional flags from arguments.
|
|
11
|
+
Use the `mcp__nex__create_attribute` tool with the parsed parameters.
|
|
12
|
+
Confirm the field was added successfully.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Check processing status of an ingested artifact
|
|
3
|
+
---
|
|
4
|
+
Check artifact status: $ARGUMENTS
|
|
5
|
+
|
|
6
|
+
If no artifact ID provided, respond: "Usage: /artifact <artifact_id>"
|
|
7
|
+
|
|
8
|
+
Use the `mcp__nex__get_artifact_status` tool with the provided artifact_id.
|
|
9
|
+
|
|
10
|
+
Show:
|
|
11
|
+
- **Status**: processing state (pending, processing, completed, failed)
|
|
12
|
+
- **Extracted entities**: list if available
|
|
13
|
+
- **Relationships**: list if available
|
|
14
|
+
- **Error**: details if status is failed
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a new note
|
|
3
|
+
---
|
|
4
|
+
Create a note: $ARGUMENTS
|
|
5
|
+
|
|
6
|
+
If no title provided, respond: "Usage: /create-note <title> [--content <body>] [--entity <entity_id>]"
|
|
7
|
+
|
|
8
|
+
Parse the title and optional content/entity from arguments.
|
|
9
|
+
Use the `mcp__nex__create_note` tool with the parsed parameters.
|
|
10
|
+
Confirm creation with the note ID and details.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a new object type definition
|
|
3
|
+
---
|
|
4
|
+
Create a new object type: $ARGUMENTS
|
|
5
|
+
|
|
6
|
+
If no name provided, respond: "Usage: /create-object <object name> [--plural <plural name>] [--description <description>]"
|
|
7
|
+
|
|
8
|
+
Parse the arguments for the object name, optional plural name, and description.
|
|
9
|
+
Use the `mcp__nex__create_object` tool with the parsed parameters.
|
|
10
|
+
Confirm creation with the returned slug and details.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a new record
|
|
3
|
+
---
|
|
4
|
+
Create a new record: $ARGUMENTS
|
|
5
|
+
|
|
6
|
+
If insufficient arguments, respond: "Usage: /create-record <object_slug> <field=value> [field=value ...]"
|
|
7
|
+
Example: /create-record contacts name="Jane Doe" email="jane@example.com"
|
|
8
|
+
|
|
9
|
+
Parse the object slug and field key=value pairs from arguments.
|
|
10
|
+
Use the `mcp__nex__create_record` tool with object_slug and the attributes object.
|
|
11
|
+
Confirm creation with the returned record ID and details.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a new task
|
|
3
|
+
---
|
|
4
|
+
Create a task: $ARGUMENTS
|
|
5
|
+
|
|
6
|
+
If no title provided, respond: "Usage: /create-task <title> [--due <date>] [--priority <low|medium|high>] [--entity <entity_id>]"
|
|
7
|
+
|
|
8
|
+
Parse the title and optional flags from arguments.
|
|
9
|
+
Use the `mcp__nex__create_task` tool with the parsed parameters.
|
|
10
|
+
Confirm creation with the task ID and details.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Get recent insights from the context graph
|
|
3
|
+
---
|
|
4
|
+
Get insights: $ARGUMENTS
|
|
5
|
+
|
|
6
|
+
Use the `mcp__nex__get_insights` tool. If $ARGUMENTS specifies a time window (e.g. "2h", "1d", "30m"), use it as the `last` parameter. Default to "1h" if not specified.
|
|
7
|
+
|
|
8
|
+
Format each insight as:
|
|
9
|
+
- **Type**: insight content
|
|
10
|
+
- Confidence: X% | Source entities
|
|
11
|
+
- Timestamp
|
|
12
|
+
|
|
13
|
+
If no insights found, respond: "No recent insights found in the specified time window."
|
|
@@ -2,33 +2,24 @@ Help the user connect third-party integrations (Gmail, Google Calendar, Outlook,
|
|
|
2
2
|
|
|
3
3
|
## Available Integrations
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|------|----------|-------------|
|
|
7
|
-
| email | google | Gmail |
|
|
8
|
-
| calendar | google | Google Calendar |
|
|
9
|
-
| email | microsoft | Outlook |
|
|
10
|
-
| calendar | microsoft | Outlook Calendar |
|
|
11
|
-
| messaging | slack | Slack |
|
|
12
|
-
| crm | attio | Attio |
|
|
13
|
-
| crm | hubspot | HubSpot |
|
|
14
|
-
| crm | salesforce | Salesforce |
|
|
5
|
+
`gmail`, `google-calendar`, `outlook`, `outlook-calendar`, `slack`, `attio`, `hubspot`, `salesforce`
|
|
15
6
|
|
|
16
7
|
## Steps
|
|
17
8
|
|
|
18
9
|
1. First, list current integrations to see what's already connected:
|
|
19
|
-
Use the `list_integrations` MCP tool, or suggest
|
|
10
|
+
Use the `list_integrations` MCP tool, or suggest: `nex integrate list`
|
|
20
11
|
|
|
21
12
|
2. To connect a new integration:
|
|
22
|
-
Use the `connect_integration` MCP tool with the `type` and `provider
|
|
13
|
+
Use the `connect_integration` MCP tool with the `type` and `provider`.
|
|
23
14
|
This returns an `auth_url` — open it in the user's browser.
|
|
24
|
-
|
|
15
|
+
Or suggest: `nex integrate connect gmail`
|
|
25
16
|
|
|
26
17
|
3. Poll for completion:
|
|
27
18
|
Use the `get_connect_status` MCP tool with the `connect_id` every few seconds until `status` is `"connected"`.
|
|
28
19
|
|
|
29
20
|
4. To disconnect:
|
|
30
21
|
Use the `disconnect_integration` MCP tool with the `connection_id`.
|
|
31
|
-
|
|
22
|
+
Or: `nex integrate disconnect <id>`
|
|
32
23
|
|
|
33
24
|
5. To check overall setup status:
|
|
34
|
-
Suggest
|
|
25
|
+
Suggest: `nex setup status`
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Link two records with a relationship
|
|
3
|
+
---
|
|
4
|
+
Link records: $ARGUMENTS
|
|
5
|
+
|
|
6
|
+
If insufficient arguments, respond: "Usage: /link-records <definition_id> <source_record_id> <target_record_id>"
|
|
7
|
+
|
|
8
|
+
Parse the relationship definition ID, source record ID, and target record ID from arguments.
|
|
9
|
+
Use the `mcp__nex__create_relationship` tool with the parsed parameters.
|
|
10
|
+
Confirm the relationship was created.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: View records in a list
|
|
3
|
+
---
|
|
4
|
+
Show list members: $ARGUMENTS
|
|
5
|
+
|
|
6
|
+
If no list ID provided, respond: "Usage: /list-members <list_id>"
|
|
7
|
+
|
|
8
|
+
Use the `mcp__nex__list_list_records` tool with the provided list_id.
|
|
9
|
+
|
|
10
|
+
Format results as a table showing:
|
|
11
|
+
- Record name/title
|
|
12
|
+
- Key attributes
|
|
13
|
+
- Date added to list
|
|
14
|
+
|
|
15
|
+
If no members found, respond: "This list has no members."
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: View lists for an object type
|
|
3
|
+
---
|
|
4
|
+
Show lists for: $ARGUMENTS
|
|
5
|
+
|
|
6
|
+
If no object slug provided, respond: "Usage: /lists <object_slug>"
|
|
7
|
+
|
|
8
|
+
Use the `mcp__nex__list_object_lists` tool with the provided object_slug.
|
|
9
|
+
|
|
10
|
+
Format each list as:
|
|
11
|
+
- **List Name** (ID: `list_id`)
|
|
12
|
+
- Description and member count if available
|
|
13
|
+
|
|
14
|
+
If no lists found, respond: "No lists found for this object type."
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: List notes, optionally for a specific record
|
|
3
|
+
---
|
|
4
|
+
List notes: $ARGUMENTS
|
|
5
|
+
|
|
6
|
+
Use the `mcp__nex__list_notes` tool. If $ARGUMENTS is provided, use it as an entity_id filter to show notes for that specific record.
|
|
7
|
+
|
|
8
|
+
Format each note as:
|
|
9
|
+
- **Title** (ID: `note_id`, Created: date)
|
|
10
|
+
- Content preview (first 100 chars)
|
|
11
|
+
- Linked entity if applicable
|
|
12
|
+
|
|
13
|
+
If no notes found, respond: "No notes found."
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Get a record by ID
|
|
3
|
+
---
|
|
4
|
+
Get record: $ARGUMENTS
|
|
5
|
+
|
|
6
|
+
If no record ID provided, respond: "Usage: /record <record_id>"
|
|
7
|
+
|
|
8
|
+
Use the `mcp__nex__get_record` tool with the provided record_id.
|
|
9
|
+
Format the record as:
|
|
10
|
+
- **Name** (Type: `object_type`)
|
|
11
|
+
- All attributes in a readable key-value list
|
|
12
|
+
- Show created_at and updated_at timestamps
|
|
@@ -5,19 +5,9 @@ Register for a Nex account to get an API key for the memory plugin.
|
|
|
5
5
|
|
|
6
6
|
If $ARGUMENTS contains an email address, use it directly. Otherwise, ask the user for their email.
|
|
7
7
|
|
|
8
|
-
Run the registration script
|
|
8
|
+
Run the registration script:
|
|
9
9
|
```
|
|
10
|
-
node -
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
Then run:
|
|
14
|
-
```
|
|
15
|
-
node <resolved-path> <email> [name] [company]
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
If the resolve fails, try the global install path:
|
|
19
|
-
```
|
|
20
|
-
node $(npm prefix -g)/lib/node_modules/@nex-ai/nex/dist/plugin/auto-register.js <email> [name] [company]
|
|
10
|
+
node <plugin-dir>/dist/auto-register.js <email> [name] [company]
|
|
21
11
|
```
|
|
22
12
|
|
|
23
13
|
After successful registration:
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: View relationship definitions in the workspace
|
|
3
|
+
---
|
|
4
|
+
List relationship definitions: $ARGUMENTS
|
|
5
|
+
|
|
6
|
+
Use the `mcp__nex__list_relationship_definitions` tool.
|
|
7
|
+
|
|
8
|
+
Format each relationship as:
|
|
9
|
+
- **Name**: source_object → target_object (cardinality)
|
|
10
|
+
- Description if available
|
|
11
|
+
|
|
12
|
+
If no relationships defined, respond: "No relationship definitions found in this workspace."
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: View workspace schema (object types and their fields)
|
|
3
|
+
---
|
|
4
|
+
$ARGUMENTS
|
|
5
|
+
|
|
6
|
+
If a specific object slug is provided, use the `mcp__nex__get_object` tool with that slug to show its details and attributes.
|
|
7
|
+
|
|
8
|
+
Otherwise, use `mcp__nex__list_objects` with include_attributes=true to list all object types.
|
|
9
|
+
|
|
10
|
+
Format each object type as:
|
|
11
|
+
- **Object Name** (`slug`) — description
|
|
12
|
+
- Fields: list each attribute with name, type, and whether required
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Search CRM records by name across all types
|
|
3
|
+
---
|
|
4
|
+
Search for: $ARGUMENTS
|
|
5
|
+
|
|
6
|
+
If no query provided, respond: "Usage: /search <query>"
|
|
7
|
+
|
|
8
|
+
Use the `mcp__nex__search_records` tool with the query.
|
|
9
|
+
Format results grouped by object type. For each result show:
|
|
10
|
+
- **Name** (ID: `record_id`) — object type
|
|
11
|
+
- Key attributes if available
|
|
12
|
+
If no results found, respond: "No records found matching your query."
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: List tasks, optionally filtered
|
|
3
|
+
---
|
|
4
|
+
List tasks: $ARGUMENTS
|
|
5
|
+
|
|
6
|
+
Use the `mcp__nex__list_tasks` tool. If $ARGUMENTS is provided, use it as a search filter.
|
|
7
|
+
|
|
8
|
+
Format each task as:
|
|
9
|
+
- [ ] or [x] **Title** (Priority: X, Due: date)
|
|
10
|
+
- Status, assignee if set
|
|
11
|
+
- Brief description if available
|
|
12
|
+
|
|
13
|
+
If no tasks found, respond: "No tasks found."
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: View timeline events for a record
|
|
3
|
+
---
|
|
4
|
+
Show timeline for record: $ARGUMENTS
|
|
5
|
+
|
|
6
|
+
If no record ID provided, respond: "Usage: /timeline <record_id>"
|
|
7
|
+
|
|
8
|
+
Use the `mcp__nex__get_record_timeline` tool with the provided record_id.
|
|
9
|
+
Format timeline entries chronologically, showing for each:
|
|
10
|
+
- Timestamp
|
|
11
|
+
- Event type
|
|
12
|
+
- Summary of what changed
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Update a field (attribute) on an object type
|
|
3
|
+
---
|
|
4
|
+
Update a field: $ARGUMENTS
|
|
5
|
+
|
|
6
|
+
If insufficient arguments, respond: "Usage: /update-field <object_slug> <attribute_slug> [--label <label>] [--required true|false] [--description <desc>]"
|
|
7
|
+
|
|
8
|
+
Parse the object slug, attribute slug, and fields to update from arguments.
|
|
9
|
+
Use the `mcp__nex__update_attribute` tool with the parsed parameters.
|
|
10
|
+
Confirm the update with the returned details.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Update an existing record
|
|
3
|
+
---
|
|
4
|
+
Update record: $ARGUMENTS
|
|
5
|
+
|
|
6
|
+
If insufficient arguments, respond: "Usage: /update-record <record_id> <field=value> [field=value ...]"
|
|
7
|
+
Example: /update-record rec_123 email="new@example.com" phone="+1234567890"
|
|
8
|
+
|
|
9
|
+
Parse the record ID and field key=value pairs from arguments.
|
|
10
|
+
Use the `mcp__nex__update_record` tool with the record_id and attributes object.
|
|
11
|
+
Confirm the update with the returned details.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create or update a record (upsert)
|
|
3
|
+
---
|
|
4
|
+
Upsert record: $ARGUMENTS
|
|
5
|
+
|
|
6
|
+
If insufficient arguments, respond: "Usage: /upsert-record <object_slug> --match <attribute> <field=value> [field=value ...]"
|
|
7
|
+
Example: /upsert-record contacts --match email name="Jane Doe" email="jane@example.com"
|
|
8
|
+
|
|
9
|
+
The `--match` flag specifies the matching_attribute used to find existing records. If a record with the same value for that attribute exists, it will be updated; otherwise a new record is created.
|
|
10
|
+
|
|
11
|
+
Parse the object slug, matching attribute, and field key=value pairs.
|
|
12
|
+
Use the `mcp__nex__upsert_record` tool with object_slug, matching_attribute, and attributes.
|
|
13
|
+
Report whether the record was created or updated.
|