nexusforge-cli 1.0.3 → 1.0.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/dist/services/api.d.ts.map +1 -1
- package/dist/services/api.js +25 -0
- package/dist/services/api.js.map +1 -1
- package/package.json +1 -1
- package/src/services/api.ts +27 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/services/api.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAkC3B;;GAEG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,MAAM,EACvB,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,WAAW,EAAE,GAC1B,OAAO,CAAC,YAAY,CAAC,CAUvB;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/services/api.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAkC3B;;GAEG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,MAAM,EACvB,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,WAAW,EAAE,GAC1B,OAAO,CAAC,YAAY,CAAC,CAUvB;AA2BD;;GAEG;AACH,wBAAuB,aAAa,CAClC,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,MAAM,EACvB,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,WAAW,EAAE,GAC1B,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAqCvC;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,cAAc,CAAC,EAAE,MAAM,EACvB,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,UAAU,CAAC,CAQrB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAEhF;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CAWhB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,cAAc,EAAE,MAAM,EACtB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC;IACT,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC,CAQD;AAED;;GAEG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGnD;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAQpD"}
|
package/dist/services/api.js
CHANGED
|
@@ -41,12 +41,36 @@ export async function sendMessage(message, conversationId, model, fileContext) {
|
|
|
41
41
|
}),
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Get CLI system context for AI
|
|
46
|
+
*/
|
|
47
|
+
function getCLIContext() {
|
|
48
|
+
const cwd = process.cwd();
|
|
49
|
+
const platform = process.platform;
|
|
50
|
+
const username = config.get('username') || 'user';
|
|
51
|
+
return `You are NexusForge CLI, an AI-powered development assistant running in the user's terminal.
|
|
52
|
+
|
|
53
|
+
IMPORTANT CONTEXT:
|
|
54
|
+
- You are running in a CLI environment with FULL ACCESS to the user's filesystem
|
|
55
|
+
- Current working directory: ${cwd}
|
|
56
|
+
- Platform: ${platform}
|
|
57
|
+
- User: ${username}
|
|
58
|
+
|
|
59
|
+
CAPABILITIES:
|
|
60
|
+
- You CAN read files using the /read command
|
|
61
|
+
- You CAN execute shell commands - suggest commands in \`\`\`bash code blocks
|
|
62
|
+
- You CAN see and navigate the filesystem
|
|
63
|
+
- You have access to the user's actual codebase
|
|
64
|
+
|
|
65
|
+
When the user asks about files, directories, or their codebase, provide specific help based on their current directory. Suggest concrete commands they can run.`;
|
|
66
|
+
}
|
|
44
67
|
/**
|
|
45
68
|
* Stream a chat message response
|
|
46
69
|
*/
|
|
47
70
|
export async function* streamMessage(message, conversationId, model, fileContext) {
|
|
48
71
|
const apiUrl = config.getApiUrl();
|
|
49
72
|
const token = config.getAccessToken();
|
|
73
|
+
const systemContext = getCLIContext();
|
|
50
74
|
const response = await fetch(`${apiUrl}/ai/chat/stream`, {
|
|
51
75
|
method: 'POST',
|
|
52
76
|
headers: {
|
|
@@ -57,6 +81,7 @@ export async function* streamMessage(message, conversationId, model, fileContext
|
|
|
57
81
|
message,
|
|
58
82
|
conversation_id: conversationId,
|
|
59
83
|
model,
|
|
84
|
+
system: systemContext,
|
|
60
85
|
}),
|
|
61
86
|
});
|
|
62
87
|
if (!response.ok) {
|
package/dist/services/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/services/api.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAQ7C;;GAEG;AACH,KAAK,UAAU,UAAU,CACvB,QAAgB,EAChB,UAAuB,EAAE;IAEzB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;IAEtC,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;QAClC,GAAG,CAAE,OAAO,CAAC,OAAkC,IAAI,EAAE,CAAC;KACvD,CAAC;IAEF,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;IAC/C,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,GAAG,QAAQ,EAAE,EAAE;QACnD,GAAG,OAAO;QACV,OAAO;KACR,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,cAAc,QAAQ,CAAC,MAAM,MAAM,SAAS,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,EAAgB,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAe,EACf,cAAuB,EACvB,KAAc,EACd,WAA2B;IAE3B,OAAO,UAAU,CAAe,WAAW,EAAE;QAC3C,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,OAAO;YACP,eAAe,EAAE,cAAc;YAC/B,KAAK;YACL,YAAY,EAAE,WAAW;SAC1B,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,aAAa,CAClC,OAAe,EACf,cAAuB,EACvB,KAAc,EACd,WAA2B;IAE3B,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;IAEtC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,iBAAiB,EAAE;QACvD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;SAC9C;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,OAAO;YACP,eAAe,EAAE,cAAc;YAC/B,KAAK;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/services/api.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/services/api.ts
CHANGED
|
@@ -64,6 +64,31 @@ export async function sendMessage(
|
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
+
/**
|
|
68
|
+
* Get CLI system context for AI
|
|
69
|
+
*/
|
|
70
|
+
function getCLIContext(): string {
|
|
71
|
+
const cwd = process.cwd();
|
|
72
|
+
const platform = process.platform;
|
|
73
|
+
const username = config.get('username') || 'user';
|
|
74
|
+
|
|
75
|
+
return `You are NexusForge CLI, an AI-powered development assistant running in the user's terminal.
|
|
76
|
+
|
|
77
|
+
IMPORTANT CONTEXT:
|
|
78
|
+
- You are running in a CLI environment with FULL ACCESS to the user's filesystem
|
|
79
|
+
- Current working directory: ${cwd}
|
|
80
|
+
- Platform: ${platform}
|
|
81
|
+
- User: ${username}
|
|
82
|
+
|
|
83
|
+
CAPABILITIES:
|
|
84
|
+
- You CAN read files using the /read command
|
|
85
|
+
- You CAN execute shell commands - suggest commands in \`\`\`bash code blocks
|
|
86
|
+
- You CAN see and navigate the filesystem
|
|
87
|
+
- You have access to the user's actual codebase
|
|
88
|
+
|
|
89
|
+
When the user asks about files, directories, or their codebase, provide specific help based on their current directory. Suggest concrete commands they can run.`;
|
|
90
|
+
}
|
|
91
|
+
|
|
67
92
|
/**
|
|
68
93
|
* Stream a chat message response
|
|
69
94
|
*/
|
|
@@ -75,6 +100,7 @@ export async function* streamMessage(
|
|
|
75
100
|
): AsyncGenerator<string, void, unknown> {
|
|
76
101
|
const apiUrl = config.getApiUrl();
|
|
77
102
|
const token = config.getAccessToken();
|
|
103
|
+
const systemContext = getCLIContext();
|
|
78
104
|
|
|
79
105
|
const response = await fetch(`${apiUrl}/ai/chat/stream`, {
|
|
80
106
|
method: 'POST',
|
|
@@ -86,6 +112,7 @@ export async function* streamMessage(
|
|
|
86
112
|
message,
|
|
87
113
|
conversation_id: conversationId,
|
|
88
114
|
model,
|
|
115
|
+
system: systemContext,
|
|
89
116
|
}),
|
|
90
117
|
});
|
|
91
118
|
|