@nex-ai/nex 0.1.18 → 0.1.19

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 (64) hide show
  1. package/README.md +42 -23
  2. package/dist/commands/integrate.js +10 -1
  3. package/dist/commands/integrate.js.map +1 -1
  4. package/dist/commands/setup.d.ts +5 -4
  5. package/dist/commands/setup.js +131 -39
  6. package/dist/commands/setup.js.map +1 -1
  7. package/dist/lib/installers.d.ts +62 -5
  8. package/dist/lib/installers.js +373 -34
  9. package/dist/lib/installers.js.map +1 -1
  10. package/dist/lib/platform-detect.d.ts +7 -0
  11. package/dist/lib/platform-detect.js +150 -8
  12. package/dist/lib/platform-detect.js.map +1 -1
  13. package/dist/lib/project-config.js +1 -1
  14. package/dist/plugin/adapters/cline-capture.d.ts +7 -0
  15. package/dist/plugin/adapters/cline-capture.js +25 -0
  16. package/dist/plugin/adapters/cline-capture.js.map +1 -0
  17. package/dist/plugin/adapters/cline-recall.d.ts +7 -0
  18. package/dist/plugin/adapters/cline-recall.js +30 -0
  19. package/dist/plugin/adapters/cline-recall.js.map +1 -0
  20. package/dist/plugin/adapters/cline-task-start.d.ts +7 -0
  21. package/dist/plugin/adapters/cline-task-start.js +30 -0
  22. package/dist/plugin/adapters/cline-task-start.js.map +1 -0
  23. package/dist/plugin/adapters/cursor-recall.d.ts +7 -0
  24. package/dist/plugin/adapters/cursor-recall.js +31 -0
  25. package/dist/plugin/adapters/cursor-recall.js.map +1 -0
  26. package/dist/plugin/adapters/cursor-session-start.d.ts +7 -0
  27. package/dist/plugin/adapters/cursor-session-start.js +30 -0
  28. package/dist/plugin/adapters/cursor-session-start.js.map +1 -0
  29. package/dist/plugin/adapters/cursor-stop.d.ts +7 -0
  30. package/dist/plugin/adapters/cursor-stop.js +25 -0
  31. package/dist/plugin/adapters/cursor-stop.js.map +1 -0
  32. package/dist/plugin/adapters/windsurf-capture.d.ts +7 -0
  33. package/dist/plugin/adapters/windsurf-capture.js +25 -0
  34. package/dist/plugin/adapters/windsurf-capture.js.map +1 -0
  35. package/dist/plugin/adapters/windsurf-recall.d.ts +7 -0
  36. package/dist/plugin/adapters/windsurf-recall.js +31 -0
  37. package/dist/plugin/adapters/windsurf-recall.js.map +1 -0
  38. package/dist/plugin/auto-capture.js +5 -106
  39. package/dist/plugin/auto-capture.js.map +1 -1
  40. package/dist/plugin/auto-recall.js +5 -79
  41. package/dist/plugin/auto-recall.js.map +1 -1
  42. package/dist/plugin/auto-session-start.d.ts +0 -3
  43. package/dist/plugin/auto-session-start.js +8 -114
  44. package/dist/plugin/auto-session-start.js.map +1 -1
  45. package/dist/plugin/shared.d.ts +38 -0
  46. package/dist/plugin/shared.js +241 -0
  47. package/dist/plugin/shared.js.map +1 -0
  48. package/package.json +3 -1
  49. package/platform-plugins/continue-provider.ts +62 -0
  50. package/platform-plugins/kilocode-modes.yaml +17 -0
  51. package/platform-plugins/opencode-plugin.ts +103 -0
  52. package/platform-plugins/vscode-agent.md +34 -0
  53. package/platform-plugins/windsurf-workflows/nex-ask.md +10 -0
  54. package/platform-plugins/windsurf-workflows/nex-remember.md +10 -0
  55. package/platform-plugins/windsurf-workflows/nex-search.md +10 -0
  56. package/platform-rules/aider-conventions.md +38 -0
  57. package/platform-rules/cline-rules.md +34 -0
  58. package/platform-rules/continue-rules.md +34 -0
  59. package/platform-rules/cursor-rules.md +34 -0
  60. package/platform-rules/kilocode-rules.md +34 -0
  61. package/platform-rules/opencode-agents.md +38 -0
  62. package/platform-rules/vscode-instructions.md +38 -0
  63. package/platform-rules/windsurf-rules.md +34 -0
  64. package/platform-rules/zed-rules.md +38 -0
@@ -29,6 +29,17 @@ function hasNexMcpEntry(configPath, key = "nex") {
29
29
  return false;
30
30
  }
31
31
  }
32
+ function hasNexRules(rulesPath) {
33
+ if (!rulesPath)
34
+ return false;
35
+ try {
36
+ const content = readFileSync(rulesPath, "utf-8");
37
+ return content.includes("Nex") && (content.includes("nex_ask") || content.includes("Nex Context"));
38
+ }
39
+ catch {
40
+ return false;
41
+ }
42
+ }
32
43
  function hasClaudeCodePlugin() {
33
44
  const settingsPath = join(home, ".claude", "settings.json");
34
45
  try {
@@ -69,8 +80,35 @@ function clineConfigPath() {
69
80
  }
70
81
  return join(home, ".config", "Code", "User", "globalStorage", "saoudrizwan.claude-dev", "settings", "cline_mcp_settings.json");
71
82
  }
83
+ function openclawConfigPath() {
84
+ return join(home, ".openclaw", "openclaw.json");
85
+ }
86
+ function hasOpenClawNexPlugin() {
87
+ try {
88
+ const raw = readFileSync(openclawConfigPath(), "utf-8");
89
+ const config = JSON.parse(raw);
90
+ return !!(config?.plugins?.entries?.nex);
91
+ }
92
+ catch {
93
+ return false;
94
+ }
95
+ }
72
96
  export function detectPlatforms() {
73
97
  const cwd = process.cwd();
98
+ // Rules paths (project-local)
99
+ const cursorRulesPath = join(cwd, ".cursor", "rules", "nex.md");
100
+ const vscodeRulesPath = join(cwd, ".github", "instructions", "nex.instructions.md");
101
+ const windsurfRulesPath = join(cwd, ".windsurf", "rules", "nex.md");
102
+ const clineRulesPath = join(cwd, ".clinerules", "nex.md");
103
+ const continueBase = exists(join(cwd, ".continue")) ? join(cwd, ".continue") : join(home, ".continue");
104
+ const continueRulesPath = join(continueBase, "rules", "nex.md");
105
+ const zedRulesPath = join(cwd, ".rules");
106
+ const kilocodeRulesPath = join(cwd, ".kilocode", "rules", "nex.md");
107
+ const opencodeRulesPath = join(cwd, "AGENTS.md");
108
+ // Hook config paths
109
+ const cursorHookConfigPath = join(home, ".cursor", "hooks.json");
110
+ const windsurfHookConfigPath = join(cwd, ".windsurf", "hooks.json");
111
+ const clineHookDir = join(cwd, ".clinerules", "hooks");
74
112
  const platforms = [
75
113
  {
76
114
  id: "claude-code",
@@ -78,6 +116,13 @@ export function detectPlatforms() {
78
116
  detected: exists(join(home, ".claude")),
79
117
  nexInstalled: hasClaudeCodePlugin(),
80
118
  pluginSupport: true,
119
+ supportsRules: false,
120
+ supportsHooks: true,
121
+ supportsCustomTools: false,
122
+ supportsCustomAgents: false,
123
+ supportsWorkflows: true, // slash commands
124
+ hookConfigPath: join(home, ".claude", "settings.json"),
125
+ rulesPath: null,
81
126
  configPath: join(home, ".claude", "settings.json"),
82
127
  configFormat: "standard",
83
128
  },
@@ -87,6 +132,13 @@ export function detectPlatforms() {
87
132
  detected: exists(claudeDesktopConfigPath()),
88
133
  nexInstalled: hasNexMcpEntry(claudeDesktopConfigPath()),
89
134
  pluginSupport: false,
135
+ supportsRules: false,
136
+ supportsHooks: false,
137
+ supportsCustomTools: false,
138
+ supportsCustomAgents: false,
139
+ supportsWorkflows: false,
140
+ hookConfigPath: null,
141
+ rulesPath: null,
90
142
  configPath: claudeDesktopConfigPath(),
91
143
  configFormat: "standard",
92
144
  },
@@ -94,8 +146,15 @@ export function detectPlatforms() {
94
146
  id: "cursor",
95
147
  displayName: "Cursor",
96
148
  detected: exists(join(home, ".cursor")),
97
- nexInstalled: hasNexMcpEntry(join(home, ".cursor", "mcp.json")),
149
+ nexInstalled: hasNexMcpEntry(join(home, ".cursor", "mcp.json")) || hasNexRules(cursorRulesPath),
98
150
  pluginSupport: false,
151
+ supportsRules: true,
152
+ supportsHooks: true,
153
+ supportsCustomTools: false,
154
+ supportsCustomAgents: false,
155
+ supportsWorkflows: false,
156
+ hookConfigPath: cursorHookConfigPath,
157
+ rulesPath: cursorRulesPath,
99
158
  configPath: join(home, ".cursor", "mcp.json"),
100
159
  configFormat: "standard",
101
160
  },
@@ -103,8 +162,15 @@ export function detectPlatforms() {
103
162
  id: "vscode",
104
163
  displayName: "VS Code",
105
164
  detected: whichExists("code") || exists(join(cwd, ".vscode")),
106
- nexInstalled: hasNexMcpEntry(join(cwd, ".vscode", "mcp.json")),
165
+ nexInstalled: hasNexMcpEntry(join(cwd, ".vscode", "mcp.json")) || hasNexRules(vscodeRulesPath),
107
166
  pluginSupport: false,
167
+ supportsRules: true,
168
+ supportsHooks: false,
169
+ supportsCustomTools: false,
170
+ supportsCustomAgents: true,
171
+ supportsWorkflows: false,
172
+ hookConfigPath: null,
173
+ rulesPath: vscodeRulesPath,
108
174
  configPath: join(cwd, ".vscode", "mcp.json"),
109
175
  configFormat: "standard",
110
176
  },
@@ -112,8 +178,15 @@ export function detectPlatforms() {
112
178
  id: "windsurf",
113
179
  displayName: "Windsurf",
114
180
  detected: exists(join(home, ".codeium", "windsurf")),
115
- nexInstalled: hasNexMcpEntry(join(home, ".codeium", "windsurf", "mcp_config.json")),
181
+ nexInstalled: hasNexMcpEntry(join(home, ".codeium", "windsurf", "mcp_config.json")) || hasNexRules(windsurfRulesPath),
116
182
  pluginSupport: false,
183
+ supportsRules: true,
184
+ supportsHooks: true,
185
+ supportsCustomTools: false,
186
+ supportsCustomAgents: false,
187
+ supportsWorkflows: true,
188
+ hookConfigPath: windsurfHookConfigPath,
189
+ rulesPath: windsurfRulesPath,
117
190
  configPath: join(home, ".codeium", "windsurf", "mcp_config.json"),
118
191
  configFormat: "standard",
119
192
  },
@@ -121,8 +194,15 @@ export function detectPlatforms() {
121
194
  id: "cline",
122
195
  displayName: "Cline",
123
196
  detected: hasClineExtension(),
124
- nexInstalled: hasNexMcpEntry(clineConfigPath()),
197
+ nexInstalled: hasNexMcpEntry(clineConfigPath()) || hasNexRules(clineRulesPath),
125
198
  pluginSupport: false,
199
+ supportsRules: true,
200
+ supportsHooks: true,
201
+ supportsCustomTools: false,
202
+ supportsCustomAgents: false,
203
+ supportsWorkflows: false,
204
+ hookConfigPath: clineHookDir,
205
+ rulesPath: clineRulesPath,
126
206
  configPath: clineConfigPath(),
127
207
  configFormat: "standard",
128
208
  },
@@ -130,8 +210,15 @@ export function detectPlatforms() {
130
210
  id: "zed",
131
211
  displayName: "Zed",
132
212
  detected: exists(join(home, ".config", "zed")),
133
- nexInstalled: hasNexMcpEntry(join(home, ".config", "zed", "settings.json"), "nex"),
213
+ nexInstalled: hasNexMcpEntry(join(home, ".config", "zed", "settings.json"), "nex") || hasNexRules(zedRulesPath),
134
214
  pluginSupport: false,
215
+ supportsRules: true,
216
+ supportsHooks: false,
217
+ supportsCustomTools: false,
218
+ supportsCustomAgents: false,
219
+ supportsWorkflows: false,
220
+ hookConfigPath: null,
221
+ rulesPath: zedRulesPath,
135
222
  configPath: join(home, ".config", "zed", "settings.json"),
136
223
  configFormat: "zed",
137
224
  },
@@ -139,8 +226,15 @@ export function detectPlatforms() {
139
226
  id: "continue",
140
227
  displayName: "Continue.dev",
141
228
  detected: exists(join(cwd, ".continue")) || exists(join(home, ".continue")),
142
- nexInstalled: false, // YAML check would be complex — just report not installed
229
+ nexInstalled: hasNexRules(continueRulesPath),
143
230
  pluginSupport: false,
231
+ supportsRules: true,
232
+ supportsHooks: false,
233
+ supportsCustomTools: false,
234
+ supportsCustomAgents: false,
235
+ supportsWorkflows: false,
236
+ hookConfigPath: null,
237
+ rulesPath: continueRulesPath,
144
238
  configPath: exists(join(cwd, ".continue"))
145
239
  ? join(cwd, ".continue", "config.yaml")
146
240
  : join(home, ".continue", "config.yaml"),
@@ -150,8 +244,15 @@ export function detectPlatforms() {
150
244
  id: "kilocode",
151
245
  displayName: "Kilo Code",
152
246
  detected: exists(join(cwd, ".kilocode")),
153
- nexInstalled: hasNexMcpEntry(join(cwd, ".kilocode", "mcp.json")),
247
+ nexInstalled: hasNexMcpEntry(join(cwd, ".kilocode", "mcp.json")) || hasNexRules(kilocodeRulesPath),
154
248
  pluginSupport: false,
249
+ supportsRules: true,
250
+ supportsHooks: false,
251
+ supportsCustomTools: false,
252
+ supportsCustomAgents: true,
253
+ supportsWorkflows: false,
254
+ hookConfigPath: null,
255
+ rulesPath: kilocodeRulesPath,
155
256
  configPath: join(cwd, ".kilocode", "mcp.json"),
156
257
  configFormat: "standard",
157
258
  },
@@ -159,11 +260,50 @@ export function detectPlatforms() {
159
260
  id: "opencode",
160
261
  displayName: "OpenCode",
161
262
  detected: exists(join(home, ".config", "opencode")),
162
- nexInstalled: hasNexMcpEntry(join(home, ".config", "opencode", "opencode.json")),
263
+ nexInstalled: hasNexMcpEntry(join(home, ".config", "opencode", "opencode.json")) || hasNexRules(opencodeRulesPath),
163
264
  pluginSupport: false,
265
+ supportsRules: true,
266
+ supportsHooks: false,
267
+ supportsCustomTools: true,
268
+ supportsCustomAgents: false,
269
+ supportsWorkflows: false,
270
+ hookConfigPath: null,
271
+ rulesPath: opencodeRulesPath,
164
272
  configPath: join(home, ".config", "opencode", "opencode.json"),
165
273
  configFormat: "standard",
166
274
  },
275
+ {
276
+ id: "openclaw",
277
+ displayName: "OpenClaw",
278
+ detected: whichExists("openclaw") || exists(join(home, ".openclaw")),
279
+ nexInstalled: hasOpenClawNexPlugin(),
280
+ pluginSupport: true,
281
+ supportsRules: false,
282
+ supportsHooks: false, // Hooks handled by the plugin internally
283
+ supportsCustomTools: false,
284
+ supportsCustomAgents: false,
285
+ supportsWorkflows: false,
286
+ hookConfigPath: null,
287
+ rulesPath: null,
288
+ configPath: openclawConfigPath(),
289
+ configFormat: "standard",
290
+ },
291
+ {
292
+ id: "aider",
293
+ displayName: "Aider",
294
+ detected: whichExists("aider") || exists(join(cwd, "CONVENTIONS.md")),
295
+ nexInstalled: hasNexRules(join(cwd, "CONVENTIONS.md")),
296
+ pluginSupport: false,
297
+ supportsRules: true,
298
+ supportsHooks: false,
299
+ supportsCustomTools: false,
300
+ supportsCustomAgents: false,
301
+ supportsWorkflows: false,
302
+ hookConfigPath: null,
303
+ rulesPath: join(cwd, "CONVENTIONS.md"),
304
+ configPath: "", // Aider has no MCP support
305
+ configFormat: "standard",
306
+ },
167
307
  ];
168
308
  return platforms;
169
309
  }
@@ -184,5 +324,7 @@ export const VALID_PLATFORM_IDS = [
184
324
  "zed",
185
325
  "kilocode",
186
326
  "opencode",
327
+ "openclaw",
328
+ "aider",
187
329
  ];
188
330
  //# sourceMappingURL=platform-detect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform-detect.js","sourceRoot":"","sources":["../../src/lib/platform-detect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform-detect.js","sourceRoot":"","sources":["../../src/lib/platform-detect.ts"],"names":[],"mappings":"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"}
@@ -131,7 +131,7 @@ const DEFAULT_TOML = `# .nex.toml — Nex project configuration
131
131
  # depth = 2
132
132
 
133
133
  # [mcp]
134
- # enabled = false # Set to true by \`nex setup --with-mcp\`
134
+ # enabled = true # MCP installed by default; use --no-mcp to skip
135
135
 
136
136
  # [output]
137
137
  # format = "text" # "text" | "json"
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Cline TaskComplete hook — auto-capture to Nex.
4
+ * Input: { taskComplete: { result: string } }
5
+ * Output: {}
6
+ */
7
+ export {};
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Cline TaskComplete hook — auto-capture to Nex.
4
+ * Input: { taskComplete: { result: string } }
5
+ * Output: {}
6
+ */
7
+ import { doCapture, readStdin } from "../shared.js";
8
+ async function main() {
9
+ try {
10
+ const raw = await readStdin();
11
+ let input = {};
12
+ try {
13
+ input = JSON.parse(raw);
14
+ }
15
+ catch { /* defaults */ }
16
+ await doCapture({ message: input.taskComplete?.result ?? "" });
17
+ process.stdout.write("{}");
18
+ }
19
+ catch (err) {
20
+ process.stderr.write(`[nex-cline] Capture error: ${err instanceof Error ? err.message : String(err)}\n`);
21
+ process.stdout.write("{}");
22
+ }
23
+ }
24
+ main().then(() => process.exit(0)).catch(() => process.exit(0));
25
+ //# sourceMappingURL=cline-capture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cline-capture.js","sourceRoot":"","sources":["../../../src/plugin/adapters/cline-capture.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAMpD,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,IAAI,KAAK,GAAe,EAAE,CAAC;QAC3B,IAAI,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAEzD,MAAM,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Cline UserPromptSubmit hook — auto-recall from Nex.
4
+ * Input: { userPromptSubmit: { prompt: string } }
5
+ * Output: { contextModification: "..." } or {}
6
+ */
7
+ export {};
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Cline UserPromptSubmit hook — auto-recall from Nex.
4
+ * Input: { userPromptSubmit: { prompt: string } }
5
+ * Output: { contextModification: "..." } or {}
6
+ */
7
+ import { doRecall, readStdin } from "../shared.js";
8
+ async function main() {
9
+ try {
10
+ const raw = await readStdin();
11
+ let input = {};
12
+ try {
13
+ input = JSON.parse(raw);
14
+ }
15
+ catch { /* defaults */ }
16
+ const prompt = input.userPromptSubmit?.prompt ?? "";
17
+ const result = await doRecall(prompt, input.session_id);
18
+ if (!result) {
19
+ process.stdout.write("{}");
20
+ return;
21
+ }
22
+ process.stdout.write(JSON.stringify({ contextModification: result.context }));
23
+ }
24
+ catch (err) {
25
+ process.stderr.write(`[nex-cline] Recall error: ${err instanceof Error ? err.message : String(err)}\n`);
26
+ process.stdout.write("{}");
27
+ }
28
+ }
29
+ main().then(() => process.exit(0)).catch(() => process.exit(0));
30
+ //# sourceMappingURL=cline-recall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cline-recall.js","sourceRoot":"","sources":["../../../src/plugin/adapters/cline-recall.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAOnD,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,IAAI,KAAK,GAAe,EAAE,CAAC;QAC3B,IAAI,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAEzD,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,EAAE,MAAM,IAAI,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAExD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Cline TaskStart hook — load baseline context from Nex.
4
+ * Input: { taskStart: { task: string } }
5
+ * Output: { contextModification: "..." } or {}
6
+ */
7
+ export {};
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Cline TaskStart hook — load baseline context from Nex.
4
+ * Input: { taskStart: { task: string } }
5
+ * Output: { contextModification: "..." } or {}
6
+ */
7
+ import { doSessionStart, readStdin } from "../shared.js";
8
+ async function main() {
9
+ try {
10
+ const raw = await readStdin();
11
+ let input = {};
12
+ try {
13
+ input = JSON.parse(raw);
14
+ }
15
+ catch { /* defaults */ }
16
+ const result = await doSessionStart("startup", input.session_id);
17
+ if (!result) {
18
+ process.stdout.write("{}");
19
+ return;
20
+ }
21
+ const context = result.registrationPrompt ?? result.context;
22
+ process.stdout.write(JSON.stringify({ contextModification: context }));
23
+ }
24
+ catch (err) {
25
+ process.stderr.write(`[nex-cline] Task start error: ${err instanceof Error ? err.message : String(err)}\n`);
26
+ process.stdout.write("{}");
27
+ }
28
+ }
29
+ main().then(() => process.exit(0)).catch(() => process.exit(0));
30
+ //# sourceMappingURL=cline-task-start.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cline-task-start.js","sourceRoot":"","sources":["../../../src/plugin/adapters/cline-task-start.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAOzD,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,IAAI,KAAK,GAAe,EAAE,CAAC;QAC3B,IAAI,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAEzD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,OAAO,CAAC;QAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5G,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Cursor userPromptSubmit hook — auto-recall from Nex.
4
+ * Input: { prompt?: string, attachments?: unknown[], session_id?: string }
5
+ * Output: { continue: true, user_message: "<original + context>" } or {}
6
+ */
7
+ export {};
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Cursor userPromptSubmit hook — auto-recall from Nex.
4
+ * Input: { prompt?: string, attachments?: unknown[], session_id?: string }
5
+ * Output: { continue: true, user_message: "<original + context>" } or {}
6
+ */
7
+ import { doRecall, readStdin } from "../shared.js";
8
+ async function main() {
9
+ try {
10
+ const raw = await readStdin();
11
+ let input = {};
12
+ try {
13
+ input = JSON.parse(raw);
14
+ }
15
+ catch { /* defaults */ }
16
+ const prompt = input.prompt ?? "";
17
+ const result = await doRecall(prompt, input.session_id);
18
+ if (!result) {
19
+ process.stdout.write("{}");
20
+ return;
21
+ }
22
+ // Inject context as additional_context (Cursor's context injection mechanism)
23
+ process.stdout.write(JSON.stringify({ additional_context: result.context }));
24
+ }
25
+ catch (err) {
26
+ process.stderr.write(`[nex-cursor] Recall error: ${err instanceof Error ? err.message : String(err)}\n`);
27
+ process.stdout.write("{}");
28
+ }
29
+ }
30
+ main().then(() => process.exit(0)).catch(() => process.exit(0));
31
+ //# sourceMappingURL=cursor-recall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor-recall.js","sourceRoot":"","sources":["../../../src/plugin/adapters/cursor-recall.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAQnD,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,IAAI,KAAK,GAAgB,EAAE,CAAC;QAC5B,IAAI,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAEzD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAExD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,8EAA8E;QAC9E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,kBAAkB,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC/E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Cursor sessionStart hook — load baseline context from Nex.
4
+ * Input: { session_id?: string }
5
+ * Output: { additional_context: "..." } or {}
6
+ */
7
+ export {};
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Cursor sessionStart hook — load baseline context from Nex.
4
+ * Input: { session_id?: string }
5
+ * Output: { additional_context: "..." } or {}
6
+ */
7
+ import { doSessionStart, readStdin } from "../shared.js";
8
+ async function main() {
9
+ try {
10
+ const raw = await readStdin();
11
+ let input = {};
12
+ try {
13
+ input = JSON.parse(raw);
14
+ }
15
+ catch { /* defaults */ }
16
+ const result = await doSessionStart("startup", input.session_id);
17
+ if (!result) {
18
+ process.stdout.write("{}");
19
+ return;
20
+ }
21
+ const context = result.registrationPrompt ?? result.context;
22
+ process.stdout.write(JSON.stringify({ additional_context: context }));
23
+ }
24
+ catch (err) {
25
+ process.stderr.write(`[nex-cursor] Session start error: ${err instanceof Error ? err.message : String(err)}\n`);
26
+ process.stdout.write("{}");
27
+ }
28
+ }
29
+ main().then(() => process.exit(0)).catch(() => process.exit(0));
30
+ //# sourceMappingURL=cursor-session-start.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor-session-start.js","sourceRoot":"","sources":["../../../src/plugin/adapters/cursor-session-start.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,IAAI,KAAK,GAA4B,EAAE,CAAC;QACxC,IAAI,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAEzD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,OAAO,CAAC;QAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Cursor stop hook — auto-capture conversation to Nex.
4
+ * Input: { last_message?: string, status?: string, session_id?: string }
5
+ * Output: {}
6
+ */
7
+ export {};
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Cursor stop hook — auto-capture conversation to Nex.
4
+ * Input: { last_message?: string, status?: string, session_id?: string }
5
+ * Output: {}
6
+ */
7
+ import { doCapture, readStdin } from "../shared.js";
8
+ async function main() {
9
+ try {
10
+ const raw = await readStdin();
11
+ let input = {};
12
+ try {
13
+ input = JSON.parse(raw);
14
+ }
15
+ catch { /* defaults */ }
16
+ await doCapture({ message: input.last_message ?? "" });
17
+ process.stdout.write("{}");
18
+ }
19
+ catch (err) {
20
+ process.stderr.write(`[nex-cursor] Capture error: ${err instanceof Error ? err.message : String(err)}\n`);
21
+ process.stdout.write("{}");
22
+ }
23
+ }
24
+ main().then(() => process.exit(0)).catch(() => process.exit(0));
25
+ //# sourceMappingURL=cursor-stop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor-stop.js","sourceRoot":"","sources":["../../../src/plugin/adapters/cursor-stop.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAQpD,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,IAAI,KAAK,GAAoB,EAAE,CAAC;QAChC,IAAI,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAEzD,MAAM,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1G,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Windsurf post_cascade_response hook — auto-capture to Nex.
4
+ * Input: { tool_info: { response: string } }
5
+ * Output: {}
6
+ */
7
+ export {};
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Windsurf post_cascade_response hook — auto-capture to Nex.
4
+ * Input: { tool_info: { response: string } }
5
+ * Output: {}
6
+ */
7
+ import { doCapture, readStdin } from "../shared.js";
8
+ async function main() {
9
+ try {
10
+ const raw = await readStdin();
11
+ let input = {};
12
+ try {
13
+ input = JSON.parse(raw);
14
+ }
15
+ catch { /* defaults */ }
16
+ await doCapture({ message: input.tool_info?.response ?? "" });
17
+ process.stdout.write("{}");
18
+ }
19
+ catch (err) {
20
+ process.stderr.write(`[nex-windsurf] Capture error: ${err instanceof Error ? err.message : String(err)}\n`);
21
+ process.stdout.write("{}");
22
+ }
23
+ }
24
+ main().then(() => process.exit(0)).catch(() => process.exit(0));
25
+ //# sourceMappingURL=windsurf-capture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windsurf-capture.js","sourceRoot":"","sources":["../../../src/plugin/adapters/windsurf-capture.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAMpD,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,IAAI,KAAK,GAAkB,EAAE,CAAC;QAC9B,IAAI,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAEzD,MAAM,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5G,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Windsurf pre_user_prompt hook — auto-recall from Nex.
4
+ * Input: { tool_info: { user_prompt: string } }
5
+ * Output: context string on stdout (displayed via show_output) or {}
6
+ */
7
+ export {};
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Windsurf pre_user_prompt hook — auto-recall from Nex.
4
+ * Input: { tool_info: { user_prompt: string } }
5
+ * Output: context string on stdout (displayed via show_output) or {}
6
+ */
7
+ import { doRecall, readStdin } from "../shared.js";
8
+ async function main() {
9
+ try {
10
+ const raw = await readStdin();
11
+ let input = {};
12
+ try {
13
+ input = JSON.parse(raw);
14
+ }
15
+ catch { /* defaults */ }
16
+ const prompt = input.tool_info?.user_prompt ?? "";
17
+ const result = await doRecall(prompt, input.session_id);
18
+ if (!result) {
19
+ process.stdout.write("{}");
20
+ return;
21
+ }
22
+ // Windsurf displays stdout content via show_output
23
+ process.stdout.write(JSON.stringify({ additional_context: result.context }));
24
+ }
25
+ catch (err) {
26
+ process.stderr.write(`[nex-windsurf] Recall error: ${err instanceof Error ? err.message : String(err)}\n`);
27
+ process.stdout.write("{}");
28
+ }
29
+ }
30
+ main().then(() => process.exit(0)).catch(() => process.exit(0));
31
+ //# sourceMappingURL=windsurf-recall.js.map