@alexnetrebskii/hive-agent 1.4.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent.d.ts +1 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +19 -11
- package/dist/agent.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/providers/llm/openrouter.d.ts +43 -0
- package/dist/providers/llm/openrouter.d.ts.map +1 -0
- package/dist/providers/llm/openrouter.js +281 -0
- package/dist/providers/llm/openrouter.js.map +1 -0
- package/dist/providers/workspace/file.d.ts +12 -6
- package/dist/providers/workspace/file.d.ts.map +1 -1
- package/dist/providers/workspace/file.js +99 -20
- package/dist/providers/workspace/file.js.map +1 -1
- package/dist/providers/workspace/memory.d.ts +18 -5
- package/dist/providers/workspace/memory.d.ts.map +1 -1
- package/dist/providers/workspace/memory.js +126 -8
- package/dist/providers/workspace/memory.js.map +1 -1
- package/dist/providers/workspace/types.d.ts +10 -10
- package/dist/providers/workspace/types.d.ts.map +1 -1
- package/dist/providers/workspace/types.js +2 -2
- package/dist/providers/workspace/workspace-provider.test.js +161 -179
- package/dist/providers/workspace/workspace-provider.test.js.map +1 -1
- package/dist/shell/commands/cat.d.ts.map +1 -1
- package/dist/shell/commands/cat.js +70 -9
- package/dist/shell/commands/cat.js.map +1 -1
- package/dist/shell/commands/find.js +5 -5
- package/dist/shell/commands/find.js.map +1 -1
- package/dist/shell/commands/grep.d.ts.map +1 -1
- package/dist/shell/commands/grep.js +36 -12
- package/dist/shell/commands/grep.js.map +1 -1
- package/dist/shell/commands/head.d.ts.map +1 -1
- package/dist/shell/commands/head.js +10 -4
- package/dist/shell/commands/head.js.map +1 -1
- package/dist/shell/commands/jq.js +1 -1
- package/dist/shell/commands/jq.js.map +1 -1
- package/dist/shell/commands/ls.js +4 -4
- package/dist/shell/commands/ls.js.map +1 -1
- package/dist/shell/commands/mkdir.js +2 -2
- package/dist/shell/commands/mkdir.js.map +1 -1
- package/dist/shell/commands/rm.js +4 -4
- package/dist/shell/commands/rm.js.map +1 -1
- package/dist/shell/commands/tail.d.ts.map +1 -1
- package/dist/shell/commands/tail.js +10 -4
- package/dist/shell/commands/tail.js.map +1 -1
- package/dist/shell/index.d.ts +0 -1
- package/dist/shell/index.d.ts.map +1 -1
- package/dist/shell/index.js +0 -1
- package/dist/shell/index.js.map +1 -1
- package/dist/shell/limits.d.ts +5 -0
- package/dist/shell/limits.d.ts.map +1 -0
- package/dist/shell/limits.js +5 -0
- package/dist/shell/limits.js.map +1 -0
- package/dist/shell/shell.d.ts +5 -7
- package/dist/shell/shell.d.ts.map +1 -1
- package/dist/shell/shell.js +7 -11
- package/dist/shell/shell.js.map +1 -1
- package/dist/shell/shell.test.js +164 -46
- package/dist/shell/shell.test.js.map +1 -1
- package/dist/shell/types.d.ts +2 -12
- package/dist/shell/types.d.ts.map +1 -1
- package/dist/tools/shell.d.ts.map +1 -1
- package/dist/tools/shell.js +26 -1
- package/dist/tools/shell.js.map +1 -1
- package/dist/tools/sub-agent.d.ts.map +1 -1
- package/dist/tools/sub-agent.js +2 -0
- package/dist/tools/sub-agent.js.map +1 -1
- package/dist/tools/tasks.d.ts +1 -1
- package/dist/tools/tasks.d.ts.map +1 -1
- package/dist/tools/tasks.js +2 -2
- package/dist/tools/tasks.js.map +1 -1
- package/dist/trace/index.d.ts +1 -0
- package/dist/trace/index.d.ts.map +1 -1
- package/dist/trace/index.js +1 -0
- package/dist/trace/index.js.map +1 -1
- package/dist/trace/openrouter-pricing.d.ts +9 -0
- package/dist/trace/openrouter-pricing.d.ts.map +1 -0
- package/dist/trace/openrouter-pricing.js +321 -0
- package/dist/trace/openrouter-pricing.js.map +1 -0
- package/dist/trace/pricing.d.ts.map +1 -1
- package/dist/trace/pricing.js +3 -0
- package/dist/trace/pricing.js.map +1 -1
- package/dist/workspace.d.ts +18 -38
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +46 -108
- package/dist/workspace.js.map +1 -1
- package/package.json +1 -1
- package/dist/shell/fs.d.ts +0 -31
- package/dist/shell/fs.d.ts.map +0 -1
- package/dist/shell/fs.js +0 -161
- package/dist/shell/fs.js.map +0 -1
package/dist/agent.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import type { HiveConfig, RunOptions, AgentResult } from "./types.js";
|
|
|
7
7
|
import { TraceBuilder } from "./trace.js";
|
|
8
8
|
/** Path where the plan is stored in workspace */
|
|
9
9
|
export declare const PLAN_PATH = ".hive/plan.md";
|
|
10
|
-
/** Full filesystem path for the plan
|
|
10
|
+
/** Full filesystem path for the plan */
|
|
11
11
|
export declare const PLAN_FS_PATH = "/.hive/plan.md";
|
|
12
12
|
/**
|
|
13
13
|
* Hive Agent Class
|
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,UAAU,EAGV,UAAU,EACV,WAAW,EAEZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAa1C,iDAAiD;AACjD,eAAO,MAAM,SAAS,kBAAkB,CAAC;AAEzC,
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,UAAU,EAGV,UAAU,EACV,WAAW,EAEZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAa1C,iDAAiD;AACjD,eAAO,MAAM,SAAS,kBAAkB,CAAC;AAEzC,wCAAwC;AACxC,eAAO,MAAM,YAAY,mBAAkB,CAAC;AA4C5C;;GAEG;AACH,qBAAa,IAAI;IACf,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,KAAK,CAAS;IACtB,yEAAyE;IACzE,OAAO,CAAC,mBAAmB,CAAC,CAAe;gBAE/B,MAAM,EAAE,UAAU;IAiD9B;;OAEG;IACH,sBAAsB,IAAI,YAAY,GAAG,SAAS;IAIlD;;OAEG;IACH,sBAAsB,CAAC,OAAO,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI;IAI/D;;;OAGG;IACH,OAAO,CAAC,WAAW;IA6DnB;;OAEG;IACG,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,WAAW,CAAC;CAiO3E"}
|
package/dist/agent.js
CHANGED
|
@@ -12,7 +12,7 @@ import { createAskUserTool, createTaskTool as createSubAgentTool, TaskManager, c
|
|
|
12
12
|
import { getBuiltInAgents } from "./built-in-agents/index.js";
|
|
13
13
|
/** Path where the plan is stored in workspace */
|
|
14
14
|
export const PLAN_PATH = ".hive/plan.md";
|
|
15
|
-
/** Full filesystem path for the plan
|
|
15
|
+
/** Full filesystem path for the plan */
|
|
16
16
|
export const PLAN_FS_PATH = `/${PLAN_PATH}`;
|
|
17
17
|
/** System prompt prepended in plan mode */
|
|
18
18
|
const PLAN_MODE_INSTRUCTIONS = `# Plan Mode
|
|
@@ -76,11 +76,19 @@ export class Hive {
|
|
|
76
76
|
if (!config.disableAskUser) {
|
|
77
77
|
this.tools.push(createAskUserTool());
|
|
78
78
|
}
|
|
79
|
-
// Auto-merge built-in agents
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
79
|
+
// Auto-merge built-in agents only when agents is not explicitly set.
|
|
80
|
+
// If agents is explicitly provided (even as []), respect that — no auto-injection.
|
|
81
|
+
// This prevents sub-agents from recursively spawning their own sub-agents.
|
|
82
|
+
if (!('agents' in config)) {
|
|
83
|
+
const builtIn = getBuiltInAgents();
|
|
84
|
+
this.config.agents = [...builtIn];
|
|
85
|
+
}
|
|
86
|
+
else if (config.agents && config.agents.length > 0) {
|
|
87
|
+
const builtIn = getBuiltInAgents();
|
|
88
|
+
const userAgentNames = new Set(config.agents.map((a) => a.name));
|
|
89
|
+
const newAgents = builtIn.filter((a) => !userAgentNames.has(a.name));
|
|
90
|
+
this.config.agents = [...config.agents, ...newAgents];
|
|
91
|
+
}
|
|
84
92
|
// Add __sub_agent__ tool if sub-agents are defined
|
|
85
93
|
if (this.config.agents && this.config.agents.length > 0) {
|
|
86
94
|
this.tools.push(createSubAgentTool({
|
|
@@ -231,12 +239,12 @@ export class Hive {
|
|
|
231
239
|
const ws = workspace ?? new Workspace();
|
|
232
240
|
await ws.init();
|
|
233
241
|
// Capture existing plan content before cleanup (for prompt injection)
|
|
234
|
-
const existingPlan = ws.read(PLAN_PATH);
|
|
242
|
+
const existingPlan = await ws.read(PLAN_PATH);
|
|
235
243
|
const hasExistingPlan = !!existingPlan && typeof existingPlan === "string";
|
|
236
244
|
// Always delete old plan file — each run starts clean.
|
|
237
245
|
// The content is already captured above for prompt injection.
|
|
238
246
|
if (hasExistingPlan) {
|
|
239
|
-
ws.delete(PLAN_PATH);
|
|
247
|
+
await ws.delete(PLAN_PATH);
|
|
240
248
|
}
|
|
241
249
|
// Configure shell read-only mode based on mode option
|
|
242
250
|
const shell = ws.getShell();
|
|
@@ -253,10 +261,10 @@ export class Hive {
|
|
|
253
261
|
// On a normal run (even with conversation history), start with a clean task list.
|
|
254
262
|
const taskManager = new TaskManager();
|
|
255
263
|
if (isResuming) {
|
|
256
|
-
taskManager.restoreFromWorkspace(ws);
|
|
264
|
+
await taskManager.restoreFromWorkspace(ws);
|
|
257
265
|
}
|
|
258
266
|
else {
|
|
259
|
-
ws.delete(".hive/tasks.json");
|
|
267
|
+
await ws.delete(".hive/tasks.json");
|
|
260
268
|
}
|
|
261
269
|
// Create tool context
|
|
262
270
|
const toolContext = {
|
|
@@ -287,7 +295,7 @@ export class Hive {
|
|
|
287
295
|
}
|
|
288
296
|
// Inject workspace state snapshot so the AI knows what data exists
|
|
289
297
|
// without needing to call explore first
|
|
290
|
-
const workspaceItems = ws.list().filter((item) => !item.path.startsWith("/.hive/"));
|
|
298
|
+
const workspaceItems = (await ws.list()).filter((item) => !item.path.startsWith("/.hive/"));
|
|
291
299
|
if (workspaceItems.length > 0) {
|
|
292
300
|
const stateLines = workspaceItems.map((item) => `- ${item.path}: ${item.preview}`);
|
|
293
301
|
systemPrompt += `\n\n## Current Workspace State\n\nThe following data currently exists in workspace:\n\n${stateLines.join("\n")}\n\nUse the shell to read full contents (e.g. \`cat ${workspaceItems[0].path}\`). Do NOT recreate data that already exists — read and present it instead.`;
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EACL,iBAAiB,EACjB,cAAc,IAAI,kBAAkB,EACpC,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,iDAAiD;AACjD,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC;AAEzC,
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EACL,iBAAiB,EACjB,cAAc,IAAI,kBAAkB,EACpC,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,iDAAiD;AACjD,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC;AAEzC,wCAAwC;AACxC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,SAAS,EAAE,CAAC;AAE5C,2CAA2C;AAC3C,MAAM,sBAAsB,GAAG;;;;;;;;8CAQe,YAAY;;;;;;;;;mBASvC,YAAY;;;;;;;CAO9B,CAAC;AAEF,wEAAwE;AACxE,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,OAAO;;;;;EAKP,WAAW;;;;CAIZ,CAAC;AACF,CAAC;AAGD;;GAEG;AACH,MAAM,OAAO,IAAI;IACN,MAAM,CAAa;IACpB,cAAc,CAAiB;IAC/B,KAAK,CAAS;IACtB,yEAAyE;IACjE,mBAAmB,CAAgB;IAE3C,YAAY,MAAkB;QAC5B,IAAI,CAAC,MAAM,GAAG;YACZ,aAAa,EAAE,EAAE;YACjB,gBAAgB,EAAE,MAAM;YACxB,eAAe,EAAE,cAAc;YAC/B,GAAG,MAAM;SACV,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CACtC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC5B,IAAI,CAAC,MAAM,CAAC,eAAe,CAC5B,CAAC;QAEF,iEAAiE;QACjE,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAE/B,sEAAsE;QACtE,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACvC,CAAC;QAED,qEAAqE;QACrE,mFAAmF;QACnF,2EAA2E;QAC3E,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;YACnC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACrE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;QACxD,CAAC;QAED,mDAAmD;QACnD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,KAAK,CAAC,IAAI,CACb,kBAAkB,CAChB;gBACE,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,sBAAsB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE;aAC5D,EACD,IAAI,CAAC,MAAM,CAAC,MAAO,EACnB,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CACnC,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,sBAAsB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,OAAiC;QACtD,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;IACrC,CAAC;IAED;;;OAGG;IACK,WAAW,CACjB,WAAwB,EACxB,SAAoB,EACpB,SAAkB,EAClB,IAAyB;QAEzB,MAAM,eAAe,GAAG;YACtB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,SAAS;YACT,SAAS;SACV,CAAC;QAEF,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,iCAAiC;YACjC,MAAM,SAAS,GAAW,EAAE,CAAC;YAE7B,iCAAiC;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;YAClE,IAAI,OAAO,EAAE,CAAC;gBACZ,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;YAED,yDAAyD;YACzD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAClC,CAAC;YACF,IAAI,YAAY,EAAE,CAAC;gBACjB,4DAA4D;gBAC5D,SAAS,CAAC,IAAI,CAAC;oBACb,GAAG,YAAY;oBACf,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;wBACjC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAe,CAAC;wBAC1C,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;4BACtD,OAAO;gCACL,OAAO,EAAE,KAAK;gCACd,KAAK,EAAE,sEAAsE,UAAU,GAAG;6BAC3F,CAAC;wBACJ,CAAC;wBACD,OAAO,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBAC/C,CAAC;iBACF,CAAC,CAAC;YACL,CAAC;YAED,wDAAwD;YACxD,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;YACjE,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;YAEhE,oDAAoD;YACpD,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAEtD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,oCAAoC;QACpC,OAAO;YACL,GAAG,IAAI,CAAC,KAAK;YACb,GAAG,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC;YAChD,eAAe,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;SACtC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,OAAe,EAAE,UAAsB,EAAE;QACjD,MAAM,EACJ,cAAc,EACd,MAAM,EACN,OAAO,EAAE,eAAe,EACxB,MAAM,EACN,cAAc,EACd,SAAS,EACT,IAAI,GACL,GAAG,OAAO,CAAC;QAEZ,+CAA+C;QAC/C,IAAI,OAAO,GAAc,EAAE,CAAC;QAE5B,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,GAAG,eAAe,CAAC;QAC5B,CAAC;aAAM,IAAI,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACpD,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACpE,CAAC;QAED,4EAA4E;QAC5E,MAAM,QAAQ,GAAc,CAAC,GAAG,OAAO,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAElD,mFAAmF;QACnF,gFAAgF;QAChF,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,4EAA4E;QAC5E,IACE,WAAW,EAAE,IAAI,KAAK,WAAW;YACjC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAClC,CAAC;YACD,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAC9C,CAAC,KAAK,EAA8C,EAAE,CACpD,KAAK,CAAC,IAAI,KAAK,UAAU,CAC5B,CAAC;YAEF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,UAAU,GAAG,IAAI,CAAC;gBAElB,oCAAoC;gBACpC,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CACvC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,CACzC,CAAC;gBAEF,6CAA6C;gBAC7C,MAAM,WAAW,GACf,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC5B,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;wBACpC,+CAA+C;wBAC/C,OAAO;4BACL,IAAI,EAAE,aAAsB;4BAC5B,WAAW,EAAE,OAAO,CAAC,EAAE;4BACvB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;gCACtB,OAAO,EAAE,IAAI;gCACb,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;6BAC1B,CAAC;yBACH,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,mDAAmD;wBACnD,OAAO;4BACL,IAAI,EAAE,aAAsB;4BAC5B,WAAW,EAAE,OAAO,CAAC,EAAE;4BACvB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;gCACtB,OAAO,EAAE,KAAK;gCACd,KAAK,EAAE,iDAAiD;6BACzD,CAAC;4BACF,QAAQ,EAAE,IAAI;yBACf,CAAC;oBACJ,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEL,yEAAyE;gBACzE,2EAA2E;gBAC3E,IAAI,cAAc,EAAE,CAAC;oBACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;gBACxD,CAAC;qBAAM,CAAC;oBACN,iEAAiE;oBACjE,gDAAgD;oBAChD,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,CAAC,GAAG,WAAW,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qBACpE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,0CAA0C;gBAC1C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,sBAAsB;YACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,kEAAkE;QAClE,MAAM,EAAE,GAAG,SAAS,IAAI,IAAI,SAAS,EAAE,CAAC;QACxC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;QAEhB,sEAAsE;QACtE,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,IAAI,CAAS,SAAS,CAAC,CAAC;QACtD,MAAM,eAAe,GAAG,CAAC,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,CAAC;QAE3E,uDAAuD;QACvD,8DAA8D;QAC9D,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QAED,sDAAsD;QACtD,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,kEAAkE;YAClE,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAED,oCAAoC;QACpC,gFAAgF;QAChF,mEAAmE;QACnE,kFAAkF;QAClF,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QACtC,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,WAAW,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QAED,sBAAsB;QACtB,MAAM,WAAW,GAAgB;YAC/B,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE;YACzD,cAAc;YACd,MAAM;YACN,SAAS,EAAE,EAAE;SACd,CAAC;QAEF,uCAAuC;QACvC,yDAAyD;QACzD,6DAA6D;QAC7D,MAAM,YAAY,GAChB,OAAO,CAAC,aAAa;YACrB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;gBAChB,CAAC,CAAC,IAAI,YAAY,CACd,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,OAAO,EAChC,IAAI,CAAC,MAAM,CAAC,KAAK,EACjB,OAAO,CAAC,8BAA8B;iBACvC;gBACH,CAAC,CAAC,SAAS,CAAC,CAAC;QAEjB,uDAAuD;QACvD,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;QAE1C,oCAAoC;QACpC,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAC5C,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,YAAY,GAAG,sBAAsB,GAAG,YAAY,CAAC;QACvD,CAAC;aAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,eAAe,EAAE,CAAC;gBACpB,YAAY,GAAG,YAAY,GAAG,kBAAkB,CAAC,YAAsB,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QAED,mEAAmE;QACnE,wCAAwC;QACxC,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAC7C,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAC3C,CAAC;QACF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CACnC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,CAC5C,CAAC;YACF,YAAY,IAAI,0FAA0F,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,uDAAuD,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,8EAA8E,CAAC;QAC7R,CAAC;QAED,yBAAyB;QACzB,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B;YACE,YAAY;YACZ,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC;YACrE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAc;YACzC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,WAAW;YACX,UAAU,EAAE,EAAE;YACd,MAAM;YACN,cAAc;YACd,YAAY;SACb,EACD,QAAQ,EACR,WAAW,CACZ,CAAC;QAEF,6BAA6B;QAC7B,IAAI,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3E,CAAC;QAED,uEAAuE;QACvE,IAAI,YAAY,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3C,MAAM,MAAM,GACV,MAAM,CAAC,MAAM,KAAK,UAAU;gBAC1B,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,aAAa;oBACjC,CAAC,CAAC,aAAa;oBACf,CAAC,CAAC,UAAU,CAAC;YACjB,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChE,CAAC;QAED,uDAAuD;QACvD,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YACnD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAC/B,OAAO,EACP,OAAO,EACP,IAAI,CAAC,MAAM,EACX,MAAM,CACP,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,15 +7,16 @@ export { Hive, PLAN_PATH, PLAN_FS_PATH } from './agent.js';
|
|
|
7
7
|
export type { Message, MessageRole, ContentBlock, TextBlock, ThinkingBlock, ToolUseBlock, ToolResultBlock, Tool, ToolSchema, ToolResult, ToolContext, ToolCallLog, JSONSchema, HiveConfig, SubAgentConfig, RunOptions, AgentResult, AgentStatus, PendingQuestion, QuestionOption, EnhancedQuestion, TaskItem, TaskStatus, TaskComment, TaskProgress, TaskUpdateNotification, TodoItem, TodoStatus, TodoProgress, TodoUpdate, LLMProvider, LLMResponse, LLMOptions, StopReason, LogProvider, RepositoryProvider, ProgressUpdate, CacheUsage, ContextStrategy, SystemPromptConfig, EnvironmentInfo } from './types.js';
|
|
8
8
|
export { ClaudeProvider, type ClaudeProviderConfig } from './providers/llm/claude.js';
|
|
9
9
|
export { OpenAIProvider, type OpenAIProviderConfig } from './providers/llm/openai.js';
|
|
10
|
+
export { OpenRouterProvider, type OpenRouterProviderConfig } from './providers/llm/openrouter.js';
|
|
10
11
|
export { ConsoleLogger, type ConsoleLoggerConfig, type LogLevel } from './providers/logger/console.js';
|
|
11
12
|
export { MemoryRepository } from './providers/repository/memory.js';
|
|
12
13
|
export { estimateTokens, estimateMessageTokens, estimateTotalTokens, truncateOldMessages, sanitizeHistory, ContextManager } from './context-manager.js';
|
|
13
14
|
export { buildSystemPrompt, buildEnvironmentSection, buildRemindersSection, getCurrentEnvironment, DEFAULT_SYSTEM_PROMPT, MainAgentBuilder, SubAgentBuilder, roleSection, subAgentsTable, questionHandlingSection, directToolsSection, workspaceStorageSection, rulesSection, taskExamplesSection, subAgentRoleSection, taskSection, workflowSection, guidelinesSection, outputSection, type SubAgentDef, type ToolDef, type WorkspacePathDef, type TaskExample, type WorkflowStep, type OutputFormat, type MainAgentPromptConfig, type SubAgentPromptConfig } from './prompt.js';
|
|
14
15
|
export { TaskManager, formatTaskList, createTaskTools, createTaskCreateTool, createTaskUpdateTool, createTaskGetTool, createTaskListTool, type TaskToolOptions, TodoManager, formatTodoList, createTodoTool, type TodoToolOptions } from './tools/tasks.js';
|
|
15
|
-
export { TraceBuilder, ConsoleTraceProvider, generateTraceId, generateSpanId, calculateCost, DEFAULT_MODEL_PRICING, type TraceProvider, type TraceId, type SpanId, type Trace, type AgentSpan, type TraceEvent, type LLMCallEvent, type ToolCallEvent, type TraceContext, type ModelPricing, type ConsoleTraceConfig } from './trace.js';
|
|
16
|
+
export { TraceBuilder, ConsoleTraceProvider, generateTraceId, generateSpanId, calculateCost, DEFAULT_MODEL_PRICING, OPENROUTER_MODEL_PRICING, type TraceProvider, type TraceId, type SpanId, type Trace, type AgentSpan, type TraceEvent, type LLMCallEvent, type ToolCallEvent, type TraceContext, type ModelPricing, type ConsoleTraceConfig } from './trace.js';
|
|
16
17
|
export { Workspace, type WorkspaceEntry, type WorkspaceListItem, type WorkspaceConfig, type WorkspaceConfigExt, type PathConfig, type ValidatorFn, type ZodLike, type ValidationError, type WriteResult } from './workspace.js';
|
|
17
18
|
export { type WorkspaceProvider, type WorkspaceChange, type WorkspaceChangeListener, MemoryWorkspaceProvider, FileWorkspaceProvider } from './providers/workspace/index.js';
|
|
18
|
-
export { Shell,
|
|
19
|
+
export { Shell, type ShellConfig, type ShellResult, type CommandHandler, type CommandHelp, type CommandFlag, type CommandExample } from './shell/index.js';
|
|
19
20
|
export { exploreAgent, planAgent, getBuiltInAgents } from './built-in-agents/index.js';
|
|
20
21
|
export { RunRecorder, RunReplayer, RunTester, type RunRecorderConfig, type RunRecord, type RunRecordConfig, type RunRecordResult, type SerializedTool, type SerializedSubAgentConfig, type RunTesterConfig, type TestResult, type TestSummary } from './providers/dataset/index.js';
|
|
21
22
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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
|
@@ -8,6 +8,7 @@ export { Hive, PLAN_PATH, PLAN_FS_PATH } from './agent.js';
|
|
|
8
8
|
// Providers
|
|
9
9
|
export { ClaudeProvider } from './providers/llm/claude.js';
|
|
10
10
|
export { OpenAIProvider } from './providers/llm/openai.js';
|
|
11
|
+
export { OpenRouterProvider } from './providers/llm/openrouter.js';
|
|
11
12
|
export { ConsoleLogger } from './providers/logger/console.js';
|
|
12
13
|
export { MemoryRepository } from './providers/repository/memory.js';
|
|
13
14
|
// Utilities
|
|
@@ -22,13 +23,13 @@ export { TaskManager, formatTaskList, createTaskTools, createTaskCreateTool, cre
|
|
|
22
23
|
// Backward compatibility (deprecated)
|
|
23
24
|
TodoManager, formatTodoList, createTodoTool } from './tools/tasks.js';
|
|
24
25
|
// Tracing
|
|
25
|
-
export { TraceBuilder, ConsoleTraceProvider, generateTraceId, generateSpanId, calculateCost, DEFAULT_MODEL_PRICING } from './trace.js';
|
|
26
|
+
export { TraceBuilder, ConsoleTraceProvider, generateTraceId, generateSpanId, calculateCost, DEFAULT_MODEL_PRICING, OPENROUTER_MODEL_PRICING } from './trace.js';
|
|
26
27
|
// Workspace
|
|
27
28
|
export { Workspace } from './workspace.js';
|
|
28
29
|
// Workspace Providers
|
|
29
30
|
export { MemoryWorkspaceProvider, FileWorkspaceProvider } from './providers/workspace/index.js';
|
|
30
|
-
// Shell
|
|
31
|
-
export { Shell
|
|
31
|
+
// Shell
|
|
32
|
+
export { Shell } from './shell/index.js';
|
|
32
33
|
// Built-in Agents
|
|
33
34
|
export { exploreAgent, planAgent, getBuiltInAgents } from './built-in-agents/index.js';
|
|
34
35
|
// Dataset (Run Recording, Replay & Testing)
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,mBAAmB;AACnB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AA8D1D,YAAY;AACZ,OAAO,EACL,cAAc,EAEf,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,cAAc,EAEf,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,aAAa,EAGd,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACL,gBAAgB,EACjB,MAAM,kCAAkC,CAAA;AAEzC,YAAY;AACZ,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACf,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB;AACrB,kBAAkB;AAClB,gBAAgB,EAChB,eAAe;AACf,kDAAkD;AAClD,WAAW,EACX,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,aAAa,EAUd,MAAM,aAAa,CAAA;AAEpB,kDAAkD;AAClD,OAAO,EACL,WAAW,EACX,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB;AAElB,sCAAsC;AACtC,WAAW,EACX,cAAc,EACd,cAAc,EAEf,MAAM,kBAAkB,CAAA;AAEzB,UAAU;AACV,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,aAAa,EACb,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,mBAAmB;AACnB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AA8D1D,YAAY;AACZ,OAAO,EACL,cAAc,EAEf,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,cAAc,EAEf,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,kBAAkB,EAEnB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACL,aAAa,EAGd,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACL,gBAAgB,EACjB,MAAM,kCAAkC,CAAA;AAEzC,YAAY;AACZ,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACf,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB;AACrB,kBAAkB;AAClB,gBAAgB,EAChB,eAAe;AACf,kDAAkD;AAClD,WAAW,EACX,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,aAAa,EAUd,MAAM,aAAa,CAAA;AAEpB,kDAAkD;AAClD,OAAO,EACL,WAAW,EACX,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB;AAElB,sCAAsC;AACtC,WAAW,EACX,cAAc,EACd,cAAc,EAEf,MAAM,kBAAkB,CAAA;AAEzB,UAAU;AACV,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EAYzB,MAAM,YAAY,CAAA;AAEnB,YAAY;AACZ,OAAO,EACL,SAAS,EAUV,MAAM,gBAAgB,CAAA;AAEvB,sBAAsB;AACtB,OAAO,EAIL,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,gCAAgC,CAAA;AAEvC,QAAQ;AACR,OAAO,EACL,KAAK,EAON,MAAM,kBAAkB,CAAA;AAEzB,kBAAkB;AAClB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAEtF,4CAA4C;AAC5C,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EAUV,MAAM,8BAA8B,CAAA"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenRouter LLM Provider
|
|
3
|
+
*
|
|
4
|
+
* Implementation of LLMProvider for OpenRouter's API, which provides
|
|
5
|
+
* access to 400+ models (Claude, GPT, Gemini, Llama, etc.) through
|
|
6
|
+
* an OpenAI-compatible API gateway.
|
|
7
|
+
*/
|
|
8
|
+
import type { LLMProvider, LLMResponse, LLMOptions, Message, ToolSchema } from '../../types.js';
|
|
9
|
+
import type { ModelPricing } from '../../trace/types.js';
|
|
10
|
+
export interface OpenRouterProviderConfig {
|
|
11
|
+
apiKey?: string;
|
|
12
|
+
model?: string;
|
|
13
|
+
maxTokens?: number;
|
|
14
|
+
baseURL?: string;
|
|
15
|
+
referer?: string;
|
|
16
|
+
title?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare class OpenRouterProvider implements LLMProvider {
|
|
19
|
+
private apiKey;
|
|
20
|
+
private model;
|
|
21
|
+
private maxTokens;
|
|
22
|
+
private baseURL;
|
|
23
|
+
private referer?;
|
|
24
|
+
private title?;
|
|
25
|
+
constructor(config?: OpenRouterProviderConfig);
|
|
26
|
+
private isAnthropicModel;
|
|
27
|
+
chat(systemPrompt: string, messages: Message[], tools: ToolSchema[], options?: LLMOptions): Promise<LLMResponse>;
|
|
28
|
+
private convertMessages;
|
|
29
|
+
private findLastUserMessageIndex;
|
|
30
|
+
private convertContentBlocksToOpenAI;
|
|
31
|
+
private convertTools;
|
|
32
|
+
private convertResponse;
|
|
33
|
+
getModelId(): string;
|
|
34
|
+
/**
|
|
35
|
+
* Fetch live model pricing from OpenRouter's public API.
|
|
36
|
+
* Returns a Record<string, ModelPricing> keyed by "openrouter:{modelId}"
|
|
37
|
+
* that can be passed to ConsoleTraceProvider({ modelPricing }).
|
|
38
|
+
*
|
|
39
|
+
* The endpoint is public and requires no API key.
|
|
40
|
+
*/
|
|
41
|
+
static fetchModelPricing(baseURL?: string): Promise<Record<string, ModelPricing>>;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=openrouter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../../../src/providers/llm/openrouter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,OAAO,EACP,UAAU,EAIX,MAAM,gBAAgB,CAAA;AAEvB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAsDD,qBAAa,kBAAmB,YAAW,WAAW;IACpD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAC,CAAQ;IACxB,OAAO,CAAC,KAAK,CAAC,CAAQ;gBAEV,MAAM,GAAE,wBAA6B;IAajD,OAAO,CAAC,gBAAgB;IAIlB,IAAI,CACR,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,WAAW,CAAC;IA4CvB,OAAO,CAAC,eAAe;IA2DvB,OAAO,CAAC,wBAAwB;IAOhC,OAAO,CAAC,4BAA4B;IAkEpC,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,eAAe;IAqDvB,UAAU,IAAI,MAAM;IAIpB;;;;;;OAMG;WACU,iBAAiB,CAC5B,OAAO,SAAiC,GACvC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CAkCzC"}
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenRouter LLM Provider
|
|
3
|
+
*
|
|
4
|
+
* Implementation of LLMProvider for OpenRouter's API, which provides
|
|
5
|
+
* access to 400+ models (Claude, GPT, Gemini, Llama, etc.) through
|
|
6
|
+
* an OpenAI-compatible API gateway.
|
|
7
|
+
*/
|
|
8
|
+
export class OpenRouterProvider {
|
|
9
|
+
apiKey;
|
|
10
|
+
model;
|
|
11
|
+
maxTokens;
|
|
12
|
+
baseURL;
|
|
13
|
+
referer;
|
|
14
|
+
title;
|
|
15
|
+
constructor(config = {}) {
|
|
16
|
+
this.apiKey = config.apiKey || process.env.OPENROUTER_API_KEY || '';
|
|
17
|
+
this.model = config.model || 'anthropic/claude-sonnet-4';
|
|
18
|
+
this.maxTokens = config.maxTokens || 8192;
|
|
19
|
+
this.baseURL = config.baseURL || 'https://openrouter.ai/api/v1';
|
|
20
|
+
this.referer = config.referer;
|
|
21
|
+
this.title = config.title;
|
|
22
|
+
if (!this.apiKey) {
|
|
23
|
+
throw new Error('OpenRouter API key is required');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
isAnthropicModel(model) {
|
|
27
|
+
return (model || this.model).startsWith('anthropic/');
|
|
28
|
+
}
|
|
29
|
+
async chat(systemPrompt, messages, tools, options = {}) {
|
|
30
|
+
const useCache = this.isAnthropicModel(options.model);
|
|
31
|
+
const openaiMessages = this.convertMessages(systemPrompt, messages, useCache);
|
|
32
|
+
const openaiTools = this.convertTools(tools);
|
|
33
|
+
const requestBody = {
|
|
34
|
+
model: options.model || this.model,
|
|
35
|
+
max_tokens: this.maxTokens,
|
|
36
|
+
messages: openaiMessages
|
|
37
|
+
};
|
|
38
|
+
if (openaiTools.length > 0) {
|
|
39
|
+
requestBody.tools = openaiTools;
|
|
40
|
+
}
|
|
41
|
+
const headers = {
|
|
42
|
+
'Content-Type': 'application/json',
|
|
43
|
+
'Authorization': `Bearer ${this.apiKey}`
|
|
44
|
+
};
|
|
45
|
+
if (this.referer) {
|
|
46
|
+
headers['HTTP-Referer'] = this.referer;
|
|
47
|
+
}
|
|
48
|
+
if (this.title) {
|
|
49
|
+
headers['X-Title'] = this.title;
|
|
50
|
+
}
|
|
51
|
+
const response = await fetch(`${this.baseURL}/chat/completions`, {
|
|
52
|
+
method: 'POST',
|
|
53
|
+
headers,
|
|
54
|
+
body: JSON.stringify(requestBody)
|
|
55
|
+
});
|
|
56
|
+
if (!response.ok) {
|
|
57
|
+
const errorData = await response.json().catch(() => ({ error: { message: response.statusText } }));
|
|
58
|
+
throw new Error(`OpenRouter API error: ${errorData.error?.message || response.statusText}`);
|
|
59
|
+
}
|
|
60
|
+
const data = await response.json();
|
|
61
|
+
return this.convertResponse(data);
|
|
62
|
+
}
|
|
63
|
+
convertMessages(systemPrompt, messages, useCache) {
|
|
64
|
+
// System message: use cache_control array format for Anthropic models
|
|
65
|
+
const systemMessage = useCache
|
|
66
|
+
? {
|
|
67
|
+
role: 'system',
|
|
68
|
+
content: [{
|
|
69
|
+
type: 'text',
|
|
70
|
+
text: systemPrompt,
|
|
71
|
+
cache_control: { type: 'ephemeral' }
|
|
72
|
+
}]
|
|
73
|
+
}
|
|
74
|
+
: { role: 'system', content: systemPrompt };
|
|
75
|
+
const result = [systemMessage];
|
|
76
|
+
// Find last user message index for cache breakpoint
|
|
77
|
+
const lastUserIndex = useCache ? this.findLastUserMessageIndex(messages) : -1;
|
|
78
|
+
for (let i = 0; i < messages.length; i++) {
|
|
79
|
+
const msg = messages[i];
|
|
80
|
+
const shouldCache = i === lastUserIndex;
|
|
81
|
+
if (typeof msg.content === 'string') {
|
|
82
|
+
if (shouldCache) {
|
|
83
|
+
result.push({
|
|
84
|
+
role: msg.role === 'user' ? 'user' : 'assistant',
|
|
85
|
+
content: [{
|
|
86
|
+
type: 'text',
|
|
87
|
+
text: msg.content,
|
|
88
|
+
cache_control: { type: 'ephemeral' }
|
|
89
|
+
}]
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
result.push({
|
|
94
|
+
role: msg.role === 'user' ? 'user' : 'assistant',
|
|
95
|
+
content: msg.content
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
// Handle content blocks
|
|
101
|
+
const converted = this.convertContentBlocksToOpenAI(msg.content, msg.role);
|
|
102
|
+
if (shouldCache && converted.length > 0) {
|
|
103
|
+
const last = converted[converted.length - 1];
|
|
104
|
+
// Add cache_control to the last message's content
|
|
105
|
+
if (typeof last.content === 'string' && last.content) {
|
|
106
|
+
last.content = [{
|
|
107
|
+
type: 'text',
|
|
108
|
+
text: last.content,
|
|
109
|
+
cache_control: { type: 'ephemeral' }
|
|
110
|
+
}];
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
result.push(...converted);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return result;
|
|
117
|
+
}
|
|
118
|
+
findLastUserMessageIndex(messages) {
|
|
119
|
+
for (let i = messages.length - 1; i >= 0; i--) {
|
|
120
|
+
if (messages[i].role === 'user')
|
|
121
|
+
return i;
|
|
122
|
+
}
|
|
123
|
+
return -1;
|
|
124
|
+
}
|
|
125
|
+
convertContentBlocksToOpenAI(blocks, role) {
|
|
126
|
+
const messages = [];
|
|
127
|
+
// Separate tool results from other content
|
|
128
|
+
const toolResults = blocks.filter(b => b.type === 'tool_result');
|
|
129
|
+
const otherBlocks = blocks.filter(b => b.type !== 'tool_result');
|
|
130
|
+
// Handle assistant messages with tool_use
|
|
131
|
+
if (role === 'assistant') {
|
|
132
|
+
const toolUseBlocks = otherBlocks.filter(b => b.type === 'tool_use');
|
|
133
|
+
const textBlocks = otherBlocks.filter(b => b.type === 'text');
|
|
134
|
+
const textContent = textBlocks.map(b => b.text).join('\n');
|
|
135
|
+
if (toolUseBlocks.length > 0) {
|
|
136
|
+
const toolCalls = toolUseBlocks.map(block => {
|
|
137
|
+
const tu = block;
|
|
138
|
+
return {
|
|
139
|
+
id: tu.id,
|
|
140
|
+
type: 'function',
|
|
141
|
+
function: {
|
|
142
|
+
name: tu.name,
|
|
143
|
+
arguments: JSON.stringify(tu.input)
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
});
|
|
147
|
+
messages.push({
|
|
148
|
+
role: 'assistant',
|
|
149
|
+
content: textContent || null,
|
|
150
|
+
tool_calls: toolCalls
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
else if (textContent) {
|
|
154
|
+
messages.push({
|
|
155
|
+
role: 'assistant',
|
|
156
|
+
content: textContent
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
// Handle tool results (these become separate 'tool' role messages)
|
|
161
|
+
for (const tr of toolResults) {
|
|
162
|
+
const toolResult = tr;
|
|
163
|
+
messages.push({
|
|
164
|
+
role: 'tool',
|
|
165
|
+
content: toolResult.content,
|
|
166
|
+
tool_call_id: toolResult.tool_use_id
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
// Handle user text messages
|
|
170
|
+
if (role === 'user' && toolResults.length === 0) {
|
|
171
|
+
const textBlocks = otherBlocks.filter(b => b.type === 'text');
|
|
172
|
+
const textContent = textBlocks.map(b => b.text).join('\n');
|
|
173
|
+
if (textContent) {
|
|
174
|
+
messages.push({
|
|
175
|
+
role: 'user',
|
|
176
|
+
content: textContent
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
return messages;
|
|
181
|
+
}
|
|
182
|
+
convertTools(tools) {
|
|
183
|
+
return tools.map(tool => ({
|
|
184
|
+
type: 'function',
|
|
185
|
+
function: {
|
|
186
|
+
name: tool.name,
|
|
187
|
+
description: tool.description,
|
|
188
|
+
parameters: tool.input_schema
|
|
189
|
+
}
|
|
190
|
+
}));
|
|
191
|
+
}
|
|
192
|
+
convertResponse(response) {
|
|
193
|
+
const choice = response.choices[0];
|
|
194
|
+
const content = [];
|
|
195
|
+
// Add text content if present
|
|
196
|
+
if (choice.message.content) {
|
|
197
|
+
content.push({
|
|
198
|
+
type: 'text',
|
|
199
|
+
text: choice.message.content
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
// Convert tool calls
|
|
203
|
+
if (choice.message.tool_calls) {
|
|
204
|
+
for (const toolCall of choice.message.tool_calls) {
|
|
205
|
+
content.push({
|
|
206
|
+
type: 'tool_use',
|
|
207
|
+
id: toolCall.id,
|
|
208
|
+
name: toolCall.function.name,
|
|
209
|
+
input: JSON.parse(toolCall.function.arguments)
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
// Determine stop reason
|
|
214
|
+
let stopReason = 'end_turn';
|
|
215
|
+
if (choice.finish_reason === 'tool_calls') {
|
|
216
|
+
stopReason = 'tool_use';
|
|
217
|
+
}
|
|
218
|
+
else if (choice.finish_reason === 'length') {
|
|
219
|
+
stopReason = 'max_tokens';
|
|
220
|
+
}
|
|
221
|
+
// Extract cache usage if present (Anthropic models via OpenRouter)
|
|
222
|
+
const details = response.usage.prompt_tokens_details;
|
|
223
|
+
let cacheUsage;
|
|
224
|
+
if (details && (details.cached_tokens || details.cache_write_tokens)) {
|
|
225
|
+
cacheUsage = {
|
|
226
|
+
cacheReadInputTokens: details.cached_tokens || 0,
|
|
227
|
+
cacheCreationInputTokens: details.cache_write_tokens || 0
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
return {
|
|
231
|
+
content,
|
|
232
|
+
stopReason,
|
|
233
|
+
usage: {
|
|
234
|
+
inputTokens: response.usage.prompt_tokens,
|
|
235
|
+
outputTokens: response.usage.completion_tokens
|
|
236
|
+
},
|
|
237
|
+
cacheUsage
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
getModelId() {
|
|
241
|
+
return `openrouter:${this.model}`;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Fetch live model pricing from OpenRouter's public API.
|
|
245
|
+
* Returns a Record<string, ModelPricing> keyed by "openrouter:{modelId}"
|
|
246
|
+
* that can be passed to ConsoleTraceProvider({ modelPricing }).
|
|
247
|
+
*
|
|
248
|
+
* The endpoint is public and requires no API key.
|
|
249
|
+
*/
|
|
250
|
+
static async fetchModelPricing(baseURL = 'https://openrouter.ai/api/v1') {
|
|
251
|
+
const response = await fetch(`${baseURL}/models`);
|
|
252
|
+
if (!response.ok) {
|
|
253
|
+
throw new Error(`OpenRouter models API error: ${response.statusText}`);
|
|
254
|
+
}
|
|
255
|
+
const data = await response.json();
|
|
256
|
+
const pricing = {};
|
|
257
|
+
for (const model of data.data) {
|
|
258
|
+
const p = model.pricing;
|
|
259
|
+
if (!p?.prompt || !p?.completion)
|
|
260
|
+
continue;
|
|
261
|
+
const inputPer1M = parseFloat(p.prompt) * 1_000_000;
|
|
262
|
+
const outputPer1M = parseFloat(p.completion) * 1_000_000;
|
|
263
|
+
if (inputPer1M === 0 && outputPer1M === 0)
|
|
264
|
+
continue;
|
|
265
|
+
const entry = { inputPer1M, outputPer1M };
|
|
266
|
+
if (p.input_cache_write) {
|
|
267
|
+
const val = parseFloat(p.input_cache_write) * 1_000_000;
|
|
268
|
+
if (val > 0)
|
|
269
|
+
entry.cacheWritePer1M = val;
|
|
270
|
+
}
|
|
271
|
+
if (p.input_cache_read) {
|
|
272
|
+
const val = parseFloat(p.input_cache_read) * 1_000_000;
|
|
273
|
+
if (val > 0)
|
|
274
|
+
entry.cacheReadPer1M = val;
|
|
275
|
+
}
|
|
276
|
+
pricing[`openrouter:${model.id}`] = entry;
|
|
277
|
+
}
|
|
278
|
+
return pricing;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
//# sourceMappingURL=openrouter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../../src/providers/llm/openrouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,19 +2,25 @@
|
|
|
2
2
|
* File Workspace Provider
|
|
3
3
|
*
|
|
4
4
|
* Persists workspace entries to a directory on disk.
|
|
5
|
-
*
|
|
5
|
+
* All read/write operations go directly to the filesystem.
|
|
6
6
|
*/
|
|
7
7
|
import type { WorkspaceProvider } from './types.js';
|
|
8
8
|
export declare class FileWorkspaceProvider implements WorkspaceProvider {
|
|
9
9
|
private dir;
|
|
10
10
|
constructor(dir: string);
|
|
11
|
-
|
|
11
|
+
read(path: string): Promise<string | null>;
|
|
12
12
|
write(path: string, content: string): Promise<void>;
|
|
13
|
-
delete(path: string): Promise<
|
|
14
|
-
|
|
13
|
+
delete(path: string): Promise<boolean>;
|
|
14
|
+
exists(path: string): Promise<boolean>;
|
|
15
|
+
list(path: string): Promise<string[]>;
|
|
16
|
+
glob(pattern: string): Promise<string[]>;
|
|
17
|
+
mkdir(path: string): Promise<void>;
|
|
18
|
+
isDirectory(path: string): Promise<boolean>;
|
|
19
|
+
size(path: string): Promise<number | null>;
|
|
20
|
+
/** Convert a workspace path (e.g. /user.json) to a local file path */
|
|
15
21
|
private toFilePath;
|
|
16
|
-
/** Convert a local file path back to a
|
|
22
|
+
/** Convert a local file path back to a workspace path */
|
|
17
23
|
private toFSPath;
|
|
18
|
-
private
|
|
24
|
+
private walkDir;
|
|
19
25
|
}
|
|
20
26
|
//# sourceMappingURL=file.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../src/providers/workspace/file.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../src/providers/workspace/file.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAmBnD,qBAAa,qBAAsB,YAAW,iBAAiB;IAC7D,OAAO,CAAC,GAAG,CAAQ;gBAEP,GAAG,EAAE,MAAM;IAIjB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAY1C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBtC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYtC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAarC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAaxC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAY3C,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAOhD,sEAAsE;IACtE,OAAO,CAAC,UAAU;IAKlB,yDAAyD;IACzD,OAAO,CAAC,QAAQ;YAKF,OAAO;CAWtB"}
|