@codeany/open-agent-sdk 0.2.1 → 0.2.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.
Files changed (57) hide show
  1. package/dist/engine.d.ts.map +1 -1
  2. package/dist/engine.js +2 -0
  3. package/dist/engine.js.map +1 -1
  4. package/package.json +5 -6
  5. package/src/agent.ts +0 -516
  6. package/src/engine.ts +0 -630
  7. package/src/hooks.ts +0 -261
  8. package/src/index.ts +0 -426
  9. package/src/mcp/client.ts +0 -150
  10. package/src/providers/anthropic.ts +0 -60
  11. package/src/providers/index.ts +0 -34
  12. package/src/providers/openai.ts +0 -315
  13. package/src/providers/types.ts +0 -85
  14. package/src/sdk-mcp-server.ts +0 -78
  15. package/src/session.ts +0 -227
  16. package/src/skills/bundled/commit.ts +0 -38
  17. package/src/skills/bundled/debug.ts +0 -48
  18. package/src/skills/bundled/index.ts +0 -28
  19. package/src/skills/bundled/review.ts +0 -41
  20. package/src/skills/bundled/simplify.ts +0 -51
  21. package/src/skills/bundled/test.ts +0 -43
  22. package/src/skills/index.ts +0 -25
  23. package/src/skills/registry.ts +0 -133
  24. package/src/skills/types.ts +0 -99
  25. package/src/tool-helper.ts +0 -127
  26. package/src/tools/agent-tool.ts +0 -164
  27. package/src/tools/ask-user.ts +0 -79
  28. package/src/tools/bash.ts +0 -75
  29. package/src/tools/config-tool.ts +0 -89
  30. package/src/tools/cron-tools.ts +0 -153
  31. package/src/tools/edit.ts +0 -74
  32. package/src/tools/glob.ts +0 -77
  33. package/src/tools/grep.ts +0 -168
  34. package/src/tools/index.ts +0 -240
  35. package/src/tools/lsp-tool.ts +0 -163
  36. package/src/tools/mcp-resource-tools.ts +0 -125
  37. package/src/tools/notebook-edit.ts +0 -93
  38. package/src/tools/plan-tools.ts +0 -88
  39. package/src/tools/read.ts +0 -73
  40. package/src/tools/send-message.ts +0 -96
  41. package/src/tools/skill-tool.ts +0 -133
  42. package/src/tools/task-tools.ts +0 -290
  43. package/src/tools/team-tools.ts +0 -128
  44. package/src/tools/todo-tool.ts +0 -112
  45. package/src/tools/tool-search.ts +0 -87
  46. package/src/tools/types.ts +0 -66
  47. package/src/tools/web-fetch.ts +0 -66
  48. package/src/tools/web-search.ts +0 -86
  49. package/src/tools/worktree-tools.ts +0 -140
  50. package/src/tools/write.ts +0 -42
  51. package/src/types.ts +0 -486
  52. package/src/utils/compact.ts +0 -207
  53. package/src/utils/context.ts +0 -191
  54. package/src/utils/fileCache.ts +0 -148
  55. package/src/utils/messages.ts +0 -195
  56. package/src/utils/retry.ts +0 -140
  57. package/src/utils/tokens.ts +0 -145
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EAIjB,UAAU,EACX,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAGV,sBAAsB,EAEvB,MAAM,sBAAsB,CAAA;AAkH7B,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,QAAQ,CAAa;IACtB,QAAQ,EAAE,sBAAsB,EAAE,CAAK;IAC9C,OAAO,CAAC,UAAU,CAAoD;IACtE,OAAO,CAAC,SAAS,CAAI;IACrB,OAAO,CAAC,SAAS,CAAI;IACrB,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,SAAS,CAAI;IACrB,OAAO,CAAC,YAAY,CAAC,CAAc;gBAEvB,MAAM,EAAE,iBAAiB;IAQrC;;;OAGG;YACW,YAAY;IAiB1B;;;OAGG;IACI,aAAa,CAClB,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,GACrB,cAAc,CAAC,UAAU,CAAC;IAmQ7B;;;;;OAKG;YACW,YAAY;IAkD1B;;OAEG;YACW,iBAAiB;IAuG/B;;OAEG;IACH,WAAW,IAAI,sBAAsB,EAAE;IAIvC;;OAEG;IACH,QAAQ,IAAI,UAAU;IAItB;;OAEG;IACH,OAAO,IAAI,MAAM;CAGlB"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EAIjB,UAAU,EACX,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAGV,sBAAsB,EAEvB,MAAM,sBAAsB,CAAA;AAkH7B,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,QAAQ,CAAa;IACtB,QAAQ,EAAE,sBAAsB,EAAE,CAAK;IAC9C,OAAO,CAAC,UAAU,CAAoD;IACtE,OAAO,CAAC,SAAS,CAAI;IACrB,OAAO,CAAC,SAAS,CAAI;IACrB,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,SAAS,CAAI;IACrB,OAAO,CAAC,YAAY,CAAC,CAAc;gBAEvB,MAAM,EAAE,iBAAiB;IAQrC;;;OAGG;YACW,YAAY;IAiB1B;;;OAGG;IACI,aAAa,CAClB,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,GACrB,cAAc,CAAC,UAAU,CAAC;IAsQ7B;;;;;OAKG;YACW,YAAY;IAkD1B;;OAEG;YACW,iBAAiB;IAuG/B;;OAEG;IACH,WAAW,IAAI,sBAAsB,EAAE;IAIvC;;OAEG;IACH,QAAQ,IAAI,UAAU;IAItB;;OAEG;IACH,OAAO,IAAI,MAAM;CAGlB"}
package/dist/engine.js CHANGED
@@ -227,12 +227,14 @@ export class QueryEngine {
227
227
  // Can't compact, give up
228
228
  }
229
229
  }
230
+ const message = err?.message ? String(err.message) : String(err);
230
231
  yield {
231
232
  type: 'result',
232
233
  subtype: 'error',
233
234
  usage: this.totalUsage,
234
235
  num_turns: this.turnCount,
235
236
  cost: this.totalCost,
237
+ errors: [message],
236
238
  };
237
239
  return;
238
240
  }
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAgBH,OAAO,EAEL,YAAY,GAEb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,GAEvB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,SAAS,EACT,oBAAoB,GACrB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAG7D,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E,uEAAuE;AACvE,SAAS,cAAc,CAAC,IAAoB;IAC1C,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,YAAY,EAAE,IAAI,CAAC,WAAW;KAC/B,CAAA;AACH,CAAC;AAaD,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E,KAAK,UAAU,iBAAiB,CAAC,MAAyB;IACxD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAA;QAChC,OAAO,MAAM,CAAC,kBAAkB;YAC9B,CAAC,CAAC,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC,kBAAkB;YAC3C,CAAC,CAAC,IAAI,CAAA;IACV,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,KAAK,CAAC,IAAI,CACR,+GAA+G,EAC/G,iGAAiG,CAClG,CAAA;IAED,yCAAyC;IACzC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;IACnC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;IACvD,CAAC;IAED,wBAAwB;IACxB,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;QACvC,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,CAAA;QACjD,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACjD,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;YAC/B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yBAAyB;IAC3B,CAAC;IAED,gCAAgC;IAChC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAChD,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;YACnC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yBAAyB;IAC3B,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,IAAI,CAAC,0BAA0B,MAAM,CAAC,GAAG,EAAE,CAAC,CAAA;IAElD,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAA;IAC9C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,MAAM,OAAO,WAAW;IACd,MAAM,CAAmB;IACzB,QAAQ,CAAa;IACtB,QAAQ,GAA6B,EAAE,CAAA;IACtC,UAAU,GAAe,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAA;IAC9D,SAAS,GAAG,CAAC,CAAA;IACb,SAAS,GAAG,CAAC,CAAA;IACb,YAAY,CAAkB;IAC9B,SAAS,CAAQ;IACjB,SAAS,GAAG,CAAC,CAAA;IACb,YAAY,CAAe;IAEnC,YAAY,MAAyB;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC/B,IAAI,CAAC,YAAY,GAAG,sBAAsB,EAAE,CAAA;QAC5C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAA;QACxD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;IACzC,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,YAAY,CACxB,KAAqC,EACrC,KAA0B;QAE1B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QAClD,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE;gBAC5C,KAAK;gBACL,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;gBACpB,GAAG,KAAK;aACT,CAAC,CAAA;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,CAAC,aAAa,CAClB,MAAsB;QAEtB,qBAAqB;QACrB,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;QAEvC,yBAAyB;QACzB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE;YAClE,SAAS,EAAE,MAAM;SAClB,CAAC,CAAA;QACF,0CAA0C;QAC1C,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM;gBACJ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,wBAAwB;gBACjC,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,IAAI,CAAC,UAAU;gBACtB,SAAS,EAAE,CAAC;gBACZ,IAAI,EAAE,CAAC;gBACP,MAAM,EAAE,CAAC,kCAAkC,CAAC;aAC7C,CAAA;YACD,OAAM;QACR,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAa,EAAE,CAAC,CAAA;QAE5D,sCAAsC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QAEnD,sBAAsB;QACtB,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEzD,2BAA2B;QAC3B,MAAM;YACJ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACzC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACxB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;YACpB,WAAW,EAAE,EAAE;YACf,eAAe,EAAE,mBAAmB;SACvB,CAAA;QAEf,eAAe;QACf,IAAI,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAA;QACzC,IAAI,cAAc,GAAG,KAAK,CAAA;QAC1B,IAAI,yBAAyB,GAAG,CAAC,CAAA;QACjC,MAAM,mBAAmB,GAAG,CAAC,CAAA;QAE7B,OAAO,cAAc,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO;gBAAE,MAAK;YAE3C,eAAe;YACf,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;gBAC3E,cAAc,GAAG,IAAI,CAAA;gBACrB,MAAK;YACP,CAAC;YAED,uCAAuC;YACvC,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBACpF,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;gBACrC,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CACtC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,MAAM,CAAC,KAAK,EACjB,IAAI,CAAC,QAAiB,EACtB,IAAI,CAAC,YAAY,CAClB,CAAA;oBACD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,iBAA6C,CAAA;oBACpE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,CAAA;oBAChC,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;gBACxC,CAAC;gBAAC,MAAM,CAAC;oBACP,qCAAqC;gBACvC,CAAC;YACH,CAAC;YAED,6CAA6C;YAC7C,MAAM,WAAW,GAAG,oBAAoB,CACtC,uBAAuB,CAAC,IAAI,CAAC,QAAiB,CAAC,CACpB,CAAA;YAE7B,IAAI,CAAC,SAAS,EAAE,CAAA;YAChB,cAAc,EAAE,CAAA;YAEhB,wCAAwC;YACxC,IAAI,QAA+B,CAAA;YACnC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;YAClC,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,SAAS,CACxB,KAAK,IAAI,EAAE;oBACT,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;wBACjC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;wBACxB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;wBAChC,MAAM,EAAE,YAAY;wBACpB,QAAQ,EAAE,WAAW;wBACrB,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;wBAC3C,QAAQ,EACN,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,KAAK,SAAS;4BACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY;4BAC/B,CAAC,CAAC;gCACE,IAAI,EAAE,SAAS;gCACf,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY;6BACjD;4BACH,CAAC,CAAC,SAAS;qBAChB,CAAC,CAAA;gBACJ,CAAC,EACD,SAAS,EACT,IAAI,CAAC,MAAM,CAAC,WAAW,CACxB,CAAA;YACH,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,uCAAuC;gBACvC,IAAI,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;oBAC9D,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CACtC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,MAAM,CAAC,KAAK,EACjB,IAAI,CAAC,QAAiB,EACtB,IAAI,CAAC,YAAY,CAClB,CAAA;wBACD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,iBAA6C,CAAA;wBACpE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,CAAA;wBAChC,cAAc,EAAE,CAAA,CAAC,kBAAkB;wBACnC,IAAI,CAAC,SAAS,EAAE,CAAA;wBAChB,SAAQ;oBACV,CAAC;oBAAC,MAAM,CAAC;wBACP,yBAAyB;oBAC3B,CAAC;gBACH,CAAC;gBAED,MAAM;oBACJ,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,OAAO;oBAChB,KAAK,EAAE,IAAI,CAAC,UAAU;oBACtB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,IAAI,EAAE,IAAI,CAAC,SAAS;iBACrB,CAAA;gBACD,OAAM;YACR,CAAC;YAED,mBAAmB;YACnB,IAAI,CAAC,SAAS,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAA;YAE9C,uCAAuC;YACvC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnB,IAAI,CAAC,UAAU,CAAC,YAAY,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAA;gBAC3D,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAA;gBAC7D,IAAI,QAAQ,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC;oBAC/C,IAAI,CAAC,UAAU,CAAC,2BAA2B;wBACzC,CAAC,IAAI,CAAC,UAAU,CAAC,2BAA2B,IAAI,CAAC,CAAC;4BAClD,QAAQ,CAAC,KAAK,CAAC,2BAA2B,CAAA;gBAC9C,CAAC;gBACD,IAAI,QAAQ,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;oBAC3C,IAAI,CAAC,UAAU,CAAC,uBAAuB;wBACrC,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,IAAI,CAAC,CAAC;4BAC9C,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAA;gBAC1C,CAAC;gBACD,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;YACnE,CAAC;YAED,wCAAwC;YACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAc,EAAE,CAAC,CAAA;YAE3E,0BAA0B;YAC1B,MAAM;gBACJ,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE;oBACP,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,QAAQ,CAAC,OAAc;iBACjC;aACF,CAAA;YAED,oCAAoC;YACpC,IACE,QAAQ,CAAC,UAAU,KAAK,YAAY;gBACpC,yBAAyB,GAAG,mBAAmB,EAC/C,CAAC;gBACD,yBAAyB,EAAE,CAAA;gBAC3B,0BAA0B;gBAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACjB,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,0CAA0C;iBACpD,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YAED,qBAAqB;YACrB,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAC3C,CAAC,KAAK,EAAyB,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAC5D,CAAA;YAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,MAAK,CAAC,gCAAgC;YACxC,CAAC;YAED,2DAA2D;YAC3D,yBAAyB,GAAG,CAAC,CAAA;YAE7B,yDAAyD;YACzD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;YAE1D,qBAAqB;YACrB,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;gBACjC,MAAM;oBACJ,IAAI,EAAE,aAAa;oBACnB,MAAM,EAAE;wBACN,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;wBACjC,MAAM,EACJ,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;4BAChC,CAAC,CAAC,MAAM,CAAC,OAAO;4BAChB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;qBACrC;iBACF,CAAA;YACH,CAAC;YAED,mCAAmC;YACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC/B,IAAI,EAAE,aAAsB;oBAC5B,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,OAAO,EACL,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;wBAC3B,CAAC,CAAC,CAAC,CAAC,OAAO;wBACX,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC/B,QAAQ,EAAE,CAAC,CAAC,QAAQ;iBACrB,CAAC,CAAC;aACJ,CAAC,CAAA;YAEF,IAAI,QAAQ,CAAC,UAAU,KAAK,UAAU;gBAAE,MAAK;QAC/C,CAAC;QAED,mCAAmC;QACnC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAE/B,mBAAmB;QACnB,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;QAErC,8BAA8B;QAC9B,MAAM,UAAU,GAAG,cAAc;YAC/B,CAAC,CAAC,sBAAsB;YACxB,CAAC,CAAC,cAAc,IAAI,CAAC;gBACnB,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,SAAS,CAAA;QAEf,MAAM;YACJ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,QAAQ,EAAE,UAAU,KAAK,SAAS;YAClC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,cAAc,EAAE,IAAI,CAAC,SAAS;YAC9B,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;YAC3C,KAAK,EAAE,IAAI,CAAC,UAAU;YACtB,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE;YAClI,IAAI,EAAE,IAAI,CAAC,SAAS;SACrB,CAAA;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,YAAY,CACxB,aAA6B;QAE7B,MAAM,OAAO,GAAgB;YAC3B,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;YACpB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACxB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;SAC/B,CAAA;QAED,MAAM,eAAe,GAAG,QAAQ,CAC9B,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,IAAI,CACnD,CAAA;QAED,8DAA8D;QAC9D,MAAM,QAAQ,GAA0D,EAAE,CAAA;QAC1E,MAAM,SAAS,GAA0D,EAAE,CAAA;QAE3E,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAA;YACjE,IAAI,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;gBACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YAChC,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YACjC,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAA4C,EAAE,CAAA;QAE3D,oEAAoE;QACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,eAAe,EAAE,CAAC;YAC1D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,CAAA;YACpD,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CACvD,CACF,CAAA;YACD,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;QAC/B,CAAC;QAED,sCAAsC;QACtC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAC3E,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtB,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAC7B,KAAmB,EACnB,IAAgC,EAChC,OAAoB;QAEpB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;gBACL,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,KAAK,CAAC,EAAE;gBACrB,OAAO,EAAE,wBAAwB,KAAK,CAAC,IAAI,GAAG;gBAC9C,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,KAAK,CAAC,IAAI;aACtB,CAAA;QACH,CAAC;QAED,gBAAgB;QAChB,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACxC,OAAO;gBACL,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,KAAK,CAAC,EAAE;gBACrB,OAAO,EAAE,gBAAgB,KAAK,CAAC,IAAI,kBAAkB;gBACrD,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,KAAK,CAAC,IAAI;aACtB,CAAA;QACH,CAAC;QAED,oBAAoB;QACpB,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;gBAClE,IAAI,UAAU,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;oBACnC,OAAO;wBACL,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,KAAK,CAAC,EAAE;wBACrB,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,+BAA+B,KAAK,CAAC,IAAI,GAAG;wBAC3E,QAAQ,EAAE,IAAI;wBACd,SAAS,EAAE,KAAK,CAAC,IAAI;qBACtB,CAAA;gBACH,CAAC;gBACD,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC1C,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,YAAY,EAAE,CAAA;gBACtD,CAAC;YACH,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO;oBACL,IAAI,EAAE,aAAa;oBACnB,WAAW,EAAE,KAAK,CAAC,EAAE;oBACrB,OAAO,EAAE,2BAA2B,GAAG,CAAC,OAAO,EAAE;oBACjD,QAAQ,EAAE,IAAI;oBACd,SAAS,EAAE,KAAK,CAAC,IAAI;iBACtB,CAAA;YACH,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;YAC3D,QAAQ,EAAE,KAAK,CAAC,IAAI;YACpB,SAAS,EAAE,KAAK,CAAC,KAAK;YACtB,SAAS,EAAE,KAAK,CAAC,EAAE;SACpB,CAAC,CAAA;QACF,qCAAqC;QACrC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,IAAI,4BAA4B,CAAA;YAC1F,OAAO;gBACL,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,KAAK,CAAC,EAAE;gBACrB,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,KAAK,CAAC,IAAI;aACtB,CAAA;QACH,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YAEpD,oBAAoB;YACpB,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;gBACrC,QAAQ,EAAE,KAAK,CAAC,IAAI;gBACpB,SAAS,EAAE,KAAK,CAAC,KAAK;gBACtB,UAAU,EAAE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;gBAChG,SAAS,EAAE,KAAK,CAAC,EAAE;aACpB,CAAC,CAAA;YAEF,OAAO,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,CAAA;QACpE,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,2BAA2B;YAC3B,MAAM,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE;gBAC5C,QAAQ,EAAE,KAAK,CAAC,IAAI;gBACpB,SAAS,EAAE,KAAK,CAAC,KAAK;gBACtB,SAAS,EAAE,KAAK,CAAC,EAAE;gBACnB,KAAK,EAAE,GAAG,CAAC,OAAO;aACnB,CAAC,CAAA;YAEF,OAAO;gBACL,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,KAAK,CAAC,EAAE;gBACrB,OAAO,EAAE,yBAAyB,GAAG,CAAC,OAAO,EAAE;gBAC/C,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,KAAK,CAAC,IAAI;aACtB,CAAA;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC3B,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;IAC/B,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -12,17 +12,16 @@
12
12
  "bugs": {
13
13
  "url": "https://github.com/codeany-ai/open-agent-sdk-typescript/issues"
14
14
  },
15
- "version": "0.2.1",
15
+ "version": "0.2.3",
16
+ "description": "Open-source Agent SDK. Runs the full agent loop in-process — no local CLI required. Deploy anywhere: cloud, serverless, Docker, CI/CD.",
17
+ "type": "module",
18
+ "main": "./dist/index.js",
19
+ "types": "./dist/index.d.ts",
16
20
  "files": [
17
21
  "dist",
18
- "src",
19
22
  "README.md",
20
23
  "LICENSE"
21
24
  ],
22
- "description": "Open-source Agent SDK. Runs the full agent loop in-process — no local CLI required. Deploy anywhere: cloud, serverless, Docker, CI/CD.",
23
- "type": "module",
24
- "main": "./dist/index.js",
25
- "types": "./dist/index.d.ts",
26
25
  "exports": {
27
26
  ".": {
28
27
  "types": "./dist/index.d.ts",
package/src/agent.ts DELETED
@@ -1,516 +0,0 @@
1
- /**
2
- * Agent - High-level API
3
- *
4
- * Provides createAgent() and query() interfaces compatible with
5
- * open-agent-sdk.
6
- *
7
- * Usage:
8
- * import { createAgent } from 'open-agent-sdk'
9
- * const agent = createAgent({ model: 'claude-sonnet-4-6' })
10
- * for await (const event of agent.query('Hello')) { ... }
11
- *
12
- * // OpenAI-compatible models
13
- * const agent = createAgent({
14
- * apiType: 'openai-completions',
15
- * model: 'gpt-4o',
16
- * apiKey: 'sk-...',
17
- * baseURL: 'https://api.openai.com/v1',
18
- * })
19
- */
20
-
21
- import type {
22
- AgentOptions,
23
- QueryResult,
24
- SDKMessage,
25
- ToolDefinition,
26
- CanUseToolFn,
27
- Message,
28
- PermissionMode,
29
- } from './types.js'
30
- import { QueryEngine } from './engine.js'
31
- import { getAllBaseTools, filterTools } from './tools/index.js'
32
- import { connectMCPServer, type MCPConnection } from './mcp/client.js'
33
- import { isSdkServerConfig } from './sdk-mcp-server.js'
34
- import { registerAgents } from './tools/agent-tool.js'
35
- import {
36
- saveSession,
37
- loadSession,
38
- } from './session.js'
39
- import { createHookRegistry, type HookRegistry } from './hooks.js'
40
- import { initBundledSkills } from './skills/index.js'
41
- import { createProvider, type LLMProvider, type ApiType } from './providers/index.js'
42
- import type { NormalizedMessageParam } from './providers/types.js'
43
-
44
- // --------------------------------------------------------------------------
45
- // Agent class
46
- // --------------------------------------------------------------------------
47
-
48
- export class Agent {
49
- private cfg: AgentOptions
50
- private toolPool: ToolDefinition[]
51
- private modelId: string
52
- private apiType: ApiType
53
- private apiCredentials: { key?: string; baseUrl?: string }
54
- private provider: LLMProvider
55
- private mcpLinks: MCPConnection[] = []
56
- private history: NormalizedMessageParam[] = []
57
- private messageLog: Message[] = []
58
- private setupDone: Promise<void>
59
- private sid: string
60
- private abortCtrl: AbortController | null = null
61
- private currentEngine: QueryEngine | null = null
62
- private hookRegistry: HookRegistry
63
-
64
- constructor(options: AgentOptions = {}) {
65
- // Shallow copy to avoid mutating caller's object
66
- this.cfg = { ...options }
67
-
68
- // Merge credentials from options.env map, direct options, and process.env
69
- this.apiCredentials = this.pickCredentials()
70
- this.modelId = this.cfg.model ?? this.readEnv('CODEANY_MODEL') ?? 'claude-sonnet-4-6'
71
- this.sid = this.cfg.sessionId ?? crypto.randomUUID()
72
-
73
- // Resolve API type
74
- this.apiType = this.resolveApiType()
75
-
76
- // Create LLM provider
77
- this.provider = createProvider(this.apiType, {
78
- apiKey: this.apiCredentials.key,
79
- baseURL: this.apiCredentials.baseUrl,
80
- })
81
-
82
- // Initialize bundled skills
83
- initBundledSkills()
84
-
85
- // Build hook registry from options
86
- this.hookRegistry = createHookRegistry()
87
- if (this.cfg.hooks) {
88
- // Convert AgentOptions hooks format to HookConfig
89
- for (const [event, defs] of Object.entries(this.cfg.hooks)) {
90
- for (const def of defs) {
91
- for (const handler of def.hooks) {
92
- this.hookRegistry.register(event as any, {
93
- matcher: def.matcher,
94
- timeout: def.timeout,
95
- handler: async (input) => {
96
- const result = await handler(input, input.toolUseId || '', {
97
- signal: this.abortCtrl?.signal || new AbortController().signal,
98
- })
99
- return result || undefined
100
- },
101
- })
102
- }
103
- }
104
- }
105
- }
106
-
107
- // Build tool pool from options (supports ToolDefinition[], string[], or preset)
108
- this.toolPool = this.buildToolPool()
109
-
110
- // Kick off async setup (MCP connections, agent registration, session resume)
111
- this.setupDone = this.setup()
112
- }
113
-
114
- /**
115
- * Resolve API type from options, env, or model name heuristic.
116
- */
117
- private resolveApiType(): ApiType {
118
- // Explicit option
119
- if (this.cfg.apiType) return this.cfg.apiType
120
-
121
- // Env var
122
- const envType =
123
- this.cfg.env?.CODEANY_API_TYPE ??
124
- this.readEnv('CODEANY_API_TYPE')
125
- if (envType === 'openai-completions' || envType === 'anthropic-messages') {
126
- return envType
127
- }
128
-
129
- // Heuristic from model name
130
- const model = this.modelId.toLowerCase()
131
- if (
132
- model.includes('gpt-') ||
133
- model.includes('o1') ||
134
- model.includes('o3') ||
135
- model.includes('o4') ||
136
- model.includes('deepseek') ||
137
- model.includes('qwen') ||
138
- model.includes('yi-') ||
139
- model.includes('glm') ||
140
- model.includes('mistral') ||
141
- model.includes('gemma')
142
- ) {
143
- return 'openai-completions'
144
- }
145
-
146
- return 'anthropic-messages'
147
- }
148
-
149
- /** Pick API key and base URL from options or CODEANY_* env vars. */
150
- private pickCredentials(): { key?: string; baseUrl?: string } {
151
- const envMap = this.cfg.env
152
- return {
153
- key:
154
- this.cfg.apiKey ??
155
- envMap?.CODEANY_API_KEY ??
156
- envMap?.CODEANY_AUTH_TOKEN ??
157
- this.readEnv('CODEANY_API_KEY') ??
158
- this.readEnv('CODEANY_AUTH_TOKEN'),
159
- baseUrl:
160
- this.cfg.baseURL ??
161
- envMap?.CODEANY_BASE_URL ??
162
- this.readEnv('CODEANY_BASE_URL'),
163
- }
164
- }
165
-
166
- /** Read a value from process.env (returns undefined if missing). */
167
- private readEnv(key: string): string | undefined {
168
- return process.env[key] || undefined
169
- }
170
-
171
- /** Assemble the available tool set based on options. */
172
- private buildToolPool(): ToolDefinition[] {
173
- const raw = this.cfg.tools
174
- let pool: ToolDefinition[]
175
-
176
- if (!raw || (typeof raw === 'object' && !Array.isArray(raw) && 'type' in raw)) {
177
- pool = getAllBaseTools()
178
- } else if (Array.isArray(raw) && raw.length > 0 && typeof raw[0] === 'string') {
179
- pool = filterTools(getAllBaseTools(), raw as string[])
180
- } else {
181
- pool = raw as ToolDefinition[]
182
- }
183
-
184
- return filterTools(pool, this.cfg.allowedTools, this.cfg.disallowedTools)
185
- }
186
-
187
- /**
188
- * Async initialization: connect MCP servers, register agents, resume sessions.
189
- */
190
- private async setup(): Promise<void> {
191
- // Register custom agent definitions
192
- if (this.cfg.agents) {
193
- registerAgents(this.cfg.agents)
194
- }
195
-
196
- // Connect MCP servers (supports stdio, SSE, HTTP, and in-process SDK servers)
197
- if (this.cfg.mcpServers) {
198
- for (const [name, config] of Object.entries(this.cfg.mcpServers)) {
199
- try {
200
- if (isSdkServerConfig(config)) {
201
- // In-process SDK MCP server - directly add tools
202
- this.toolPool = [...this.toolPool, ...config.tools]
203
- } else {
204
- // External MCP server
205
- const connection = await connectMCPServer(name, config)
206
- this.mcpLinks.push(connection)
207
-
208
- if (connection.status === 'connected' && connection.tools.length > 0) {
209
- this.toolPool = [...this.toolPool, ...connection.tools]
210
- }
211
- }
212
- } catch (err: any) {
213
- console.error(`[MCP] Failed to connect to "${name}": ${err.message}`)
214
- }
215
- }
216
- }
217
-
218
- // Resume or continue session
219
- if (this.cfg.resume) {
220
- const sessionData = await loadSession(this.cfg.resume)
221
- if (sessionData) {
222
- this.history = sessionData.messages
223
- this.sid = this.cfg.resume
224
- }
225
- }
226
- }
227
-
228
- /**
229
- * Run a query with streaming events.
230
- */
231
- async *query(
232
- prompt: string,
233
- overrides?: Partial<AgentOptions>,
234
- ): AsyncGenerator<SDKMessage, void> {
235
- await this.setupDone
236
-
237
- const opts = { ...this.cfg, ...overrides }
238
- const cwd = opts.cwd || process.cwd()
239
-
240
- // Create abort controller for this query
241
- this.abortCtrl = opts.abortController || new AbortController()
242
- if (opts.abortSignal) {
243
- opts.abortSignal.addEventListener('abort', () => this.abortCtrl?.abort(), { once: true })
244
- }
245
-
246
- // Resolve systemPrompt (handle preset object)
247
- let systemPrompt: string | undefined
248
- let appendSystemPrompt = opts.appendSystemPrompt
249
- if (typeof opts.systemPrompt === 'object' && opts.systemPrompt?.type === 'preset') {
250
- systemPrompt = undefined // Use engine default (default style)
251
- if (opts.systemPrompt.append) {
252
- appendSystemPrompt = (appendSystemPrompt || '') + '\n' + opts.systemPrompt.append
253
- }
254
- } else {
255
- systemPrompt = opts.systemPrompt as string | undefined
256
- }
257
-
258
- // Build canUseTool based on permission mode
259
- const permMode = opts.permissionMode ?? 'bypassPermissions'
260
- const canUseTool: CanUseToolFn = opts.canUseTool ?? (async (_tool, _input) => {
261
- if (permMode === 'bypassPermissions' || permMode === 'dontAsk' || permMode === 'auto') {
262
- return { behavior: 'allow' }
263
- }
264
- if (permMode === 'acceptEdits') {
265
- return { behavior: 'allow' }
266
- }
267
- return { behavior: 'allow' }
268
- })
269
-
270
- // Resolve tools with overrides
271
- let tools = this.toolPool
272
- if (overrides?.allowedTools || overrides?.disallowedTools) {
273
- tools = filterTools(tools, overrides.allowedTools, overrides.disallowedTools)
274
- }
275
- if (overrides?.tools) {
276
- const ot = overrides.tools
277
- if (Array.isArray(ot) && ot.length > 0 && typeof ot[0] === 'string') {
278
- tools = filterTools(this.toolPool, ot as string[])
279
- } else if (Array.isArray(ot)) {
280
- tools = ot as ToolDefinition[]
281
- }
282
- }
283
-
284
- // Recreate provider if overrides change credentials or apiType
285
- let provider = this.provider
286
- if (overrides?.apiType || overrides?.apiKey || overrides?.baseURL) {
287
- const resolvedApiType = overrides.apiType ?? this.apiType
288
- provider = createProvider(resolvedApiType, {
289
- apiKey: overrides.apiKey ?? this.apiCredentials.key,
290
- baseURL: overrides.baseURL ?? this.apiCredentials.baseUrl,
291
- })
292
- }
293
-
294
- // Create query engine with current conversation state
295
- const engine = new QueryEngine({
296
- cwd,
297
- model: opts.model || this.modelId,
298
- provider,
299
- tools,
300
- systemPrompt,
301
- appendSystemPrompt,
302
- maxTurns: opts.maxTurns ?? 10,
303
- maxBudgetUsd: opts.maxBudgetUsd,
304
- maxTokens: opts.maxTokens ?? 16384,
305
- thinking: opts.thinking,
306
- jsonSchema: opts.jsonSchema,
307
- canUseTool,
308
- includePartialMessages: opts.includePartialMessages ?? false,
309
- abortSignal: this.abortCtrl.signal,
310
- agents: opts.agents,
311
- hookRegistry: this.hookRegistry,
312
- sessionId: this.sid,
313
- })
314
- this.currentEngine = engine
315
-
316
- // Inject existing conversation history
317
- for (const msg of this.history) {
318
- (engine as any).messages.push(msg)
319
- }
320
-
321
- // Run the engine
322
- for await (const event of engine.submitMessage(prompt)) {
323
- yield event
324
-
325
- // Track assistant messages for multi-turn persistence
326
- if (event.type === 'assistant') {
327
- const uuid = crypto.randomUUID()
328
- const timestamp = new Date().toISOString()
329
- this.messageLog.push({
330
- type: 'assistant',
331
- message: event.message,
332
- uuid,
333
- timestamp,
334
- })
335
- }
336
- }
337
-
338
- // Persist conversation state for multi-turn
339
- this.history = engine.getMessages()
340
-
341
- // Add user message to tracked messages
342
- const userUuid = crypto.randomUUID()
343
- this.messageLog.push({
344
- type: 'user',
345
- message: { role: 'user', content: prompt },
346
- uuid: userUuid,
347
- timestamp: new Date().toISOString(),
348
- })
349
- }
350
-
351
- /**
352
- * Convenience method: send a prompt and collect the final answer as a single object.
353
- * Internally iterates through the streaming query and aggregates the outcome.
354
- */
355
- async prompt(
356
- text: string,
357
- overrides?: Partial<AgentOptions>,
358
- ): Promise<QueryResult> {
359
- const t0 = performance.now()
360
- const collected = { text: '', turns: 0, tokens: { in: 0, out: 0 } }
361
-
362
- for await (const ev of this.query(text, overrides)) {
363
- switch (ev.type) {
364
- case 'assistant': {
365
- // Extract the last assistant text (multi-turn: only final answer matters)
366
- const fragments = (ev.message.content as any[])
367
- .filter((c: any) => c.type === 'text')
368
- .map((c: any) => c.text)
369
- if (fragments.length) collected.text = fragments.join('')
370
- break
371
- }
372
- case 'result':
373
- collected.turns = ev.num_turns ?? 0
374
- collected.tokens.in = ev.usage?.input_tokens ?? 0
375
- collected.tokens.out = ev.usage?.output_tokens ?? 0
376
- break
377
- }
378
- }
379
-
380
- return {
381
- text: collected.text,
382
- usage: { input_tokens: collected.tokens.in, output_tokens: collected.tokens.out },
383
- num_turns: collected.turns,
384
- duration_ms: Math.round(performance.now() - t0),
385
- messages: [...this.messageLog],
386
- }
387
- }
388
-
389
- /**
390
- * Get conversation messages.
391
- */
392
- getMessages(): Message[] {
393
- return [...this.messageLog]
394
- }
395
-
396
- /**
397
- * Reset conversation history.
398
- */
399
- clear(): void {
400
- this.history = []
401
- this.messageLog = []
402
- }
403
-
404
- /**
405
- * Interrupt the current query.
406
- */
407
- async interrupt(): Promise<void> {
408
- this.abortCtrl?.abort()
409
- }
410
-
411
- /**
412
- * Change the model during a session.
413
- */
414
- async setModel(model?: string): Promise<void> {
415
- if (model) {
416
- this.modelId = model
417
- this.cfg.model = model
418
- }
419
- }
420
-
421
- /**
422
- * Change the permission mode during a session.
423
- */
424
- async setPermissionMode(mode: PermissionMode): Promise<void> {
425
- this.cfg.permissionMode = mode
426
- }
427
-
428
- /**
429
- * Set maximum thinking tokens.
430
- */
431
- async setMaxThinkingTokens(maxThinkingTokens: number | null): Promise<void> {
432
- if (maxThinkingTokens === null) {
433
- this.cfg.thinking = { type: 'disabled' }
434
- } else {
435
- this.cfg.thinking = { type: 'enabled', budgetTokens: maxThinkingTokens }
436
- }
437
- }
438
-
439
- /**
440
- * Get the session ID.
441
- */
442
- getSessionId(): string {
443
- return this.sid
444
- }
445
-
446
- /**
447
- * Get the current API type.
448
- */
449
- getApiType(): ApiType {
450
- return this.apiType
451
- }
452
-
453
- /**
454
- * Stop a background task.
455
- */
456
- async stopTask(taskId: string): Promise<void> {
457
- const { getTask } = await import('./tools/task-tools.js')
458
- const task = getTask(taskId)
459
- if (task) {
460
- task.status = 'cancelled'
461
- }
462
- }
463
-
464
- /**
465
- * Close MCP connections and clean up.
466
- * Optionally persist session to disk.
467
- */
468
- async close(): Promise<void> {
469
- // Persist session if enabled
470
- if (this.cfg.persistSession !== false && this.history.length > 0) {
471
- try {
472
- await saveSession(this.sid, this.history, {
473
- cwd: this.cfg.cwd || process.cwd(),
474
- model: this.modelId,
475
- summary: undefined,
476
- })
477
- } catch {
478
- // Session persistence is best-effort
479
- }
480
- }
481
-
482
- for (const conn of this.mcpLinks) {
483
- await conn.close()
484
- }
485
- this.mcpLinks = []
486
- }
487
- }
488
-
489
- // --------------------------------------------------------------------------
490
- // Factory function
491
- // --------------------------------------------------------------------------
492
-
493
- /** Factory: shorthand for `new Agent(options)`. */
494
- export function createAgent(options: AgentOptions = {}): Agent {
495
- return new Agent(options)
496
- }
497
-
498
- // --------------------------------------------------------------------------
499
- // Standalone query — one-shot convenience wrapper
500
- // --------------------------------------------------------------------------
501
-
502
- /**
503
- * Execute a single agentic query without managing an Agent instance.
504
- * The agent is created, used, and cleaned up automatically.
505
- */
506
- export async function* query(params: {
507
- prompt: string
508
- options?: AgentOptions
509
- }): AsyncGenerator<SDKMessage, void> {
510
- const ephemeral = createAgent(params.options)
511
- try {
512
- yield* ephemeral.query(params.prompt)
513
- } finally {
514
- await ephemeral.close()
515
- }
516
- }