neoctl 0.1.13 → 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +103 -0
- package/dist/context/prompts.js +4 -0
- package/dist/context/prompts.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/repl/index.js +11 -0
- package/dist/repl/index.js.map +1 -1
- package/dist/session/simple-session-runtime.d.ts +74 -0
- package/dist/session/simple-session-runtime.js +171 -0
- package/dist/session/simple-session-runtime.js.map +1 -0
- package/dist/tools/builtins/image-generation-tool.d.ts +51 -0
- package/dist/tools/builtins/image-generation-tool.js +298 -0
- package/dist/tools/builtins/image-generation-tool.js.map +1 -0
- package/dist/tools/registry.d.ts +1 -0
- package/dist/tools/registry.js +11 -0
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/run-tool-use.js +1 -1
- package/dist/tools/run-tool-use.js.map +1 -1
- package/dist/tools/tool.d.ts +1 -1
- package/dist/ui/display-message.d.ts +101 -0
- package/dist/ui/display-message.js +113 -0
- package/dist/ui/display-message.js.map +1 -0
- package/dist/web/index.js +11 -0
- package/dist/web/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAQnD,MAAM,OAAO,YAAY;IACN,KAAK,GAAG,IAAI,GAAG,EAAqB,CAAC;IACrC,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAErD,QAAQ,CAAC,IAAe;QACtB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI;gBAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,OAAwB,EAAE,UAA2B,EAAE;QACjE,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC;YAClD,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,KAAK;SACd,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK;QACH,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,OAAwB,EAAE,UAA2B,EAAE;QAC1D,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAEO,YAAY,CAAC,OAAmC,EAAE,OAAwB;QAChF,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aAC5B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;aACvC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACtC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;aACnG,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;aACnD,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACrC,CAAC;CACF;AAED,MAAM,UAAU,gBAAgB,CAC9B,YAAkC,EAClC,gBAAsC,EAAE,EACxC,UAA2B,EAAE;IAE7B,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG;QACd,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC;QACtF,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC;KACxF,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAClC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAe,EAAE,KAAgB;IAClE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,GAAG,QAAQ,CAAC;IACpD,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -37,7 +37,7 @@ export async function runToolUse(request, context, options = {}) {
|
|
|
37
37
|
onProgress,
|
|
38
38
|
});
|
|
39
39
|
const output = await processToolOutput(tool, request, result, contextWithToolUseId);
|
|
40
|
-
const resultMessage = tool.renderToolResultMessage?.(result) ?? createToolResultMessage(request, result.ok, output);
|
|
40
|
+
const resultMessage = tool.renderToolResultMessage?.(result, request) ?? createToolResultMessage(request, result.ok, output);
|
|
41
41
|
updates.push({ message: resultMessage, context: result.contextModifier?.(contextWithToolUseId) });
|
|
42
42
|
for (const message of result.newMessages ?? []) {
|
|
43
43
|
updates.push({ message });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-tool-use.js","sourceRoot":"","sources":["../../src/tools/run-tool-use.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"run-tool-use.js","sourceRoot":"","sources":["../../src/tools/run-tool-use.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAqC,MAAM,sBAAsB,CAAC;AACrH,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAqBjD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAuB,EACvB,OAAuB,EACvB,UAA6B,EAAE;IAE/B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzF,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,iBAAiB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5G,CAAC;IAED,IAAI,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;QACjC,OAAO,CAAC,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChH,CAAC;IAED,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,MAAM,oBAAoB,GAAG,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;IACnE,MAAM,UAAU,GAAG,CAAC,KAAwB,EAAE,EAAE;QAC9C,MAAM,QAAQ,GAAG,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/G,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;QAChF,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAEzG,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa;YACzC,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,oBAAoB,CAAC;YAC9D,CAAC,CAAC,EAAE,EAAE,EAAE,IAAa,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAC/C,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;YACzB,OAAO,CAAC,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACrG,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACpG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,OAAO,CAAC,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,IAAI,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC;QACjH,CAAC;QAED,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,EAAE;YAChF,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,UAAU;SACX,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;QACpF,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC7H,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAElG,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,GAAG,OAAO;YACV;gBACE,OAAO,EAAE,uBAAuB,CAAC,OAAO,EAAE,KAAK,EAAE;oBAC/C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC;aACH;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAuB,EACvB,OAAuB,EACvB,UAA6B,EAAE;IAE/B,OAAO,CAAC,MAAM,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAAkB,EAClB,KAAc,EACd,OAAuB;IAEvB,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACjE,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW;YACpC,CAAC,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;IAC1E,CAAC;IAED,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAE,YAAY,CAAC,KAAgB,CAAC;QAC1G,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACxF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,OAAuB,EACvB,OAAuB,EACvB,UAAuB;IAEvB,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,IAAI,OAAO,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAChE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,IAAkB,EAClB,KAAa,EACb,OAAuB,EACvB,OAIC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,IAAI,CAAC,IAAI,6BAA6B,EAAE,EAAE,CAAC;AAC1F,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAU,EAAE,OAAuB,EAAE,MAAkB,EAAE,OAAuB;IAC/G,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAChF,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAChE,OAAO,CAAC,EAAE,EACV,MAAM,EACN,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CACjC,CAAC;QACF,IAAI,SAAS,CAAC,MAAM;YAAE,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9E,OAAO,SAAS,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACjD,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC;IAE5B,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChF,IAAI,UAAU,CAAC,MAAM,IAAI,OAAO;QAAE,OAAO,MAAM,CAAC;IAEhD,OAAO,iDAAiD,UAAU,CAAC,MAAM,yBAAyB,OAAO,SAAS,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;AAC7M,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAgB;IAC9C,OAAO,MAAM,QAAQ,0DAA0D,CAAC;AAClF,CAAC"}
|
package/dist/tools/tool.d.ts
CHANGED
|
@@ -123,7 +123,7 @@ export interface Tool<TInput = unknown> {
|
|
|
123
123
|
call?(input: TInput, context: ToolUseContext, options: ToolCallOptions<TInput>): Promise<ToolResult>;
|
|
124
124
|
mapResult?(result: ToolResult, request: ToolUseRequest): unknown;
|
|
125
125
|
renderToolUseMessage?(input: TInput): Message | undefined;
|
|
126
|
-
renderToolResultMessage?(result: ToolResult): Message | undefined;
|
|
126
|
+
renderToolResultMessage?(result: ToolResult, request?: ToolUseRequest): Message | undefined;
|
|
127
127
|
renderToolProgressMessage?(progress: ToolProgressEvent): Message | undefined;
|
|
128
128
|
}
|
|
129
129
|
export declare function resolveToolDescription(tool: Tool, context?: ToolUseContext): string;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import type { AgentEvent } from "../types/events.js";
|
|
2
|
+
import type { Message, MessageBlock } from "../types/messages.js";
|
|
3
|
+
export type DisplayImageMode = "data-url" | "metadata-only" | "omit";
|
|
4
|
+
export interface DisplayMessageOptions {
|
|
5
|
+
/**
|
|
6
|
+
* Controls how image blocks are represented for UI consumers.
|
|
7
|
+
* - data-url: include data URLs that can be assigned directly to <img src>.
|
|
8
|
+
* - metadata-only: include image metadata without embedding base64 image data.
|
|
9
|
+
* - omit: omit image blocks from the projected message.
|
|
10
|
+
*/
|
|
11
|
+
imageMode?: DisplayImageMode;
|
|
12
|
+
/**
|
|
13
|
+
* Include thinking blocks in the projected message. Defaults to true.
|
|
14
|
+
*/
|
|
15
|
+
includeThinking?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Include tool use blocks in the projected message. Defaults to true.
|
|
18
|
+
*/
|
|
19
|
+
includeToolUse?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Include tool result blocks in the projected message. Defaults to true.
|
|
22
|
+
*/
|
|
23
|
+
includeToolResult?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export type DisplayMessageBlock = {
|
|
26
|
+
type: "text";
|
|
27
|
+
text: string;
|
|
28
|
+
} | DisplayImageBlock | {
|
|
29
|
+
type: "thinking";
|
|
30
|
+
text: string;
|
|
31
|
+
signature?: string;
|
|
32
|
+
} | {
|
|
33
|
+
type: "tool_use";
|
|
34
|
+
id: string;
|
|
35
|
+
name: string;
|
|
36
|
+
input: unknown;
|
|
37
|
+
} | {
|
|
38
|
+
type: "tool_result";
|
|
39
|
+
toolUseId: string;
|
|
40
|
+
name: string;
|
|
41
|
+
ok: boolean;
|
|
42
|
+
output: unknown;
|
|
43
|
+
};
|
|
44
|
+
export interface DisplayImageBlock {
|
|
45
|
+
type: "image";
|
|
46
|
+
label?: string;
|
|
47
|
+
mimeType: string;
|
|
48
|
+
/** Approximate original payload size decoded from base64, when available. */
|
|
49
|
+
sizeBytes?: number;
|
|
50
|
+
thumbnail?: DisplayImageSource;
|
|
51
|
+
original?: DisplayImageSource;
|
|
52
|
+
}
|
|
53
|
+
export interface DisplayImageSource {
|
|
54
|
+
/** Directly assignable to an <img src> attribute when imageMode is "data-url". */
|
|
55
|
+
src: string;
|
|
56
|
+
mimeType: string;
|
|
57
|
+
}
|
|
58
|
+
export interface DisplayMessage {
|
|
59
|
+
id: string;
|
|
60
|
+
role: Message["role"];
|
|
61
|
+
createdAt: string;
|
|
62
|
+
blocks: DisplayMessageBlock[];
|
|
63
|
+
providerMessageId?: string;
|
|
64
|
+
requestId?: string;
|
|
65
|
+
usage?: Message["usage"];
|
|
66
|
+
isMeta?: boolean;
|
|
67
|
+
isApiErrorMessage?: boolean;
|
|
68
|
+
metadata?: Message["metadata"];
|
|
69
|
+
}
|
|
70
|
+
export type DisplayAgentEvent = Exclude<AgentEvent, {
|
|
71
|
+
type: "message";
|
|
72
|
+
}> | {
|
|
73
|
+
type: "message";
|
|
74
|
+
message: DisplayMessage;
|
|
75
|
+
};
|
|
76
|
+
export interface DisplayImageAttachment {
|
|
77
|
+
messageId: string;
|
|
78
|
+
role: DisplayMessage["role"];
|
|
79
|
+
createdAt: string;
|
|
80
|
+
index: number;
|
|
81
|
+
label?: string;
|
|
82
|
+
mimeType: string;
|
|
83
|
+
sizeBytes?: number;
|
|
84
|
+
src?: string;
|
|
85
|
+
thumbnailSrc?: string;
|
|
86
|
+
originalSrc?: string;
|
|
87
|
+
}
|
|
88
|
+
export declare function imageBlockToDataUrl(block: Extract<MessageBlock, {
|
|
89
|
+
type: "image";
|
|
90
|
+
}>): string;
|
|
91
|
+
export declare function toDisplayAgentEvent(event: AgentEvent, options?: DisplayMessageOptions): DisplayAgentEvent;
|
|
92
|
+
export declare function toDisplayAgentEvents(events: readonly AgentEvent[], options?: DisplayMessageOptions): DisplayAgentEvent[];
|
|
93
|
+
export declare function toDisplayMessages(messages: readonly Message[], options?: DisplayMessageOptions): DisplayMessage[];
|
|
94
|
+
export declare function toDisplayMessage(message: Message, options?: DisplayMessageOptions): DisplayMessage;
|
|
95
|
+
export declare function toDisplayMessageBlock(block: MessageBlock, options?: DisplayMessageOptions): DisplayMessageBlock | undefined;
|
|
96
|
+
export declare function toDisplayImageBlock(block: Extract<MessageBlock, {
|
|
97
|
+
type: "image";
|
|
98
|
+
}>, options?: DisplayMessageOptions): DisplayImageBlock | undefined;
|
|
99
|
+
export declare function extractDisplayImages(messages: readonly DisplayMessage[]): DisplayImageAttachment[];
|
|
100
|
+
export declare function extractMessageImages(messages: readonly Message[], options?: DisplayMessageOptions): DisplayImageAttachment[];
|
|
101
|
+
export declare function estimateBase64DecodedBytes(data: string): number | undefined;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
export function imageBlockToDataUrl(block) {
|
|
2
|
+
if (block.data.startsWith("data:"))
|
|
3
|
+
return block.data;
|
|
4
|
+
return `data:${block.mimeType};base64,${block.data}`;
|
|
5
|
+
}
|
|
6
|
+
export function toDisplayAgentEvent(event, options = {}) {
|
|
7
|
+
if (event.type !== "message")
|
|
8
|
+
return event;
|
|
9
|
+
return { ...event, message: toDisplayMessage(event.message, options) };
|
|
10
|
+
}
|
|
11
|
+
export function toDisplayAgentEvents(events, options = {}) {
|
|
12
|
+
return events.map((event) => toDisplayAgentEvent(event, options));
|
|
13
|
+
}
|
|
14
|
+
export function toDisplayMessages(messages, options = {}) {
|
|
15
|
+
return messages.map((message) => toDisplayMessage(message, options));
|
|
16
|
+
}
|
|
17
|
+
export function toDisplayMessage(message, options = {}) {
|
|
18
|
+
const blocks = message.blocks
|
|
19
|
+
.map((block) => toDisplayMessageBlock(block, options))
|
|
20
|
+
.filter((block) => block !== undefined);
|
|
21
|
+
return {
|
|
22
|
+
id: message.id,
|
|
23
|
+
role: message.role,
|
|
24
|
+
createdAt: message.createdAt,
|
|
25
|
+
blocks,
|
|
26
|
+
providerMessageId: message.providerMessageId,
|
|
27
|
+
requestId: message.requestId,
|
|
28
|
+
usage: message.usage,
|
|
29
|
+
isMeta: message.isMeta,
|
|
30
|
+
isApiErrorMessage: message.isApiErrorMessage,
|
|
31
|
+
metadata: message.metadata,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export function toDisplayMessageBlock(block, options = {}) {
|
|
35
|
+
if (block.type === "text")
|
|
36
|
+
return { type: "text", text: block.text };
|
|
37
|
+
if (block.type === "thinking") {
|
|
38
|
+
if (options.includeThinking === false)
|
|
39
|
+
return undefined;
|
|
40
|
+
return { type: "thinking", text: block.text, signature: block.signature };
|
|
41
|
+
}
|
|
42
|
+
if (block.type === "tool_use") {
|
|
43
|
+
if (options.includeToolUse === false)
|
|
44
|
+
return undefined;
|
|
45
|
+
return { type: "tool_use", id: block.id, name: block.name, input: block.input };
|
|
46
|
+
}
|
|
47
|
+
if (block.type === "tool_result") {
|
|
48
|
+
if (options.includeToolResult === false)
|
|
49
|
+
return undefined;
|
|
50
|
+
return { type: "tool_result", toolUseId: block.toolUseId, name: block.name, ok: block.ok, output: block.output };
|
|
51
|
+
}
|
|
52
|
+
if (block.type === "image")
|
|
53
|
+
return toDisplayImageBlock(block, options);
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
export function toDisplayImageBlock(block, options = {}) {
|
|
57
|
+
const imageMode = options.imageMode ?? "data-url";
|
|
58
|
+
if (imageMode === "omit")
|
|
59
|
+
return undefined;
|
|
60
|
+
const base = {
|
|
61
|
+
type: "image",
|
|
62
|
+
label: block.label,
|
|
63
|
+
mimeType: block.mimeType,
|
|
64
|
+
sizeBytes: estimateBase64DecodedBytes(normalizeBase64ImageData(block.data)),
|
|
65
|
+
};
|
|
66
|
+
if (imageMode === "metadata-only")
|
|
67
|
+
return base;
|
|
68
|
+
const src = imageBlockToDataUrl(block);
|
|
69
|
+
return {
|
|
70
|
+
...base,
|
|
71
|
+
thumbnail: { src, mimeType: block.mimeType },
|
|
72
|
+
original: { src, mimeType: block.mimeType },
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
export function extractDisplayImages(messages) {
|
|
76
|
+
const images = [];
|
|
77
|
+
for (const message of messages) {
|
|
78
|
+
message.blocks.forEach((block, index) => {
|
|
79
|
+
if (block.type !== "image")
|
|
80
|
+
return;
|
|
81
|
+
images.push({
|
|
82
|
+
messageId: message.id,
|
|
83
|
+
role: message.role,
|
|
84
|
+
createdAt: message.createdAt,
|
|
85
|
+
index,
|
|
86
|
+
label: block.label,
|
|
87
|
+
mimeType: block.mimeType,
|
|
88
|
+
sizeBytes: block.sizeBytes,
|
|
89
|
+
src: block.original?.src ?? block.thumbnail?.src,
|
|
90
|
+
thumbnailSrc: block.thumbnail?.src,
|
|
91
|
+
originalSrc: block.original?.src,
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
return images;
|
|
96
|
+
}
|
|
97
|
+
export function extractMessageImages(messages, options = {}) {
|
|
98
|
+
return extractDisplayImages(toDisplayMessages(messages, options));
|
|
99
|
+
}
|
|
100
|
+
export function estimateBase64DecodedBytes(data) {
|
|
101
|
+
const normalized = normalizeBase64ImageData(data).trim().replace(/\s+/g, "");
|
|
102
|
+
if (!normalized)
|
|
103
|
+
return 0;
|
|
104
|
+
if (!/^[A-Za-z0-9+/]*={0,2}$/.test(normalized) || normalized.length % 4 !== 0)
|
|
105
|
+
return undefined;
|
|
106
|
+
const padding = normalized.endsWith("==") ? 2 : normalized.endsWith("=") ? 1 : 0;
|
|
107
|
+
return Math.max(0, (normalized.length / 4) * 3 - padding);
|
|
108
|
+
}
|
|
109
|
+
function normalizeBase64ImageData(data) {
|
|
110
|
+
const match = /^data:[^;]+;base64,(.*)$/i.exec(data.trim());
|
|
111
|
+
return match?.[1] ?? data;
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=display-message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display-message.js","sourceRoot":"","sources":["../../src/ui/display-message.ts"],"names":[],"mappings":"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"}
|
package/dist/web/index.js
CHANGED
|
@@ -19,6 +19,7 @@ import { listDirectoryTool, readFileTool } from "../tools/builtins/filesystem-to
|
|
|
19
19
|
import { grepTool } from "../tools/builtins/grep-tool.js";
|
|
20
20
|
import { searchTool } from "../tools/builtins/search-tool.js";
|
|
21
21
|
import { planTool } from "../tools/builtins/plan-tool.js";
|
|
22
|
+
import { createOpenAIImageGenerationTool } from "../tools/builtins/image-generation-tool.js";
|
|
22
23
|
import { createAgentTool, resumeAgentTask } from "../agents/agent-tool.js";
|
|
23
24
|
import { createTaskTools } from "../tasks/task-tools.js";
|
|
24
25
|
import { TaskStore } from "../tasks/task-store.js";
|
|
@@ -119,6 +120,8 @@ async function createRuntime() {
|
|
|
119
120
|
tools.register(readFileTool);
|
|
120
121
|
tools.register(grepTool);
|
|
121
122
|
tools.register(searchTool);
|
|
123
|
+
if (modelConfig?.provider === "openai")
|
|
124
|
+
tools.register(createOpenAIImageGenerationTool());
|
|
122
125
|
tools.register(planTool);
|
|
123
126
|
const agentRuntime = { modelGateway, tools, taskStore };
|
|
124
127
|
tools.register(createAgentTool(agentRuntime));
|
|
@@ -160,6 +163,7 @@ async function createRuntime() {
|
|
|
160
163
|
agentRuntime,
|
|
161
164
|
usage: new SessionUsageTracker(),
|
|
162
165
|
taskStore,
|
|
166
|
+
tools,
|
|
163
167
|
initialMetrics,
|
|
164
168
|
defaultReasoning: modelConfig?.defaultReasoning,
|
|
165
169
|
envPath: process.env.NEO_ENV_FILE?.trim() ? path.resolve(process.env.NEO_ENV_FILE.trim()) : envLoad.userDotEnvPath,
|
|
@@ -182,6 +186,11 @@ function createTaskNotificationSource(taskStore) {
|
|
|
182
186
|
},
|
|
183
187
|
};
|
|
184
188
|
}
|
|
189
|
+
function syncImageGenerationTool(runtime, provider) {
|
|
190
|
+
runtime.tools.unregister("image2");
|
|
191
|
+
if (provider === "openai")
|
|
192
|
+
runtime.tools.register(createOpenAIImageGenerationTool());
|
|
193
|
+
}
|
|
185
194
|
function formatCreatedEnvNotice(dotEnvPath) {
|
|
186
195
|
return `Created default config file: ${dotEnvPath}\nSet MODEL_PROVIDER and the matching provider section (for example OPENAI_API_KEY or KIMI_API_KEY), then restart neo.`;
|
|
187
196
|
}
|
|
@@ -372,6 +381,7 @@ class WebRepl {
|
|
|
372
381
|
this.runtime.modelGateway.setInner(innerGateway);
|
|
373
382
|
this.runtime.agentRuntime.modelGateway = this.runtime.modelGateway;
|
|
374
383
|
this.runtime.engine.setModelProvider({ modelGateway: this.runtime.modelGateway, model: config.model, fallbackModel: config.fallbackModel, reasoning: config.defaultReasoning });
|
|
384
|
+
syncImageGenerationTool(this.runtime, config.provider);
|
|
375
385
|
this.runtime.defaultReasoning = config.defaultReasoning;
|
|
376
386
|
const metrics = await this.runtime.engine.contextMetrics();
|
|
377
387
|
this.setStatus({ ...this.status, metrics, activityTick: this.status.activityTick + 1 });
|
|
@@ -1007,6 +1017,7 @@ async function handleModelCommand(command, runtime) {
|
|
|
1007
1017
|
runtime.modelGateway.setInner(innerGateway);
|
|
1008
1018
|
runtime.agentRuntime.modelGateway = runtime.modelGateway;
|
|
1009
1019
|
runtime.engine.setModelProvider({ modelGateway: runtime.modelGateway, model: config.model, fallbackModel: config.fallbackModel, reasoning: config.defaultReasoning });
|
|
1020
|
+
syncImageGenerationTool(runtime, config.provider);
|
|
1010
1021
|
runtime.defaultReasoning = config.defaultReasoning;
|
|
1011
1022
|
}
|
|
1012
1023
|
}
|