developer-ai 1.1.2 → 1.1.3
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/cli.js +7 -3
- package/dist/cli.js.map +1 -1
- package/dist/config/schema.d.ts +5 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +1 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/constants.d.ts +6 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +7 -1
- package/dist/constants.js.map +1 -1
- package/dist/core/agent.d.ts +16 -1
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +147 -9
- package/dist/core/agent.js.map +1 -1
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +17 -2
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/types.d.ts +3 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/providers/ollama.d.ts +7 -3
- package/dist/providers/ollama.d.ts.map +1 -1
- package/dist/providers/ollama.js +85 -3
- package/dist/providers/ollama.js.map +1 -1
- package/dist/providers/openai.d.ts +2 -2
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +1 -1
- package/dist/providers/openai.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -43,7 +43,7 @@ function createProvider() {
|
|
|
43
43
|
}
|
|
44
44
|
return new OpenAIProvider(apiKey, config.openai.model);
|
|
45
45
|
}
|
|
46
|
-
return new OllamaProvider(config.ollama.model, config.ollama.baseUrl);
|
|
46
|
+
return new OllamaProvider(config.ollama.model, config.ollama.baseUrl, config.ollama.numCtx);
|
|
47
47
|
}
|
|
48
48
|
async function createAgent(opts, confirmFn) {
|
|
49
49
|
const config = loadConfig();
|
|
@@ -116,7 +116,9 @@ async function runRepl(opts) {
|
|
|
116
116
|
const spinner = new ShimmerSpinner('Thinking');
|
|
117
117
|
try {
|
|
118
118
|
spinner.start();
|
|
119
|
-
const response = await agent.chat(input
|
|
119
|
+
const response = await agent.chat(input, {
|
|
120
|
+
onStreamStart: () => spinner.stop(true),
|
|
121
|
+
});
|
|
120
122
|
spinner.stop();
|
|
121
123
|
console.log('\n' + response + '\n');
|
|
122
124
|
}
|
|
@@ -146,7 +148,9 @@ async function runOneShot(instruction, opts) {
|
|
|
146
148
|
try {
|
|
147
149
|
const agent = await createAgent(opts, confirmFn);
|
|
148
150
|
spinner.start();
|
|
149
|
-
const response = await agent.chat(instruction
|
|
151
|
+
const response = await agent.chat(instruction, {
|
|
152
|
+
onStreamStart: () => spinner.stop(true),
|
|
153
|
+
});
|
|
150
154
|
spinner.stop();
|
|
151
155
|
console.log(response);
|
|
152
156
|
}
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,oBAAoB;AAEpB,SAAS,aAAa;IACpB,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,kCAAkC;IAClC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1D,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEnD,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/D,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEjD,qCAAqC;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IACrD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAE9E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc;IACrB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,yCAAyC,CAAC;gBAClD,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CACzC,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,oBAAoB;AAEpB,SAAS,aAAa;IACpB,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,kCAAkC;IAClC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1D,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEnD,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/D,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEjD,qCAAqC;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IACrD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAE9E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc;IACrB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,yCAAyC,CAAC;gBAClD,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CACzC,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC9F,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,IAAyE,EACzE,SAA4C;IAE5C,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAClC,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IACpC,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC;IAEvD,uBAAuB;IACvB,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;QACtB,QAAQ;QACR,YAAY;QACZ,UAAU;QACV,YAAY;QACZ,YAAY,EAAE,OAAO,CAAC,GAAG,EAAE;QAC3B,OAAO,EAAE,IAAI,CAAC,GAAG,IAAI,KAAK;QAC1B,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK;QAC5C,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,KAAK;QACxC,aAAa,EAAE,EAAE;QACjB,SAAS;KACV,CAAC,CAAC;IAEH,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;IACzB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,iBAAiB;AAEjB,KAAK,UAAU,OAAO,CAAC,IAItB;IACC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;KAC9B,CAAC,CAAC;IAEH,+CAA+C;IAC/C,MAAM,SAAS,GAAG,CAAC,OAAe,EAAoB,EAAE,CACtD,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACtB,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,OAAO,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;YAC1D,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC;QACpC,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC;QACzB,KAAK,CAAC,GAAG,CAAC,kBAAkB,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,CACvD,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,uDAAuD,CAAC,CACnE,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAEjD,EAAE,CAAC,MAAM,EAAE,CAAC;IAEZ,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,EAAE,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;YACtC,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YACtB,KAAK,CAAC,YAAY,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC;YAChD,EAAE,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,4CAA4C;QAC5C,EAAE,CAAC,KAAK,EAAE,CAAC;QAEX,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC;YACH,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE;gBACvC,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;aACxC,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAe,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;QACrE,CAAC;QAED,EAAE,CAAC,MAAM,EAAE,CAAC;QACZ,EAAE,CAAC,MAAM,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,0BAA0B;AAE1B,KAAK,UAAU,UAAU,CACvB,WAAmB,EACnB,IAAyE;IAEzE,4DAA4D;IAC5D,MAAM,SAAS,GAAG,CAAC,OAAe,EAAoB,EAAE,CACtD,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACtB,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC;YACrC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QACH,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;YAC3D,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,YAAY,CAAC,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACjD,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE;YAC7C,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;SACxC,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,YAAa,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,4BAA4B;AAE5B,KAAK,UAAU,UAAU;IACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAE7D,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,CAAC,CAAS,EAAmB,EAAE,CACzC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,WAAW;IACX,MAAM,cAAc,GAAG,MAAM,GAAG,CAC9B,KAAK,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAChE,CAAC;IAEF,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;QAClC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,IAAI,EAAE;YAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,MAAM,GAAG,CACrB,KAAK,CAAC,KAAK,CAAC,YAAY,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,CAClD,CAAC;QACF,IAAI,KAAK,CAAC,IAAI,EAAE;YAAE,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,GAAG,CACrB,KAAK,CAAC,KAAK,CAAC,mBAAmB,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,CACzD,CAAC;QACF,IAAI,KAAK,CAAC,IAAI,EAAE;YAAE,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,MAAM,GAAG,CACvB,KAAK,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,MAAM,CAAC,OAAO,KAAK,CAAC,CACzD,CAAC;QACF,IAAI,OAAO,CAAC,IAAI,EAAE;YAAE,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC7D,CAAC;IAED,aAAa;IACb,MAAM,YAAY,GAAG,MAAM,GAAG,CAC5B,KAAK,CAAC,KAAK,CAAC,sDAAsD,CAAC,CACpE,CAAC;IACF,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;QAChC,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC;QACpC,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAC/D,IAAI,GAAG,CAAC,IAAI,EAAE;YAAE,MAAM,CAAC,SAAS,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC5D,CAAC;SAAM,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;QACvC,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACrC,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACzD,IAAI,GAAG,CAAC,IAAI,EAAE;YAAE,MAAM,CAAC,SAAS,CAAC,YAAY,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC7D,CAAC;IAED,UAAU,CAAC,MAAM,CAAC,CAAC;IAEnB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,0DAA0D,CAAC,CACxE,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAC;IAE5E,EAAE,CAAC,KAAK,EAAE,CAAC;AACb,CAAC;AAED,+BAA+B;AAE/B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,cAAc,CAAC;KACpB,WAAW,CACV,0FAA0F,CAC3F;KACA,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,OAAO,EAAE,4CAA4C,EAAE,KAAK,CAAC;KACpE,MAAM,CACL,mBAAmB,EACnB,+CAA+C,EAC/C,KAAK,CACN;KACA,MAAM,CACL,iBAAiB,EACjB,iDAAiD,EACjD,KAAK,CACN;KACA,QAAQ,CAAC,kBAAkB,EAAE,wCAAwC,CAAC;KACtE,MAAM,CAAC,KAAK,EAAE,gBAA0B,EAAE,OAAO,EAAE,EAAE;IACpD,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACtD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,8CAA8C,CAAC;KAC3D,MAAM,CAAC,UAAU,CAAC,CAAC;AAEtB,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -14,12 +14,15 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
14
14
|
ollama: z.ZodDefault<z.ZodObject<{
|
|
15
15
|
model: z.ZodDefault<z.ZodString>;
|
|
16
16
|
baseUrl: z.ZodDefault<z.ZodString>;
|
|
17
|
+
numCtx: z.ZodDefault<z.ZodNumber>;
|
|
17
18
|
}, "strip", z.ZodTypeAny, {
|
|
18
19
|
model: string;
|
|
19
20
|
baseUrl: string;
|
|
21
|
+
numCtx: number;
|
|
20
22
|
}, {
|
|
21
23
|
model?: string | undefined;
|
|
22
24
|
baseUrl?: string | undefined;
|
|
25
|
+
numCtx?: number | undefined;
|
|
23
26
|
}>>;
|
|
24
27
|
safety: z.ZodDefault<z.ZodObject<{
|
|
25
28
|
confirmOverwrite: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -52,6 +55,7 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
52
55
|
ollama: {
|
|
53
56
|
model: string;
|
|
54
57
|
baseUrl: string;
|
|
58
|
+
numCtx: number;
|
|
55
59
|
};
|
|
56
60
|
provider: "openai" | "ollama";
|
|
57
61
|
safety: {
|
|
@@ -71,6 +75,7 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
71
75
|
ollama?: {
|
|
72
76
|
model?: string | undefined;
|
|
73
77
|
baseUrl?: string | undefined;
|
|
78
|
+
numCtx?: number | undefined;
|
|
74
79
|
} | undefined;
|
|
75
80
|
provider?: "openai" | "ollama" | undefined;
|
|
76
81
|
safety?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBvB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;EAM1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
package/dist/config/schema.js
CHANGED
|
@@ -8,6 +8,7 @@ export const ConfigSchema = z.object({
|
|
|
8
8
|
ollama: z.object({
|
|
9
9
|
model: z.string().default('llama3.1'),
|
|
10
10
|
baseUrl: z.string().default('http://localhost:11434'),
|
|
11
|
+
numCtx: z.number().default(32_768),
|
|
11
12
|
}).default({}),
|
|
12
13
|
safety: z.object({
|
|
13
14
|
confirmOverwrite: z.boolean().default(true),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACxD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;KACpC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACd,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;QACrC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACxD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;KACpC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACd,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;QACrC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC;QACrD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;KACnC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACd,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAC3C,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;KAC3C,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACd,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAClB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAC7D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAClC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACpC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACf,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACzB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;KACtC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAChB,CAAC,CAAC"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -4,5 +4,10 @@ export declare const MAX_FILE_SIZE: number;
|
|
|
4
4
|
export declare const MAX_OUTPUT_LENGTH = 10000;
|
|
5
5
|
export declare const MAX_AGENT_ITERATIONS = 30;
|
|
6
6
|
export declare const COMMAND_TIMEOUT_MS = 30000;
|
|
7
|
-
export declare const VERSION = "1.1.
|
|
7
|
+
export declare const VERSION = "1.1.2";
|
|
8
|
+
export declare const MAX_TOOL_RESULT_CHARS = 8000;
|
|
9
|
+
export declare const MAX_CONTEXT_CHARS = 100000;
|
|
10
|
+
export declare const CONTEXT_KEEP_RECENT = 10;
|
|
11
|
+
export declare const DEFAULT_NUM_CTX = 32768;
|
|
12
|
+
export declare const EMPTY_RESPONSE_RETRIES = 2;
|
|
8
13
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,iBAAiB,CAAC;AACvC,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAC/C,eAAO,MAAM,aAAa,QAAc,CAAC;AACzC,eAAO,MAAM,iBAAiB,QAAS,CAAC;AACxC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,kBAAkB,QAAS,CAAC;AACzC,eAAO,MAAM,OAAO,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,iBAAiB,CAAC;AACvC,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAC/C,eAAO,MAAM,aAAa,QAAc,CAAC;AACzC,eAAO,MAAM,iBAAiB,QAAS,CAAC;AACxC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,kBAAkB,QAAS,CAAC;AACzC,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,eAAO,MAAM,qBAAqB,OAAQ,CAAC;AAC3C,eAAO,MAAM,iBAAiB,SAAU,CAAC;AACzC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,eAAe,QAAS,CAAC;AACtC,eAAO,MAAM,sBAAsB,IAAI,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -4,5 +4,11 @@ export const MAX_FILE_SIZE = 1024 * 1024; // 1 MB
|
|
|
4
4
|
export const MAX_OUTPUT_LENGTH = 10_000;
|
|
5
5
|
export const MAX_AGENT_ITERATIONS = 30;
|
|
6
6
|
export const COMMAND_TIMEOUT_MS = 30_000;
|
|
7
|
-
export const VERSION = '1.1.
|
|
7
|
+
export const VERSION = '1.1.2';
|
|
8
|
+
// ---- Context management ----
|
|
9
|
+
export const MAX_TOOL_RESULT_CHARS = 8_000; // Max chars per tool result in history
|
|
10
|
+
export const MAX_CONTEXT_CHARS = 100_000; // ~25K tokens — approximate limit
|
|
11
|
+
export const CONTEXT_KEEP_RECENT = 10; // Recent messages kept intact
|
|
12
|
+
export const DEFAULT_NUM_CTX = 32_768; // Default Ollama context window
|
|
13
|
+
export const EMPTY_RESPONSE_RETRIES = 2; // Retries on empty model output
|
|
8
14
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,cAAc,CAAC;AACvC,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;AAC/C,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO;AACjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AACvC,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AACzC,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,cAAc,CAAC;AACvC,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;AAC/C,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO;AACjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AACvC,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AACzC,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,+BAA+B;AAC/B,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC,CAAI,uCAAuC;AACtF,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC,CAAO,kCAAkC;AAClF,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC,CAAU,8BAA8B;AAC9E,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,CAAW,gCAAgC;AACjF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,CAAS,gCAAgC"}
|
package/dist/core/agent.d.ts
CHANGED
|
@@ -26,14 +26,29 @@ export declare class Agent {
|
|
|
26
26
|
private maxIterations;
|
|
27
27
|
private showThinking;
|
|
28
28
|
private confirmFn;
|
|
29
|
+
private thinkingStream;
|
|
29
30
|
constructor(opts: AgentOptions);
|
|
30
31
|
initialize(): Promise<void>;
|
|
31
32
|
/**
|
|
32
33
|
* Send a user message, run the agent loop (tool calls → responses),
|
|
33
34
|
* and return the final assistant text.
|
|
34
35
|
*/
|
|
35
|
-
chat(userMessage: string
|
|
36
|
+
chat(userMessage: string, opts?: {
|
|
37
|
+
onStreamStart?: () => void;
|
|
38
|
+
}): Promise<string>;
|
|
36
39
|
resetHistory(): void;
|
|
40
|
+
/**
|
|
41
|
+
* Compact message history to stay within context limits.
|
|
42
|
+
* Phase 1: Truncate old tool results beyond the recent window.
|
|
43
|
+
* Phase 2: Remove oldest conversation turns if still too large.
|
|
44
|
+
*/
|
|
45
|
+
private compactMessages;
|
|
46
|
+
/**
|
|
47
|
+
* Cap a tool result's output to prevent individual results from bloating context.
|
|
48
|
+
*/
|
|
49
|
+
private capToolResult;
|
|
50
|
+
private handleStreamToken;
|
|
51
|
+
private endThinkingStream;
|
|
37
52
|
private executeTool;
|
|
38
53
|
private logToolExecution;
|
|
39
54
|
/**
|
package/dist/core/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAIV,WAAW,
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAIV,WAAW,EAGZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AASnD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAClD;AAED,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,SAAS,CAAwC;IAGzD,OAAO,CAAC,cAAc,CAAwC;gBAElD,IAAI,EAAE,YAAY;IAaxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC;;;OAGG;IACG,IAAI,CACR,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,GACpC,OAAO,CAAC,MAAM,CAAC;IAkJlB,YAAY,IAAI,IAAI;IAMpB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IA2CvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,iBAAiB;IAgCzB,OAAO,CAAC,iBAAiB;YAeX,WAAW;IA8BzB,OAAO,CAAC,gBAAgB;IAuDxB;;OAEG;IACH,OAAO,CAAC,aAAa;IAkBrB;;OAEG;IACH,OAAO,CAAC,YAAY;CAerB"}
|
package/dist/core/agent.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { buildSystemPrompt } from './system-prompt.js';
|
|
3
|
+
import { MAX_TOOL_RESULT_CHARS, MAX_CONTEXT_CHARS, CONTEXT_KEEP_RECENT, EMPTY_RESPONSE_RETRIES, } from '../constants.js';
|
|
3
4
|
export class Agent {
|
|
4
5
|
messages = [];
|
|
5
6
|
provider;
|
|
@@ -12,6 +13,8 @@ export class Agent {
|
|
|
12
13
|
maxIterations;
|
|
13
14
|
showThinking;
|
|
14
15
|
confirmFn;
|
|
16
|
+
// Streaming thinking state
|
|
17
|
+
thinkingStream = { active: false, atLineStart: true };
|
|
15
18
|
constructor(opts) {
|
|
16
19
|
this.provider = opts.provider;
|
|
17
20
|
this.toolRegistry = opts.toolRegistry;
|
|
@@ -31,7 +34,7 @@ export class Agent {
|
|
|
31
34
|
* Send a user message, run the agent loop (tool calls → responses),
|
|
32
35
|
* and return the final assistant text.
|
|
33
36
|
*/
|
|
34
|
-
async chat(userMessage) {
|
|
37
|
+
async chat(userMessage, opts) {
|
|
35
38
|
// Skill retrieval
|
|
36
39
|
const skills = this.skillsLoader.findRelevant(userMessage);
|
|
37
40
|
const skillSnippets = skills.map((s) => `### Skill: ${s.name}\n${s.content.slice(0, 2000)}`);
|
|
@@ -53,22 +56,40 @@ export class Agent {
|
|
|
53
56
|
...this.toolRegistry.getDefinitions(),
|
|
54
57
|
...this.mcpManager.getToolDefinitions(),
|
|
55
58
|
];
|
|
59
|
+
// ---- Streaming setup ----
|
|
60
|
+
let streamStartEmitted = false;
|
|
61
|
+
const onStream = this.showThinking
|
|
62
|
+
? (token, type) => {
|
|
63
|
+
if (!streamStartEmitted) {
|
|
64
|
+
streamStartEmitted = true;
|
|
65
|
+
opts?.onStreamStart?.();
|
|
66
|
+
}
|
|
67
|
+
this.handleStreamToken(token, type);
|
|
68
|
+
}
|
|
69
|
+
: undefined;
|
|
56
70
|
// ---- Agent loop ----
|
|
57
71
|
let iterations = 0;
|
|
72
|
+
let emptyRetries = 0;
|
|
58
73
|
while (iterations < this.maxIterations) {
|
|
59
74
|
iterations++;
|
|
75
|
+
// Compact context before each LLM call
|
|
76
|
+
this.compactMessages();
|
|
60
77
|
let response;
|
|
61
78
|
try {
|
|
62
|
-
response = await this.provider.generate(this.messages, tools);
|
|
79
|
+
response = await this.provider.generate(this.messages, tools, onStream);
|
|
63
80
|
}
|
|
64
81
|
catch (err) {
|
|
65
82
|
const msg = err instanceof Error ? err.message : String(err);
|
|
83
|
+
this.endThinkingStream();
|
|
66
84
|
return `❌ Provider error: ${msg}`;
|
|
67
85
|
}
|
|
86
|
+
// End any active thinking stream after generation completes
|
|
87
|
+
this.endThinkingStream();
|
|
88
|
+
streamStartEmitted = false;
|
|
68
89
|
// Tool calls → execute, feed results back, continue
|
|
69
90
|
if (response.toolCalls.length > 0) {
|
|
70
|
-
//
|
|
71
|
-
if (this.showThinking && response.content) {
|
|
91
|
+
// Show thinking only if NOT already streamed
|
|
92
|
+
if (this.showThinking && response.content && !onStream) {
|
|
72
93
|
this.emitThinking(response.content);
|
|
73
94
|
}
|
|
74
95
|
this.messages.push({
|
|
@@ -79,28 +100,56 @@ export class Agent {
|
|
|
79
100
|
for (const tc of response.toolCalls) {
|
|
80
101
|
const result = await this.executeTool(tc);
|
|
81
102
|
this.logToolExecution(tc, result);
|
|
103
|
+
// Truncate large tool outputs to prevent context overflow
|
|
104
|
+
const cappedResult = this.capToolResult(result);
|
|
82
105
|
this.messages.push({
|
|
83
106
|
role: 'tool',
|
|
84
|
-
content: JSON.stringify(
|
|
107
|
+
content: JSON.stringify(cappedResult),
|
|
85
108
|
tool_call_id: tc.id,
|
|
86
109
|
name: tc.function.name,
|
|
87
110
|
});
|
|
88
111
|
}
|
|
112
|
+
emptyRetries = 0;
|
|
89
113
|
continue;
|
|
90
114
|
}
|
|
91
115
|
// Final text response
|
|
92
116
|
if (response.content) {
|
|
93
|
-
// Show any final thinking if enabled
|
|
94
117
|
const { thinking, visible } = this.splitThinking(response.content);
|
|
95
|
-
|
|
118
|
+
// If the model produced ONLY thinking and no visible content,
|
|
119
|
+
// nudge it to take action instead of infinite thinking loops
|
|
120
|
+
if (thinking && !visible?.trim()) {
|
|
121
|
+
emptyRetries++;
|
|
122
|
+
if (emptyRetries < EMPTY_RESPONSE_RETRIES) {
|
|
123
|
+
// Show the thinking then nudge the model
|
|
124
|
+
if (this.showThinking && !onStream) {
|
|
125
|
+
this.emitThinking(thinking);
|
|
126
|
+
}
|
|
127
|
+
this.messages.push({ role: 'assistant', content: response.content });
|
|
128
|
+
this.messages.push({
|
|
129
|
+
role: 'user',
|
|
130
|
+
content: 'Please proceed with the actual tool calls to accomplish the task. ' +
|
|
131
|
+
'Do not just think — take action now using the available tools.',
|
|
132
|
+
});
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
if (this.showThinking && thinking && !onStream) {
|
|
96
137
|
this.emitThinking(thinking);
|
|
97
138
|
}
|
|
98
139
|
const finalContent = visible || response.content;
|
|
99
140
|
this.messages.push({ role: 'assistant', content: finalContent });
|
|
100
141
|
return finalContent;
|
|
101
142
|
}
|
|
102
|
-
// Neither content nor tool calls —
|
|
103
|
-
|
|
143
|
+
// Neither content nor tool calls — retry with a nudge
|
|
144
|
+
emptyRetries++;
|
|
145
|
+
if (emptyRetries >= EMPTY_RESPONSE_RETRIES) {
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
148
|
+
// Nudge the model to respond
|
|
149
|
+
this.messages.push({
|
|
150
|
+
role: 'user',
|
|
151
|
+
content: 'Please respond or use the available tools to complete the task.',
|
|
152
|
+
});
|
|
104
153
|
}
|
|
105
154
|
if (iterations >= this.maxIterations) {
|
|
106
155
|
return '⚠️ Reached maximum iterations. The task may be incomplete — please continue with follow-up instructions.';
|
|
@@ -110,6 +159,95 @@ export class Agent {
|
|
|
110
159
|
resetHistory() {
|
|
111
160
|
this.messages = [];
|
|
112
161
|
}
|
|
162
|
+
// ---- Context management ----
|
|
163
|
+
/**
|
|
164
|
+
* Compact message history to stay within context limits.
|
|
165
|
+
* Phase 1: Truncate old tool results beyond the recent window.
|
|
166
|
+
* Phase 2: Remove oldest conversation turns if still too large.
|
|
167
|
+
*/
|
|
168
|
+
compactMessages() {
|
|
169
|
+
const estimateChars = () => this.messages.reduce((sum, m) => sum + (m.content?.length ?? 0), 0);
|
|
170
|
+
let totalChars = estimateChars();
|
|
171
|
+
if (totalChars <= MAX_CONTEXT_CHARS)
|
|
172
|
+
return;
|
|
173
|
+
// Phase 1: Truncate old tool results (keep recent messages intact)
|
|
174
|
+
const recentBoundary = Math.max(1, this.messages.length - CONTEXT_KEEP_RECENT);
|
|
175
|
+
for (let i = 1; i < recentBoundary; i++) {
|
|
176
|
+
const msg = this.messages[i];
|
|
177
|
+
if (msg?.role === 'tool' && msg.content && msg.content.length > MAX_TOOL_RESULT_CHARS) {
|
|
178
|
+
const originalLen = msg.content.length;
|
|
179
|
+
msg.content =
|
|
180
|
+
msg.content.slice(0, MAX_TOOL_RESULT_CHARS) +
|
|
181
|
+
`\n...[truncated from ${originalLen} chars to save context]`;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
totalChars = estimateChars();
|
|
185
|
+
if (totalChars <= MAX_CONTEXT_CHARS)
|
|
186
|
+
return;
|
|
187
|
+
// Phase 2: Remove oldest non-system messages in blocks
|
|
188
|
+
while (totalChars > MAX_CONTEXT_CHARS && this.messages.length > CONTEXT_KEEP_RECENT + 1) {
|
|
189
|
+
// Find how many messages to remove (assistant + tool block)
|
|
190
|
+
let removeEnd = 2; // Remove at least one message after system
|
|
191
|
+
const msg = this.messages[1];
|
|
192
|
+
if (msg?.role === 'assistant' && msg.tool_calls?.length) {
|
|
193
|
+
// Also remove following tool result messages
|
|
194
|
+
removeEnd = 2;
|
|
195
|
+
while (removeEnd < this.messages.length &&
|
|
196
|
+
this.messages[removeEnd]?.role === 'tool') {
|
|
197
|
+
removeEnd++;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
this.messages.splice(1, Math.min(removeEnd, this.messages.length - CONTEXT_KEEP_RECENT));
|
|
201
|
+
totalChars = estimateChars();
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Cap a tool result's output to prevent individual results from bloating context.
|
|
206
|
+
*/
|
|
207
|
+
capToolResult(result) {
|
|
208
|
+
if (result.output.length <= MAX_TOOL_RESULT_CHARS)
|
|
209
|
+
return result;
|
|
210
|
+
return {
|
|
211
|
+
...result,
|
|
212
|
+
output: result.output.slice(0, MAX_TOOL_RESULT_CHARS) +
|
|
213
|
+
`\n...[output truncated from ${result.output.length} chars]`,
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
// ---- Streaming thinking display ----
|
|
217
|
+
handleStreamToken(token, _type) {
|
|
218
|
+
if (!this.thinkingStream.active) {
|
|
219
|
+
process.stderr.write(`\n${chalk.dim.magenta('┌─ 💭 Reasoning ─────────────────')}\n`);
|
|
220
|
+
this.thinkingStream.active = true;
|
|
221
|
+
this.thinkingStream.atLineStart = true;
|
|
222
|
+
}
|
|
223
|
+
const border = chalk.dim.magenta('│');
|
|
224
|
+
// Process token, handling newlines for proper border formatting
|
|
225
|
+
const parts = token.split('\n');
|
|
226
|
+
for (let i = 0; i < parts.length; i++) {
|
|
227
|
+
const part = parts[i];
|
|
228
|
+
if (this.thinkingStream.atLineStart && (part.length > 0 || i < parts.length - 1)) {
|
|
229
|
+
process.stderr.write(`${border} `);
|
|
230
|
+
this.thinkingStream.atLineStart = false;
|
|
231
|
+
}
|
|
232
|
+
if (part.length > 0) {
|
|
233
|
+
process.stderr.write(chalk.dim(part));
|
|
234
|
+
}
|
|
235
|
+
if (i < parts.length - 1) {
|
|
236
|
+
process.stderr.write('\n');
|
|
237
|
+
this.thinkingStream.atLineStart = true;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
endThinkingStream() {
|
|
242
|
+
if (this.thinkingStream.active) {
|
|
243
|
+
if (!this.thinkingStream.atLineStart) {
|
|
244
|
+
process.stderr.write('\n');
|
|
245
|
+
}
|
|
246
|
+
process.stderr.write(`${chalk.dim.magenta('└────────────────────────────────')}\n\n`);
|
|
247
|
+
this.thinkingStream.active = false;
|
|
248
|
+
this.thinkingStream.atLineStart = true;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
113
251
|
// ---- Private helpers ----
|
|
114
252
|
async executeTool(toolCall) {
|
|
115
253
|
const { name, arguments: argsStr } = toolCall.function;
|
package/dist/core/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/core/system-prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EAAE,GACtB,MAAM,
|
|
1
|
+
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/core/system-prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EAAE,GACtB,MAAM,CAiGR"}
|
|
@@ -9,7 +9,8 @@ Workspace root: ${workspaceDir}
|
|
|
9
9
|
You must accomplish tasks by calling the provided tools. Never claim you changed a file unless you used write_file or patch_file.
|
|
10
10
|
|
|
11
11
|
## Operating Rules
|
|
12
|
-
- Think step-by-step. Explain your plan briefly (1–4 bullets), then execute with tool calls.
|
|
12
|
+
- Think step-by-step. Explain your plan briefly (1–4 bullets), then IMMEDIATELY execute with tool calls.
|
|
13
|
+
- DO NOT spend multiple turns only thinking. After brief planning, take action on the very next turn.
|
|
13
14
|
- Prefer minimal, correct changes. Avoid rewriting entire files when only a few lines need to change.
|
|
14
15
|
- When creating websites or apps:
|
|
15
16
|
• Produce self-contained files (inline SVGs, inline data).
|
|
@@ -20,6 +21,14 @@ You must accomplish tasks by calling the provided tools. Never claim you changed
|
|
|
20
21
|
- If a tool fails, explain briefly and try an alternative approach.
|
|
21
22
|
- After completing edits, summarise what changed and how to run/test.
|
|
22
23
|
|
|
24
|
+
## Greenfield / Empty Workspace
|
|
25
|
+
When the workspace is empty or you need to create a project from scratch:
|
|
26
|
+
1. Start by detecting what's needed (project_detect or list_files).
|
|
27
|
+
2. Create the project structure file-by-file using write_file — start with config files (package.json, etc.), then main files.
|
|
28
|
+
3. Create ONE file at a time per tool call. Do not try to plan everything first — create files incrementally.
|
|
29
|
+
4. After creating files, run any necessary setup commands (npm install, etc.).
|
|
30
|
+
5. IMPORTANT: Do not get stuck planning. Create the first file immediately after understanding the request.
|
|
31
|
+
|
|
23
32
|
## Token-Efficient Editing Strategy
|
|
24
33
|
You have TWO file-editing tools. Choose wisely to minimise token usage:
|
|
25
34
|
|
|
@@ -35,6 +44,11 @@ You have TWO file-editing tools. Choose wisely to minimise token usage:
|
|
|
35
44
|
⚠️ CRITICAL: For small changes (a line, a paragraph, a CSS rule), ALWAYS use patch_file.
|
|
36
45
|
Never rewrite an entire file just to change a few lines — this wastes tokens and risks data loss.
|
|
37
46
|
|
|
47
|
+
## Context Efficiency
|
|
48
|
+
- After reading a file, you have its content. Do NOT read it again in the same conversation unless it was modified.
|
|
49
|
+
- Use read_file with start_line/end_line ranges for large files — only read the sections you need.
|
|
50
|
+
- When you've gathered enough information, ACT immediately. Do not over-plan.
|
|
51
|
+
|
|
38
52
|
## Tool Usage
|
|
39
53
|
|
|
40
54
|
### File operations
|
|
@@ -74,7 +88,8 @@ Never rewrite an entire file just to change a few lines — this wastes tokens a
|
|
|
74
88
|
- Run destructive commands (rm -rf, etc.) without explicit user approval.
|
|
75
89
|
- Reference external assets/files that haven't been created.
|
|
76
90
|
- Rewrite an entire file when patch_file can accomplish the edit.
|
|
77
|
-
- Read entire large files when you only need a few lines — use start_line/end_line
|
|
91
|
+
- Read entire large files when you only need a few lines — use start_line/end_line.
|
|
92
|
+
- Spend multiple consecutive turns only thinking without calling any tools.`;
|
|
78
93
|
if (skillSnippets.length > 0) {
|
|
79
94
|
prompt += '\n\n## Relevant Skills\n';
|
|
80
95
|
for (const snippet of skillSnippets) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/core/system-prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAAoB,EACpB,aAAuB;IAEvB,IAAI,MAAM,GAAG;kBACG,YAAY
|
|
1
|
+
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/core/system-prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAAoB,EACpB,aAAuB;IAEvB,IAAI,MAAM,GAAG;kBACG,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EAqF8C,CAAC;IAE3E,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,0BAA0B,CAAC;QACrC,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,OAAO,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -35,8 +35,10 @@ export interface ProviderResponse {
|
|
|
35
35
|
toolCalls: ToolCall[];
|
|
36
36
|
finishReason: string;
|
|
37
37
|
}
|
|
38
|
+
/** Callback invoked for each streamed token. */
|
|
39
|
+
export type StreamCallback = (token: string, type: 'content' | 'thinking') => void;
|
|
38
40
|
export interface LLMProvider {
|
|
39
41
|
name: string;
|
|
40
|
-
generate(messages: Message[], tools: ToolDefinition[]): Promise<ProviderResponse>;
|
|
42
|
+
generate(messages: Message[], tools: ToolDefinition[], onStream?: StreamCallback): Promise<ProviderResponse>;
|
|
41
43
|
}
|
|
42
44
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACrC,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CACN,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACrC,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,gDAAgD;AAChD,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,UAAU,KAAK,IAAI,CAAC;AAEnF,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CACN,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,cAAc,EAAE,EACvB,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC9B"}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
import type { LLMProvider, Message, ToolDefinition, ProviderResponse } from '../core/types.js';
|
|
1
|
+
import type { LLMProvider, Message, ToolDefinition, ProviderResponse, StreamCallback } from '../core/types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Ollama provider — communicates with a local Ollama instance via HTTP.
|
|
4
4
|
* Supports tool calling for models that implement it (llama3.1+, qwen2.5+, etc).
|
|
5
|
+
* Supports streaming for real-time thinking output.
|
|
5
6
|
*/
|
|
6
7
|
export declare class OllamaProvider implements LLMProvider {
|
|
7
8
|
readonly name = "ollama";
|
|
8
9
|
private baseUrl;
|
|
9
10
|
private model;
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
private numCtx;
|
|
12
|
+
constructor(model?: string, baseUrl?: string, numCtx?: number);
|
|
13
|
+
generate(messages: Message[], tools: ToolDefinition[], onStream?: StreamCallback): Promise<ProviderResponse>;
|
|
14
|
+
private handleStream;
|
|
15
|
+
private parseResponse;
|
|
12
16
|
}
|
|
13
17
|
//# sourceMappingURL=ollama.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../src/providers/ollama.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,OAAO,EACP,cAAc,EACd,gBAAgB,
|
|
1
|
+
{"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../src/providers/ollama.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,OAAO,EACP,cAAc,EACd,gBAAgB,EAEhB,cAAc,EACf,MAAM,kBAAkB,CAAC;AAG1B;;;;GAIG;AACH,qBAAa,cAAe,YAAW,WAAW;IAChD,QAAQ,CAAC,IAAI,YAAY;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAS;gBAEX,KAAK,SAAa,EAAE,OAAO,SAA2B,EAAE,MAAM,SAAkB;IAMtF,QAAQ,CACZ,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,cAAc,EAAE,EACvB,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,gBAAgB,CAAC;YAwDd,YAAY;IAiF1B,OAAO,CAAC,aAAa;CAwBtB"}
|
package/dist/providers/ollama.js
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
1
|
+
import { DEFAULT_NUM_CTX } from '../constants.js';
|
|
1
2
|
/**
|
|
2
3
|
* Ollama provider — communicates with a local Ollama instance via HTTP.
|
|
3
4
|
* Supports tool calling for models that implement it (llama3.1+, qwen2.5+, etc).
|
|
5
|
+
* Supports streaming for real-time thinking output.
|
|
4
6
|
*/
|
|
5
7
|
export class OllamaProvider {
|
|
6
8
|
name = 'ollama';
|
|
7
9
|
baseUrl;
|
|
8
10
|
model;
|
|
9
|
-
|
|
11
|
+
numCtx;
|
|
12
|
+
constructor(model = 'llama3.1', baseUrl = 'http://localhost:11434', numCtx = DEFAULT_NUM_CTX) {
|
|
10
13
|
this.baseUrl = baseUrl.replace(/\/+$/, '');
|
|
11
14
|
this.model = model;
|
|
15
|
+
this.numCtx = numCtx;
|
|
12
16
|
}
|
|
13
|
-
async generate(messages, tools) {
|
|
17
|
+
async generate(messages, tools, onStream) {
|
|
18
|
+
const useStreaming = !!onStream;
|
|
14
19
|
const body = {
|
|
15
20
|
model: this.model,
|
|
16
21
|
messages: messages.map((m) => {
|
|
@@ -33,7 +38,8 @@ export class OllamaProvider {
|
|
|
33
38
|
msg['tool_call_id'] = m.tool_call_id;
|
|
34
39
|
return msg;
|
|
35
40
|
}),
|
|
36
|
-
stream:
|
|
41
|
+
stream: useStreaming,
|
|
42
|
+
options: { num_ctx: this.numCtx },
|
|
37
43
|
};
|
|
38
44
|
if (tools.length > 0) {
|
|
39
45
|
body['tools'] = tools;
|
|
@@ -47,7 +53,83 @@ export class OllamaProvider {
|
|
|
47
53
|
const text = await response.text();
|
|
48
54
|
throw new Error(`Ollama API error (${response.status}): ${text}`);
|
|
49
55
|
}
|
|
56
|
+
// ---- Streaming mode ----
|
|
57
|
+
if (useStreaming) {
|
|
58
|
+
return this.handleStream(response, onStream);
|
|
59
|
+
}
|
|
60
|
+
// ---- Non-streaming mode ----
|
|
50
61
|
const data = (await response.json());
|
|
62
|
+
return this.parseResponse(data);
|
|
63
|
+
}
|
|
64
|
+
// ---- Streaming ----
|
|
65
|
+
async handleStream(response, onStream) {
|
|
66
|
+
const body = response.body;
|
|
67
|
+
if (!body)
|
|
68
|
+
throw new Error('No response body for streaming');
|
|
69
|
+
const reader = body.getReader();
|
|
70
|
+
const decoder = new TextDecoder();
|
|
71
|
+
let buffer = '';
|
|
72
|
+
let content = '';
|
|
73
|
+
const toolCalls = [];
|
|
74
|
+
let doneReason = 'stop';
|
|
75
|
+
try {
|
|
76
|
+
while (true) {
|
|
77
|
+
const { done, value } = await reader.read();
|
|
78
|
+
if (done)
|
|
79
|
+
break;
|
|
80
|
+
buffer += decoder.decode(value, { stream: true });
|
|
81
|
+
const lines = buffer.split('\n');
|
|
82
|
+
buffer = lines.pop() ?? ''; // Keep incomplete line in buffer
|
|
83
|
+
for (const line of lines) {
|
|
84
|
+
const trimmed = line.trim();
|
|
85
|
+
if (!trimmed)
|
|
86
|
+
continue;
|
|
87
|
+
try {
|
|
88
|
+
const chunk = JSON.parse(trimmed);
|
|
89
|
+
// Stream thinking content (for thinking models like DeepSeek R1)
|
|
90
|
+
if (chunk.message?.thinking) {
|
|
91
|
+
onStream(chunk.message.thinking, 'thinking');
|
|
92
|
+
}
|
|
93
|
+
// Stream regular content (may contain <think> tags for some models)
|
|
94
|
+
if (chunk.message?.content) {
|
|
95
|
+
content += chunk.message.content;
|
|
96
|
+
onStream(chunk.message.content, 'content');
|
|
97
|
+
}
|
|
98
|
+
// Collect tool calls
|
|
99
|
+
if (chunk.message?.tool_calls) {
|
|
100
|
+
toolCalls.push(...chunk.message.tool_calls);
|
|
101
|
+
}
|
|
102
|
+
if (chunk.done) {
|
|
103
|
+
doneReason = chunk.done_reason ?? (toolCalls.length > 0 ? 'tool_calls' : 'stop');
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
// Skip malformed JSON lines
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
finally {
|
|
113
|
+
reader.releaseLock();
|
|
114
|
+
}
|
|
115
|
+
const parsedToolCalls = toolCalls.map((tc, idx) => ({
|
|
116
|
+
id: `ollama_${Date.now()}_${idx}`,
|
|
117
|
+
type: 'function',
|
|
118
|
+
function: {
|
|
119
|
+
name: tc.function.name,
|
|
120
|
+
arguments: typeof tc.function.arguments === 'string'
|
|
121
|
+
? tc.function.arguments
|
|
122
|
+
: JSON.stringify(tc.function.arguments),
|
|
123
|
+
},
|
|
124
|
+
}));
|
|
125
|
+
return {
|
|
126
|
+
content: content || null,
|
|
127
|
+
toolCalls: parsedToolCalls,
|
|
128
|
+
finishReason: doneReason,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
// ---- Response parsing ----
|
|
132
|
+
parseResponse(data) {
|
|
51
133
|
const msg = data.message;
|
|
52
134
|
const toolCalls = (msg.tool_calls ?? []).map((tc, idx) => ({
|
|
53
135
|
id: `ollama_${Date.now()}_${idx}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.js","sourceRoot":"","sources":["../../src/providers/ollama.ts"],"names":[],"mappings":"AAQA
|
|
1
|
+
{"version":3,"file":"ollama.js","sourceRoot":"","sources":["../../src/providers/ollama.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { LLMProvider, Message, ToolDefinition, ProviderResponse } from '../core/types.js';
|
|
1
|
+
import type { LLMProvider, Message, ToolDefinition, ProviderResponse, StreamCallback } from '../core/types.js';
|
|
2
2
|
export declare class OpenAIProvider implements LLMProvider {
|
|
3
3
|
readonly name = "openai";
|
|
4
4
|
private client;
|
|
5
5
|
private model;
|
|
6
6
|
constructor(apiKey: string, model?: string);
|
|
7
|
-
generate(messages: Message[], tools: ToolDefinition[]): Promise<ProviderResponse>;
|
|
7
|
+
generate(messages: Message[], tools: ToolDefinition[], _onStream?: StreamCallback): Promise<ProviderResponse>;
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=openai.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,OAAO,EACP,cAAc,EACd,gBAAgB,
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,OAAO,EACP,cAAc,EACd,gBAAgB,EAEhB,cAAc,EACf,MAAM,kBAAkB,CAAC;AAE1B,qBAAa,cAAe,YAAW,WAAW;IAChD,QAAQ,CAAC,IAAI,YAAY;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;gBAEV,MAAM,EAAE,MAAM,EAAE,KAAK,SAAW;IAKtC,QAAQ,CACZ,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,cAAc,EAAE,EACvB,SAAS,CAAC,EAAE,cAAc,GACzB,OAAO,CAAC,gBAAgB,CAAC;CAkC7B"}
|
package/dist/providers/openai.js
CHANGED
|
@@ -7,7 +7,7 @@ export class OpenAIProvider {
|
|
|
7
7
|
this.client = new OpenAI({ apiKey });
|
|
8
8
|
this.model = model;
|
|
9
9
|
}
|
|
10
|
-
async generate(messages, tools) {
|
|
10
|
+
async generate(messages, tools, _onStream) {
|
|
11
11
|
const response = await this.client.chat.completions.create({
|
|
12
12
|
model: this.model,
|
|
13
13
|
messages: messages,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAU5B,MAAM,OAAO,cAAc;IAChB,IAAI,GAAG,QAAQ,CAAC;IACjB,MAAM,CAAS;IACf,KAAK,CAAS;IAEtB,YAAY,MAAc,EAAE,KAAK,GAAG,QAAQ;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,QAAmB,EACnB,KAAuB,EACvB,SAA0B;QAE1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YACzD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,QAA+C;YACzD,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gBAClB,CAAC,CAAC;oBACE,KAAK,EAAE,KAAoC;oBAC3C,WAAW,EAAE,MAAe;iBAC7B;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,SAAS,GAAe,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CACjE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACP,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,IAAI,EAAE,UAAmB;YACzB,QAAQ,EAAE;gBACR,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI;gBACtB,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS;aACjC;SACF,CAAC,CACH,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;YAC/B,SAAS;YACT,YAAY,EAAE,MAAM,CAAC,aAAa,IAAI,MAAM;SAC7C,CAAC;IACJ,CAAC;CACF"}
|
package/package.json
CHANGED