orbitx 0.2.1 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/Readme.md +26 -0
  2. package/dist/core/ai-provider.d.ts +31 -1
  3. package/dist/core/ai-provider.d.ts.map +1 -1
  4. package/dist/core/ai-provider.js.map +1 -1
  5. package/dist/core/anthropic-provider.d.ts +1 -0
  6. package/dist/core/anthropic-provider.d.ts.map +1 -1
  7. package/dist/core/anthropic-provider.js +83 -3
  8. package/dist/core/anthropic-provider.js.map +1 -1
  9. package/dist/core/base-agent.d.ts +13 -0
  10. package/dist/core/base-agent.d.ts.map +1 -1
  11. package/dist/core/base-agent.js +77 -109
  12. package/dist/core/base-agent.js.map +1 -1
  13. package/dist/core/deepseek-provider.d.ts +2 -0
  14. package/dist/core/deepseek-provider.d.ts.map +1 -1
  15. package/dist/core/deepseek-provider.js +56 -2
  16. package/dist/core/deepseek-provider.js.map +1 -1
  17. package/dist/core/image-describer.d.ts +7 -1
  18. package/dist/core/image-describer.d.ts.map +1 -1
  19. package/dist/core/image-describer.js +5 -1
  20. package/dist/core/image-describer.js.map +1 -1
  21. package/dist/core/ollama-provider.d.ts +1 -0
  22. package/dist/core/ollama-provider.d.ts.map +1 -1
  23. package/dist/core/ollama-provider.js +45 -1
  24. package/dist/core/ollama-provider.js.map +1 -1
  25. package/dist/core/openai-provider.d.ts +1 -0
  26. package/dist/core/openai-provider.d.ts.map +1 -1
  27. package/dist/core/openai-provider.js +54 -1
  28. package/dist/core/openai-provider.js.map +1 -1
  29. package/dist/core/think-effort.d.ts +21 -0
  30. package/dist/core/think-effort.d.ts.map +1 -0
  31. package/dist/core/think-effort.js +19 -0
  32. package/dist/core/think-effort.js.map +1 -0
  33. package/dist/core/worker-agent.d.ts +43 -0
  34. package/dist/core/worker-agent.d.ts.map +1 -0
  35. package/dist/core/worker-agent.js +40 -0
  36. package/dist/core/worker-agent.js.map +1 -0
  37. package/dist/index.d.ts +8 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +4 -1
  40. package/dist/index.js.map +1 -1
  41. package/dist/templates/simple.d.ts +2 -0
  42. package/dist/templates/simple.d.ts.map +1 -1
  43. package/dist/templates/simple.js.map +1 -1
  44. package/dist/tests/index.d.ts +1 -0
  45. package/dist/tests/index.d.ts.map +1 -1
  46. package/dist/tests/index.js +1 -0
  47. package/dist/tests/index.js.map +1 -1
  48. package/dist/tests/tools/agent/agent-tools.test.d.ts +2 -0
  49. package/dist/tests/tools/agent/agent-tools.test.d.ts.map +1 -0
  50. package/dist/tests/tools/agent/agent-tools.test.js +156 -0
  51. package/dist/tests/tools/agent/agent-tools.test.js.map +1 -0
  52. package/dist/tools/agent/hire.d.ts +6 -0
  53. package/dist/tools/agent/hire.d.ts.map +1 -0
  54. package/dist/tools/agent/hire.js +32 -0
  55. package/dist/tools/agent/hire.js.map +1 -0
  56. package/dist/tools/agent/index.d.ts +27 -0
  57. package/dist/tools/agent/index.d.ts.map +1 -0
  58. package/dist/tools/agent/index.js +31 -0
  59. package/dist/tools/agent/index.js.map +1 -0
  60. package/dist/tools/agent/interaction.d.ts +25 -0
  61. package/dist/tools/agent/interaction.d.ts.map +1 -0
  62. package/dist/tools/agent/interaction.js +14 -0
  63. package/dist/tools/agent/interaction.js.map +1 -0
  64. package/dist/tools/agent/list.d.ts +5 -0
  65. package/dist/tools/agent/list.d.ts.map +1 -0
  66. package/dist/tools/agent/list.js +16 -0
  67. package/dist/tools/agent/list.js.map +1 -0
  68. package/dist/tools/agent/prompt.d.ts +6 -0
  69. package/dist/tools/agent/prompt.d.ts.map +1 -0
  70. package/dist/tools/agent/prompt.js +73 -0
  71. package/dist/tools/agent/prompt.js.map +1 -0
  72. package/dist/tools/agent/registry.d.ts +33 -0
  73. package/dist/tools/agent/registry.d.ts.map +1 -0
  74. package/dist/tools/agent/registry.js +68 -0
  75. package/dist/tools/agent/registry.js.map +1 -0
  76. package/dist/tools/agent/report.d.ts +12 -0
  77. package/dist/tools/agent/report.d.ts.map +1 -0
  78. package/dist/tools/agent/report.js +31 -0
  79. package/dist/tools/agent/report.js.map +1 -0
  80. package/dist/tools/fs/edit-file.d.ts.map +1 -1
  81. package/dist/tools/fs/edit-file.js +9 -8
  82. package/dist/tools/fs/edit-file.js.map +1 -1
  83. package/dist/tools/fs/list-dir.d.ts.map +1 -1
  84. package/dist/tools/fs/list-dir.js +0 -1
  85. package/dist/tools/fs/list-dir.js.map +1 -1
  86. package/dist/tools/fs/read-file.js +3 -3
  87. package/dist/tools/fs/read-file.js.map +1 -1
  88. package/dist/tools/fs/utils.d.ts +7 -0
  89. package/dist/tools/fs/utils.d.ts.map +1 -1
  90. package/dist/tools/fs/utils.js +9 -2
  91. package/dist/tools/fs/utils.js.map +1 -1
  92. package/dist/tools/utils/index.d.ts +1 -0
  93. package/dist/tools/utils/index.d.ts.map +1 -1
  94. package/dist/tools/utils/index.js +4 -1
  95. package/dist/tools/utils/index.js.map +1 -1
  96. package/dist/tools/utils/read-image.d.ts +12 -0
  97. package/dist/tools/utils/read-image.d.ts.map +1 -0
  98. package/dist/tools/utils/read-image.js +70 -0
  99. package/dist/tools/utils/read-image.js.map +1 -0
  100. package/docs/agents.md +181 -0
  101. package/docs/api-reference.md +54 -0
  102. package/docs/getting-started.md +78 -0
  103. package/docs/index.md +23 -0
  104. package/docs/mcp-architecture.md +103 -0
  105. package/docs/providers.md +151 -0
  106. package/docs/skills.md +68 -0
  107. package/docs/streaming.md +116 -0
  108. package/docs/tools.md +179 -0
  109. package/package.json +4 -3
  110. package/dist/tests/mcp.test.d.ts +0 -2
  111. package/dist/tests/mcp.test.d.ts.map +0 -1
  112. package/dist/tests/mcp.test.js +0 -3
  113. package/dist/tests/mcp.test.js.map +0 -1
@@ -2,7 +2,14 @@ import { Ollama } from "ollama";
2
2
  import AIProvider from "./ai-provider.js";
3
3
  import { toOpenAIFunctionTools } from "./tool-schema-translator.js";
4
4
  import { withRetry } from "./retry.js";
5
+ import { resolveThinkEffortLevel } from "./think-effort.js";
5
6
  const DEFAULT_CONTEXT_WINDOW = 32_000;
7
+ // Ollama's `think` option accepts a boolean (most thinking-capable models,
8
+ // e.g. deepseek-r1/qwen3) or, for a smaller set of newer models (e.g.
9
+ // gpt-oss), one of these three levels. thinkEffort === 0 maps to `false`
10
+ // (thinking off) rather than the lowest level, so it still works as an
11
+ // on/off switch for models that only understand booleans.
12
+ const OLLAMA_THINK_LEVELS = ["low", "medium", "high"];
6
13
  function toOllamaMessages(messages, supportsTools) {
7
14
  return messages.map(msg => {
8
15
  // Ollama rejects `tool`-role messages for models that don't support
@@ -57,12 +64,15 @@ export class OllamaProvider extends AIProvider {
57
64
  // the model card (most recent tool-capable families default to true).
58
65
  #supportsTools;
59
66
  #contextWindow;
67
+ /** Universal 0-1 thinking effort — see src/core/think-effort.ts. Mapped onto a boolean or OLLAMA_THINK_LEVELS in #chat; ignored by models that don't support thinking (Ollama itself ignores an unrecognized `think` value rather than erroring). */
68
+ #thinkEffort;
60
69
  constructor(model, host = "http://localhost:11434", options = {}) {
61
70
  super();
62
71
  this.#client = new Ollama({ host });
63
72
  this.#model = model;
64
73
  this.#supportsTools = options.supportsTools ?? false;
65
74
  this.#contextWindow = options.contextWindow ?? DEFAULT_CONTEXT_WINDOW;
75
+ this.#thinkEffort = options.thinkEffort;
66
76
  }
67
77
  getCapabilities() {
68
78
  return {
@@ -70,6 +80,7 @@ export class OllamaProvider extends AIProvider {
70
80
  supportsImages: true,
71
81
  contextWindow: this.#contextWindow,
72
82
  safeUsageRatio: 0.5,
83
+ supportsThinking: true,
73
84
  };
74
85
  }
75
86
  async chat(messages, streamCallback, tools) {
@@ -79,6 +90,14 @@ export class OllamaProvider extends AIProvider {
79
90
  const formattedTools = tools && tools.length > 0 && this.#supportsTools
80
91
  ? toOpenAIFunctionTools(tools)
81
92
  : undefined;
93
+ // OLLAMA_THINK_LEVELS only contains "low"/"medium"/"high", so this
94
+ // narrows to what Ollama's own `think` type actually accepts.
95
+ const think = this.#thinkEffort === undefined
96
+ ? undefined
97
+ : this.#thinkEffort <= 0
98
+ ? false
99
+ : resolveThinkEffortLevel(this.#thinkEffort, OLLAMA_THINK_LEVELS);
100
+ const thinkParam = think !== undefined ? { think } : {};
82
101
  if (streamCallback) {
83
102
  return withRetry(async () => {
84
103
  // Per-attempt accumulators live inside this closure so a
@@ -88,20 +107,41 @@ export class OllamaProvider extends AIProvider {
88
107
  model: this.#model,
89
108
  messages: formattedMessages,
90
109
  ...(formattedTools ? { tools: formattedTools } : {}),
110
+ ...thinkParam,
91
111
  stream: true
92
112
  });
93
113
  let fullContent = "";
114
+ let fullThinking = "";
94
115
  let promptEvalCount = 0;
95
116
  let evalCount = 0;
96
117
  let toolCalls;
118
+ const emittedToolCallIds = new Set();
97
119
  for await (const chunk of stream) {
98
120
  const content = chunk.message?.content || "";
99
121
  if (content) {
100
122
  fullContent += content;
101
123
  await streamCallback({ role: "assistant", content, done: false });
102
124
  }
125
+ // Thinking-capable models stream reasoning text on
126
+ // `message.thinking`, separately from `message.content`.
127
+ const thinking = chunk.message?.thinking || "";
128
+ if (thinking) {
129
+ fullThinking += thinking;
130
+ await streamCallback({ role: "assistant", content: "", done: false, thinking });
131
+ }
103
132
  if (chunk.message?.tool_calls?.length) {
133
+ // Unlike OpenAI/DeepSeek/Anthropic, Ollama doesn't
134
+ // stream a tool call's arguments incrementally — each
135
+ // one arrives already fully formed, so it can be
136
+ // emitted the moment it's seen instead of waiting
137
+ // for the response to finish.
104
138
  toolCalls = fromOllamaToolCalls(chunk.message.tool_calls);
139
+ for (const toolCall of toolCalls ?? []) {
140
+ if (emittedToolCallIds.has(toolCall.id))
141
+ continue;
142
+ emittedToolCallIds.add(toolCall.id);
143
+ await streamCallback({ role: "assistant", content: "", done: false, toolCalls: [toolCall] });
144
+ }
105
145
  }
106
146
  if (chunk.prompt_eval_count !== undefined) {
107
147
  promptEvalCount = chunk.prompt_eval_count;
@@ -110,12 +150,13 @@ export class OllamaProvider extends AIProvider {
110
150
  evalCount = chunk.eval_count;
111
151
  }
112
152
  }
113
- await streamCallback({ role: "assistant", content: "", done: true, ...(toolCalls ? { toolCalls } : {}) });
153
+ await streamCallback({ role: "assistant", content: "", done: true });
114
154
  return {
115
155
  content: fullContent,
116
156
  inputTokens: promptEvalCount,
117
157
  outputTokens: evalCount,
118
158
  ...(toolCalls ? { toolCalls } : {}),
159
+ ...(fullThinking ? { thinking: fullThinking } : {}),
119
160
  };
120
161
  });
121
162
  }
@@ -125,12 +166,15 @@ export class OllamaProvider extends AIProvider {
125
166
  model: this.#model,
126
167
  messages: formattedMessages,
127
168
  ...(formattedTools ? { tools: formattedTools } : {}),
169
+ ...thinkParam,
128
170
  });
171
+ const thinking = response.message?.thinking;
129
172
  return {
130
173
  content: response.message?.content || "",
131
174
  inputTokens: response.prompt_eval_count || 0,
132
175
  outputTokens: response.eval_count || 0,
133
176
  ...(fromOllamaToolCalls(response.message?.tool_calls) ? { toolCalls: fromOllamaToolCalls(response.message?.tool_calls) } : {}),
177
+ ...(thinking ? { thinking } : {}),
134
178
  };
135
179
  });
136
180
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ollama-provider.js","sourceRoot":"","sources":["../../src/core/ollama-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ollama-provider.js","sourceRoot":"","sources":["../../src/core/ollama-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,uBAAuB,EAAyB,MAAM,mBAAmB,CAAC;AAEnF,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAEtC,2EAA2E;AAC3E,sEAAsE;AACtE,yEAAyE;AACzE,uEAAuE;AACvE,0DAA0D;AAC1D,MAAM,mBAAmB,GAAgC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAEnF,SAAS,gBAAgB,CAAC,QAAmB,EAAE,aAAsB;IACjE,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACtB,oEAAoE;QACpE,mEAAmE;QACnE,mEAAmE;QACnE,mEAAmE;QACnE,mEAAmE;QACnE,gCAAgC;QAChC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YACxC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QAC1D,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACtB,OAAO;gBACH,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE;gBAC1B,SAAS,EAAE,GAAG,CAAC,QAAQ;aAC1B,CAAC;QACN,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,SAAS,EAAE,MAAM,IAAI,aAAa,EAAE,CAAC;YACrE,OAAO;gBACH,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE;gBAC1B,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACjC,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE;iBACpD,CAAC,CAAC;aACN,CAAC;QACN,CAAC;QAED,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3F,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAS,CAAC,KAAK,CAAC,CAAC;YACpF,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACnF,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;IAC1D,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,mBAAmB,CAAC,SAA4B;IACrD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3D,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,GAAW,EAAE,EAAE,CAAC,CAAC;QAC5C,EAAE,EAAE,GAAG,GAAG,EAAE;QACZ,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE;QAC7B,MAAM,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE;KACvC,CAAC,CAAC,CAAC;AACR,CAAC;AAED,MAAM,OAAO,cAAe,SAAQ,UAAU;IAC1C,OAAO,CAAS;IAChB,MAAM,CAAS;IACf,kEAAkE;IAClE,oEAAoE;IACpE,sEAAsE;IACtE,wEAAwE;IACxE,sEAAsE;IACtE,cAAc,CAAU;IACxB,cAAc,CAAS;IACvB,qPAAqP;IACrP,YAAY,CAAU;IAEtB,YAAY,KAAa,EAAE,OAAe,wBAAwB,EAAE,UAAqF,EAAE;QACvJ,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC;QACrD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,IAAI,sBAAsB,CAAC;QACtE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAC5C,CAAC;IAED,eAAe;QACX,OAAO;YACH,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,cAAc,EAAE,GAAG;YACnB,gBAAgB,EAAE,IAAI;SACzB,CAAC;IACN,CAAC;IAED,KAAK,CAAC,IAAI,CACN,QAAmB,EACnB,cAA+B,EAC/B,KAAoB;QAEpB,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1E,mEAAmE;QACnE,qEAAqE;QACrE,MAAM,cAAc,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc;YACnE,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC;YAC9B,CAAC,CAAC,SAAS,CAAC;QAChB,mEAAmE;QACnE,8DAA8D;QAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,KAAK,SAAS;YACzC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC;gBACpB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAY,EAAE,mBAAmB,CAA8B,CAAC;QACvG,MAAM,UAAU,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAExD,IAAI,cAAc,EAAE,CAAC;YACjB,OAAO,SAAS,CAAC,KAAK,IAAI,EAAE;gBACxB,yDAAyD;gBACzD,4DAA4D;gBAC5D,qDAAqD;gBACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;oBACnC,KAAK,EAAE,IAAI,CAAC,MAAM;oBAClB,QAAQ,EAAE,iBAAwB;oBAClC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,GAAG,UAAU;oBACb,MAAM,EAAE,IAAI;iBACf,CAAC,CAAC;gBAEH,IAAI,WAAW,GAAG,EAAE,CAAC;gBACrB,IAAI,YAAY,GAAG,EAAE,CAAC;gBACtB,IAAI,eAAe,GAAG,CAAC,CAAC;gBACxB,IAAI,SAAS,GAAG,CAAC,CAAC;gBAClB,IAAI,SAAwC,CAAC;gBAC7C,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;gBAE7C,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;oBAC7C,IAAI,OAAO,EAAE,CAAC;wBACV,WAAW,IAAI,OAAO,CAAC;wBACvB,MAAM,cAAc,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;oBACtE,CAAC;oBAED,mDAAmD;oBACnD,yDAAyD;oBACzD,MAAM,QAAQ,GAAI,KAAK,CAAC,OAAe,EAAE,QAAQ,IAAI,EAAE,CAAC;oBACxD,IAAI,QAAQ,EAAE,CAAC;wBACX,YAAY,IAAI,QAAQ,CAAC;wBACzB,MAAM,cAAc,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACpF,CAAC;oBAED,IAAI,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;wBACpC,mDAAmD;wBACnD,sDAAsD;wBACtD,iDAAiD;wBACjD,kDAAkD;wBAClD,8BAA8B;wBAC9B,SAAS,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,UAAiB,CAAC,CAAC;wBACjE,KAAK,MAAM,QAAQ,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;4BACrC,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gCAAE,SAAS;4BAClD,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;4BACpC,MAAM,cAAc,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACjG,CAAC;oBACL,CAAC;oBAED,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;wBACxC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC;oBAC9C,CAAC;oBACD,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;wBACjC,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC;oBACjC,CAAC;gBACL,CAAC;gBAED,MAAM,cAAc,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrE,OAAO;oBACH,OAAO,EAAE,WAAW;oBACpB,WAAW,EAAE,eAAe;oBAC5B,YAAY,EAAE,SAAS;oBACvB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACtD,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,OAAO,SAAS,CAAC,KAAK,IAAI,EAAE;gBACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;oBACrC,KAAK,EAAE,IAAI,CAAC,MAAM;oBAClB,QAAQ,EAAE,iBAAwB;oBAClC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,GAAG,UAAU;iBAChB,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAI,QAAQ,CAAC,OAAe,EAAE,QAAQ,CAAC;gBAErD,OAAO;oBACH,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE;oBACxC,WAAW,EAAE,QAAQ,CAAC,iBAAiB,IAAI,CAAC;oBAC5C,YAAY,EAAE,QAAQ,CAAC,UAAU,IAAI,CAAC;oBACtC,GAAG,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,mBAAmB,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5I,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpC,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;CACJ;AAED,eAAe,cAAc,CAAC"}
@@ -7,6 +7,7 @@ export declare class OpenAIProvider extends AIProvider {
7
7
  supportsImages?: boolean;
8
8
  contextWindow?: number;
9
9
  baseURL?: string;
10
+ thinkEffort?: number;
10
11
  });
11
12
  getCapabilities(): ProviderCapabilities;
12
13
  chat(messages: Message[], streamCallback?: StreamCallback, tools?: ToolSchema[]): Promise<ChatResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"openai-provider.d.ts","sourceRoot":"","sources":["../../src/core/openai-provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAmB,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACjI,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAwE1C,qBAAa,cAAe,SAAQ,UAAU;;gBAO9B,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,MAAgB,EAAE,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO;IAYlK,eAAe,IAAI,oBAAoB;IASjC,IAAI,CACN,QAAQ,EAAE,OAAO,EAAE,EACnB,cAAc,CAAC,EAAE,cAAc,EAC/B,KAAK,CAAC,EAAE,UAAU,EAAE,GACrB,OAAO,CAAC,YAAY,CAAC;CAqF3B;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"openai-provider.d.ts","sourceRoot":"","sources":["../../src/core/openai-provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAmB,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACjI,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAsF1C,qBAAa,cAAe,SAAQ,UAAU;;gBAS9B,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,MAAgB,EAAE,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO;IAaxL,eAAe,IAAI,oBAAoB;IAUjC,IAAI,CACN,QAAQ,EAAE,OAAO,EAAE,EACnB,cAAc,CAAC,EAAE,cAAc,EAC/B,KAAK,CAAC,EAAE,UAAU,EAAE,GACrB,OAAO,CAAC,YAAY,CAAC;CAqH3B;AAED,eAAe,cAAc,CAAC"}
@@ -2,6 +2,18 @@ import OpenAI from "openai";
2
2
  import AIProvider from "./ai-provider.js";
3
3
  import { toOpenAIFunctionTools } from "./tool-schema-translator.js";
4
4
  import { withRetry } from "./retry.js";
5
+ import { resolveThinkEffortLevel } from "./think-effort.js";
6
+ // Only OpenAI's reasoning-capable model families accept `reasoning_effort`
7
+ // at all — sending it to a non-reasoning model errors, so `thinkEffort` is
8
+ // silently ignored for anything outside this list. Chat Completions never
9
+ // exposes the reasoning text itself (unlike DeepSeek/Anthropic/Ollama), so
10
+ // there is no streamed `thinking` output for OpenAI even when this
11
+ // param is honored server-side.
12
+ const REASONING_MODEL_PREFIXES = ["o1", "o3", "o4", "gpt-5"];
13
+ const OPENAI_THINK_LEVELS = ["low", "medium", "high"];
14
+ function isReasoningModel(model) {
15
+ return REASONING_MODEL_PREFIXES.some(prefix => model.startsWith(prefix));
16
+ }
5
17
  const MODEL_CONTEXT_WINDOWS = {
6
18
  "gpt-5": 400_000,
7
19
  "gpt-5-mini": 400_000,
@@ -71,6 +83,8 @@ export class OpenAIProvider extends AIProvider {
71
83
  #supportsTools;
72
84
  #supportsImages;
73
85
  #contextWindow;
86
+ /** Universal 0-1 thinking effort — see src/core/think-effort.ts. Ignored unless the model is reasoning-capable (see isReasoningModel). */
87
+ #thinkEffort;
74
88
  constructor(apiKey, model = "gpt-5", options = {}) {
75
89
  super();
76
90
  this.#client = new OpenAI({
@@ -81,6 +95,7 @@ export class OpenAIProvider extends AIProvider {
81
95
  this.#supportsTools = options.supportsTools ?? true;
82
96
  this.#supportsImages = options.supportsImages ?? !NO_IMAGE_MODELS.has(model);
83
97
  this.#contextWindow = options.contextWindow ?? MODEL_CONTEXT_WINDOWS[model] ?? DEFAULT_CONTEXT_WINDOW;
98
+ this.#thinkEffort = options.thinkEffort;
84
99
  }
85
100
  getCapabilities() {
86
101
  return {
@@ -88,6 +103,7 @@ export class OpenAIProvider extends AIProvider {
88
103
  supportsImages: this.#supportsImages,
89
104
  contextWindow: this.#contextWindow,
90
105
  safeUsageRatio: 0.5,
106
+ supportsThinking: false,
91
107
  };
92
108
  }
93
109
  async chat(messages, streamCallback, tools) {
@@ -95,6 +111,10 @@ export class OpenAIProvider extends AIProvider {
95
111
  const formattedTools = tools && tools.length > 0 && this.#supportsTools
96
112
  ? toOpenAIFunctionTools(tools)
97
113
  : undefined;
114
+ const thinkLevel = isReasoningModel(this.#model)
115
+ ? resolveThinkEffortLevel(this.#thinkEffort, OPENAI_THINK_LEVELS)
116
+ : undefined;
117
+ const thinkParam = thinkLevel !== undefined ? { reasoning_effort: thinkLevel } : {};
98
118
  if (streamCallback) {
99
119
  return withRetry(async () => {
100
120
  // Per-attempt accumulators live inside this closure so a
@@ -104,6 +124,7 @@ export class OpenAIProvider extends AIProvider {
104
124
  model: this.#model,
105
125
  messages: formattedMessages,
106
126
  ...(formattedTools ? { tools: formattedTools } : {}),
127
+ ...thinkParam,
107
128
  stream: true,
108
129
  stream_options: { include_usage: true },
109
130
  });
@@ -111,6 +132,30 @@ export class OpenAIProvider extends AIProvider {
111
132
  let inputTokens = 0;
112
133
  let outputTokens = 0;
113
134
  const toolCallChunks = {};
135
+ // OpenAI streams tool calls sequentially, one index at a
136
+ // time, with no explicit "this call is done" event — the
137
+ // only signal is the next call's first delta (carrying a
138
+ // fresh `id`) starting to arrive. So: whenever a new index
139
+ // shows up, the previously-active one must be finished;
140
+ // finalize and emit it then. The very last call in the
141
+ // response has no "next" index to trigger on, so it's
142
+ // finalized after the loop ends instead.
143
+ const emittedIndices = new Set();
144
+ let activeIndex;
145
+ const finalizeAndEmit = async (idx) => {
146
+ if (emittedIndices.has(idx))
147
+ return;
148
+ emittedIndices.add(idx);
149
+ const tc = toolCallChunks[idx];
150
+ let inputs = {};
151
+ try {
152
+ inputs = JSON.parse(tc.arguments || "{}");
153
+ }
154
+ catch {
155
+ inputs = {};
156
+ }
157
+ await streamCallback({ role: "assistant", content: "", done: false, toolCalls: [{ id: tc.id || "", name: tc.name || "", inputs }] });
158
+ };
114
159
  for await (const chunk of stream) {
115
160
  const delta = chunk.choices[0]?.delta;
116
161
  const content = delta?.content || "";
@@ -121,6 +166,9 @@ export class OpenAIProvider extends AIProvider {
121
166
  if (delta?.tool_calls) {
122
167
  for (const tc of delta.tool_calls) {
123
168
  const idx = tc.index ?? 0;
169
+ if (tc.id && activeIndex !== undefined && activeIndex !== idx) {
170
+ await finalizeAndEmit(activeIndex);
171
+ }
124
172
  if (!toolCallChunks[idx])
125
173
  toolCallChunks[idx] = { arguments: "" };
126
174
  if (tc.id)
@@ -129,6 +177,7 @@ export class OpenAIProvider extends AIProvider {
129
177
  toolCallChunks[idx].name = tc.function.name;
130
178
  if (tc.function?.arguments)
131
179
  toolCallChunks[idx].arguments += tc.function.arguments;
180
+ activeIndex = idx;
132
181
  }
133
182
  }
134
183
  if (chunk.usage) {
@@ -136,6 +185,9 @@ export class OpenAIProvider extends AIProvider {
136
185
  outputTokens = chunk.usage.completion_tokens || 0;
137
186
  }
138
187
  }
188
+ if (activeIndex !== undefined) {
189
+ await finalizeAndEmit(activeIndex);
190
+ }
139
191
  const toolCalls = Object.keys(toolCallChunks).length > 0
140
192
  ? Object.values(toolCallChunks).map(tc => {
141
193
  let inputs = {};
@@ -148,7 +200,7 @@ export class OpenAIProvider extends AIProvider {
148
200
  return { id: tc.id || "", name: tc.name || "", inputs };
149
201
  })
150
202
  : undefined;
151
- await streamCallback({ role: "assistant", content: "", done: true, ...(toolCalls ? { toolCalls } : {}) });
203
+ await streamCallback({ role: "assistant", content: "", done: true });
152
204
  return {
153
205
  content: fullContent,
154
206
  inputTokens,
@@ -163,6 +215,7 @@ export class OpenAIProvider extends AIProvider {
163
215
  model: this.#model,
164
216
  messages: formattedMessages,
165
217
  ...(formattedTools ? { tools: formattedTools } : {}),
218
+ ...thinkParam,
166
219
  });
167
220
  const message = response.choices[0]?.message;
168
221
  const toolCalls = fromOpenAIToolCalls(message?.tool_calls);
@@ -1 +1 @@
1
- {"version":3,"file":"openai-provider.js","sourceRoot":"","sources":["../../src/core/openai-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-provider.js","sourceRoot":"","sources":["../../src/core/openai-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Every provider's native "how hard should the model think" knob uses a
3
+ * different scale (OpenAI/Ollama: low/medium/high, DeepSeek: none/low/high/max,
4
+ * Anthropic: a numeric thinking-token budget). OrbitX exposes a single
5
+ * universal 0-1 float (`thinkEffort`) on every provider's constructor
6
+ * options instead, and each provider maps it onto whatever scale it
7
+ * actually accepts via this helper. Providers/models with no thinking
8
+ * support at all simply ignore the option.
9
+ */
10
+ export type ThinkEffortLevel = "none" | "low" | "medium" | "high" | "max";
11
+ /** Clamp an arbitrary number into the valid 0-1 think-effort range. */
12
+ export declare function clampThinkEffort(effort: number): number;
13
+ /**
14
+ * Bucket a universal 0-1 think-effort value into one of a provider's
15
+ * supported levels, evenly spaced so 0 always lands on `levels[0]` and 1
16
+ * always lands on the last entry. Returns undefined when no effort was
17
+ * requested, so callers can distinguish "not set" from "set to the lowest
18
+ * level" and omit the native param entirely in the former case.
19
+ */
20
+ export declare function resolveThinkEffortLevel(effort: number | undefined, levels: readonly ThinkEffortLevel[]): ThinkEffortLevel | undefined;
21
+ //# sourceMappingURL=think-effort.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"think-effort.d.ts","sourceRoot":"","sources":["../../src/core/think-effort.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAE1E,uEAAuE;AACvE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GACpC,gBAAgB,GAAG,SAAS,CAK9B"}
@@ -0,0 +1,19 @@
1
+ /** Clamp an arbitrary number into the valid 0-1 think-effort range. */
2
+ export function clampThinkEffort(effort) {
3
+ return Math.max(0, Math.min(1, effort));
4
+ }
5
+ /**
6
+ * Bucket a universal 0-1 think-effort value into one of a provider's
7
+ * supported levels, evenly spaced so 0 always lands on `levels[0]` and 1
8
+ * always lands on the last entry. Returns undefined when no effort was
9
+ * requested, so callers can distinguish "not set" from "set to the lowest
10
+ * level" and omit the native param entirely in the former case.
11
+ */
12
+ export function resolveThinkEffortLevel(effort, levels) {
13
+ if (effort === undefined || levels.length === 0)
14
+ return undefined;
15
+ const clamped = clampThinkEffort(effort);
16
+ const index = Math.round(clamped * (levels.length - 1));
17
+ return levels[index];
18
+ }
19
+ //# sourceMappingURL=think-effort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"think-effort.js","sourceRoot":"","sources":["../../src/core/think-effort.ts"],"names":[],"mappings":"AAWA,uEAAuE;AACvE,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACnC,MAA0B,EAC1B,MAAmC;IAEnC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAClE,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC"}
@@ -0,0 +1,43 @@
1
+ import BaseAgent from "./base-agent.js";
2
+ /**
3
+ * Per-task-type fit score for a WorkerAgent, e.g. `{ backend: 9, frontend: 4,
4
+ * "3d-web": 10 }`. Keys are free-form task-type labels chosen by whoever
5
+ * builds the roster; there's no fixed enum since "what counts as a task
6
+ * type" is app-specific. Convention (not enforced): 0-10, higher is a
7
+ * better fit. AgentListTool hands this straight to the hiring agent so it
8
+ * can judge which worker fits a given task.
9
+ */
10
+ export type WorkerAgentRating = Record<string, number>;
11
+ /**
12
+ * EXPERIMENTAL: this class, and the agent-management tools built on it
13
+ * (src/tools/agent/), are new and still settling — names and behavior may
14
+ * change in a future release.
15
+ *
16
+ * A BaseAgent with an identity a *hiring* agent can reason about — name,
17
+ * description (persona/specialty), and a rating per task type — so it can
18
+ * be listed, compared against other workers, and hired via the tools in
19
+ * `src/tools/agent/` (see AgentTools()). Everything about running it (tool
20
+ * dispatch, memory, streaming) is unchanged from BaseAgent; WorkerAgent only
21
+ * adds metadata on top.
22
+ *
23
+ * Like BaseAgent, this is a raw building block: you still bring your own
24
+ * `mcpClient`/`allowedTools`. If you want this worker to be able to report
25
+ * back to whoever hired it, include AgentReportTool() (from
26
+ * `src/tools/agent/`) in its own tools, same as any other tool.
27
+ */
28
+ export declare class WorkerAgent extends BaseAgent {
29
+ #private;
30
+ constructor({ name, description, rating, ...baseAgentOptions }: {
31
+ /** Unique identifier used by AgentTools() to hire/prompt this worker — must be unique across whatever roster it's included in. */
32
+ name: string;
33
+ /** Persona/specialty shown to the hiring agent via agent-list — what this worker is good at, written for the model to judge fit from, not just a human label. */
34
+ description: string;
35
+ /** Per-task-type fit score — see WorkerAgentRating. Defaults to empty (no stated specialty). */
36
+ rating?: WorkerAgentRating;
37
+ } & ConstructorParameters<typeof BaseAgent>[0]);
38
+ getName(): string;
39
+ getDescription(): string;
40
+ getRating(): WorkerAgentRating;
41
+ }
42
+ export default WorkerAgent;
43
+ //# sourceMappingURL=worker-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-agent.d.ts","sourceRoot":"","sources":["../../src/core/worker-agent.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,iBAAiB,CAAC;AAExC;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEvD;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,WAAY,SAAQ,SAAS;;gBAK1B,EACR,IAAI,EACJ,WAAW,EACX,MAAW,EACX,GAAG,gBAAgB,EACtB,EAAE;QACC,kIAAkI;QAClI,IAAI,EAAE,MAAM,CAAC;QACb,iKAAiK;QACjK,WAAW,EAAE,MAAM,CAAC;QACpB,gGAAgG;QAChG,MAAM,CAAC,EAAE,iBAAiB,CAAC;KAC9B,GAAG,qBAAqB,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IAO9C,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIxB,SAAS,IAAI,iBAAiB;CAGjC;AAED,eAAe,WAAW,CAAC"}
@@ -0,0 +1,40 @@
1
+ import BaseAgent from "./base-agent.js";
2
+ /**
3
+ * EXPERIMENTAL: this class, and the agent-management tools built on it
4
+ * (src/tools/agent/), are new and still settling — names and behavior may
5
+ * change in a future release.
6
+ *
7
+ * A BaseAgent with an identity a *hiring* agent can reason about — name,
8
+ * description (persona/specialty), and a rating per task type — so it can
9
+ * be listed, compared against other workers, and hired via the tools in
10
+ * `src/tools/agent/` (see AgentTools()). Everything about running it (tool
11
+ * dispatch, memory, streaming) is unchanged from BaseAgent; WorkerAgent only
12
+ * adds metadata on top.
13
+ *
14
+ * Like BaseAgent, this is a raw building block: you still bring your own
15
+ * `mcpClient`/`allowedTools`. If you want this worker to be able to report
16
+ * back to whoever hired it, include AgentReportTool() (from
17
+ * `src/tools/agent/`) in its own tools, same as any other tool.
18
+ */
19
+ export class WorkerAgent extends BaseAgent {
20
+ #name;
21
+ #description;
22
+ #rating;
23
+ constructor({ name, description, rating = {}, ...baseAgentOptions }) {
24
+ super(baseAgentOptions);
25
+ this.#name = name;
26
+ this.#description = description;
27
+ this.#rating = rating;
28
+ }
29
+ getName() {
30
+ return this.#name;
31
+ }
32
+ getDescription() {
33
+ return this.#description;
34
+ }
35
+ getRating() {
36
+ return this.#rating;
37
+ }
38
+ }
39
+ export default WorkerAgent;
40
+ //# sourceMappingURL=worker-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-agent.js","sourceRoot":"","sources":["../../src/core/worker-agent.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,iBAAiB,CAAC;AAYxC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,WAAY,SAAQ,SAAS;IACtC,KAAK,CAAS;IACd,YAAY,CAAS;IACrB,OAAO,CAAoB;IAE3B,YAAY,EACR,IAAI,EACJ,WAAW,EACX,MAAM,GAAG,EAAE,EACX,GAAG,gBAAgB,EAQuB;QAC1C,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,cAAc;QACV,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CACJ;AAED,eAAe,WAAW,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export { AIProvider } from "./core/ai-provider.js";
2
2
  export type { ChatResponse, Message, StreamCallback, ToolSchema, ToolCallRequest, MessageContentPart, ProviderCapabilities } from "./core/ai-provider.js";
3
+ export { resolveThinkEffortLevel, clampThinkEffort } from "./core/think-effort.js";
4
+ export type { ThinkEffortLevel } from "./core/think-effort.js";
3
5
  export { BaseAgent } from "./core/base-agent.js";
4
6
  export type { ExtractedSegment, ParsedToolCall } from "./core/base-agent.js";
5
7
  export { DeepSeekProvider } from "./core/deepseek-provider.js";
@@ -16,6 +18,7 @@ export { OllamaProvider } from "./core/ollama-provider.js";
16
18
  export { Skill } from "./core/skill.js";
17
19
  export { MCPComputer } from "./core/mcp-computer.js";
18
20
  export { ImageDescriber } from "./core/image-describer.js";
21
+ export type { ImageDescription } from "./core/image-describer.js";
19
22
  export { toOpenAIFunctionTools } from "./core/tool-schema-translator.js";
20
23
  export { resolveAgentProviders } from "./core/agent-providers.js";
21
24
  export type { AgentProviderRole, AgentProviderEntry, AgentProvidersInput, ResolvedAgentProviders } from "./core/agent-providers.js";
@@ -24,7 +27,11 @@ export { MCPStorage } from "./core/mcp-storage.js";
24
27
  export { MCPFSStorage } from "./core/mcp-fs-storage.js";
25
28
  export { MCPFilter } from "./core/mcp-filter.js";
26
29
  export { SimpleAgent } from "./templates/simple.js";
27
- export { GetCurrentTimeTool, DelayTool, UtilTools } from "./tools/utils/index.js";
30
+ export { WorkerAgent } from "./core/worker-agent.js";
31
+ export type { WorkerAgentRating } from "./core/worker-agent.js";
32
+ export { AgentTools, AgentListTool, AgentHireTool, AgentPromptTool, AgentReportTool, AgentRegistry, AgentInteraction, } from "./tools/agent/index.js";
33
+ export type { AgentInfo, AgentEvent, AgentToolsOptions } from "./tools/agent/index.js";
34
+ export { GetCurrentTimeTool, DelayTool, ReadImageTool, UtilTools } from "./tools/utils/index.js";
28
35
  export { TodoCreateListTool, TodoRemoveListTool, TodoGetListsTool, TodoGetListTool, TodoCreateTaskTool, TodoRemoveTaskTool, TodoCheckTaskTool, TodoTools, TodoInteraction, } from "./tools/todo/index.js";
29
36
  export type { TodoTask, TodoList, TodoEvent } from "./tools/todo/index.js";
30
37
  export { BrowserCreateSessionTool, BrowserRemoveSessionTool, BrowserGetSessionsTool, BrowserNavigateTool, BrowserConsoleTool, BrowserInjectTool, BrowserReadTool, BrowserClickTool, BrowserFillTool, BrowserScrollInfoTool, BrowserScrollTool, BrowserNetworkStatusTool, BrowserNetworkTool, BrowserSubmitFormTool, BrowserScreenshotTool, BrowserTools, BrowserInteraction, } from "./tools/browser/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export { AIProvider } from "./core/ai-provider.js";
2
+ export { resolveThinkEffortLevel, clampThinkEffort } from "./core/think-effort.js";
2
3
  export { BaseAgent } from "./core/base-agent.js";
3
4
  export { DeepSeekProvider } from "./core/deepseek-provider.js";
4
5
  export { OpenAIProvider } from "./core/openai-provider.js";
@@ -20,7 +21,9 @@ export { MCPStorage } from "./core/mcp-storage.js";
20
21
  export { MCPFSStorage } from "./core/mcp-fs-storage.js";
21
22
  export { MCPFilter } from "./core/mcp-filter.js";
22
23
  export { SimpleAgent } from "./templates/simple.js";
23
- export { GetCurrentTimeTool, DelayTool, UtilTools } from "./tools/utils/index.js";
24
+ export { WorkerAgent } from "./core/worker-agent.js";
25
+ export { AgentTools, AgentListTool, AgentHireTool, AgentPromptTool, AgentReportTool, AgentRegistry, AgentInteraction, } from "./tools/agent/index.js";
26
+ export { GetCurrentTimeTool, DelayTool, ReadImageTool, UtilTools } from "./tools/utils/index.js";
24
27
  export { TodoCreateListTool, TodoRemoveListTool, TodoGetListsTool, TodoGetListTool, TodoCreateTaskTool, TodoRemoveTaskTool, TodoCheckTaskTool, TodoTools, TodoInteraction, } from "./tools/todo/index.js";
25
28
  export { BrowserCreateSessionTool, BrowserRemoveSessionTool, BrowserGetSessionsTool, BrowserNavigateTool, BrowserConsoleTool, BrowserInjectTool, BrowserReadTool, BrowserClickTool, BrowserFillTool, BrowserScrollInfoTool, BrowserScrollTool, BrowserNetworkStatusTool, BrowserNetworkTool, BrowserSubmitFormTool, BrowserScreenshotTool, BrowserTools, BrowserInteraction, } from "./tools/browser/index.js";
26
29
  export { FsReadFileTool, FsWriteFileTool, FsEditFileTool, FsListDirTool, FsCreateDirTool, FsDeleteTool, FsMoveTool, FsStatTool, FsTools, FsInteraction, } from "./tools/fs/index.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,8 @@ export declare class SimpleAgent extends BaseAgent {
20
20
  currentInputMissTokens: number;
21
21
  currentInputHitTokens: number;
22
22
  currentOutputTokens: number;
23
+ imageInputMissTokens?: number;
24
+ imageOutputTokens?: number;
23
25
  };
24
26
  });
25
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"simple.d.ts","sourceRoot":"","sources":["../../src/templates/simple.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AACrD,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAI1C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAE1C,qBAAa,WAAY,SAAQ,SAAS;gBAC1B,EACR,UAAU,EACV,WAAgB,EAChB,KAAU,EACV,MAAW,EACX,gBAAwB,EACxB,QAUC,EACJ,EAAE;QACC,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,UAAU,EAAE,UAAU,CAAC;QACvB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;QACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,EAAE;YACP,MAAM,EAAE,MAAM,CAAC;YACf,YAAY,EAAE,OAAO,EAAE,CAAC;YACxB,mBAAmB,EAAE,MAAM,CAAC;YAC5B,kBAAkB,EAAE,MAAM,CAAC;YAC3B,gBAAgB,EAAE,MAAM,CAAC;YACzB,eAAe,EAAE,OAAO,EAAE,CAAC;YAC3B,sBAAsB,EAAE,MAAM,CAAC;YAC/B,qBAAqB,EAAE,MAAM,CAAC;YAC9B,mBAAmB,EAAE,MAAM,CAAC;SAC/B,CAAA;KACJ;CAsBJ;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"simple.d.ts","sourceRoot":"","sources":["../../src/templates/simple.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AACrD,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAI1C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAE1C,qBAAa,WAAY,SAAQ,SAAS;gBAC1B,EACR,UAAU,EACV,WAAgB,EAChB,KAAU,EACV,MAAW,EACX,gBAAwB,EACxB,QAUC,EACJ,EAAE;QACC,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,UAAU,EAAE,UAAU,CAAC;QACvB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;QACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,EAAE;YACP,MAAM,EAAE,MAAM,CAAC;YACf,YAAY,EAAE,OAAO,EAAE,CAAC;YACxB,mBAAmB,EAAE,MAAM,CAAC;YAC5B,kBAAkB,EAAE,MAAM,CAAC;YAC3B,gBAAgB,EAAE,MAAM,CAAC;YACzB,eAAe,EAAE,OAAO,EAAE,CAAC;YAC3B,sBAAsB,EAAE,MAAM,CAAC;YAC/B,qBAAqB,EAAE,MAAM,CAAC;YAC9B,mBAAmB,EAAE,MAAM,CAAC;YAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;SAC9B,CAAA;KACJ;CAsBJ;AAED,eAAe,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"simple.js","sourceRoot":"","sources":["../../src/templates/simple.ts"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAE9C,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAG9C,MAAM,OAAO,WAAY,SAAQ,SAAS;IACtC,YAAY,EACR,UAAU,EACV,WAAW,GAAG,EAAE,EAChB,KAAK,GAAG,EAAE,EACV,MAAM,GAAG,EAAE,EACX,gBAAgB,GAAG,KAAK,EACxB,QAAQ,GAAG;QACP,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,EAAE;QAChB,mBAAmB,EAAE,CAAC;QACtB,kBAAkB,EAAE,CAAC;QACrB,gBAAgB,EAAE,CAAC;QACnB,eAAe,EAAE,EAAE;QACnB,sBAAsB,EAAE,CAAC;QACzB,qBAAqB,EAAE,CAAC;QACxB,mBAAmB,EAAE,CAAC;KACzB,EAkBJ;QACG,MAAM,IAAI,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QACtC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACjB,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACjG,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACrD,KAAK,CAAC;YACF,UAAU;YACV,WAAW;YACX,SAAS;YACT,YAAY,EAAE,KAAK;YACnB,MAAM;YACN,gBAAgB;YAChB,QAAQ;SACX,CAAC,CAAC;IACP,CAAC;CACJ;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"simple.js","sourceRoot":"","sources":["../../src/templates/simple.ts"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAE9C,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAG9C,MAAM,OAAO,WAAY,SAAQ,SAAS;IACtC,YAAY,EACR,UAAU,EACV,WAAW,GAAG,EAAE,EAChB,KAAK,GAAG,EAAE,EACV,MAAM,GAAG,EAAE,EACX,gBAAgB,GAAG,KAAK,EACxB,QAAQ,GAAG;QACP,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,EAAE;QAChB,mBAAmB,EAAE,CAAC;QACtB,kBAAkB,EAAE,CAAC;QACrB,gBAAgB,EAAE,CAAC;QACnB,eAAe,EAAE,EAAE;QACnB,sBAAsB,EAAE,CAAC;QACzB,qBAAqB,EAAE,CAAC;QACxB,mBAAmB,EAAE,CAAC;KACzB,EAoBJ;QACG,MAAM,IAAI,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QACtC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACjB,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACjG,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACrD,KAAK,CAAC;YACF,UAAU;YACV,WAAW;YACX,SAAS;YACT,YAAY,EAAE,KAAK;YACnB,MAAM;YACN,gBAAgB;YAChB,QAAQ;SACX,CAAC,CAAC;IACP,CAAC;CACJ;AAED,eAAe,WAAW,CAAC"}
@@ -4,4 +4,5 @@ import "./core/mcp-ipc-connection.test.js";
4
4
  import "./core/mcp-ws-connection.test.js";
5
5
  import "./tools/utils/delay.test.js";
6
6
  import "./tools/utils/get-current-time.test.js";
7
+ import "./tools/agent/agent-tools.test.js";
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tests/index.ts"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAC;AACrC,OAAO,+BAA+B,CAAC;AACvC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,kCAAkC,CAAC;AAG1C,OAAO,6BAA6B,CAAC;AACrC,OAAO,wCAAwC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tests/index.ts"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAC;AACrC,OAAO,+BAA+B,CAAC;AACvC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,kCAAkC,CAAC;AAG1C,OAAO,6BAA6B,CAAC;AACrC,OAAO,wCAAwC,CAAC;AAChD,OAAO,mCAAmC,CAAC"}
@@ -4,4 +4,5 @@ import "./core/mcp-ipc-connection.test.js";
4
4
  import "./core/mcp-ws-connection.test.js";
5
5
  import "./tools/utils/delay.test.js";
6
6
  import "./tools/utils/get-current-time.test.js";
7
+ import "./tools/agent/agent-tools.test.js";
7
8
  //# sourceMappingURL=index.js.map