@anonx3247/universal-agent-harness 1.0.0 → 1.0.2

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.
@@ -1,4 +1,4 @@
1
- import { Model } from "../models/provider";
1
+ import { Model } from "@app/models/provider";
2
2
  export declare const runs: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
3
3
  name: "runs";
4
4
  schema: undefined;
@@ -262,7 +262,7 @@ export declare const messages: import("drizzle-orm/sqlite-core").SQLiteTableWith
262
262
  tableName: "messages";
263
263
  dataType: "string";
264
264
  columnType: "SQLiteText";
265
- data: "agent" | "user";
265
+ data: "user" | "agent";
266
266
  driverParam: string;
267
267
  notNull: true;
268
268
  hasDefault: false;
@@ -275,14 +275,14 @@ export declare const messages: import("drizzle-orm/sqlite-core").SQLiteTableWith
275
275
  generated: undefined;
276
276
  }, {}, {
277
277
  length: number | undefined;
278
- $type: "agent" | "user";
278
+ $type: "user" | "agent";
279
279
  }>;
280
280
  content: import("drizzle-orm/sqlite-core").SQLiteColumn<{
281
281
  name: "content";
282
282
  tableName: "messages";
283
283
  dataType: "json";
284
284
  columnType: "SQLiteTextJson";
285
- data: (import("../models").TextContent | import("../models").ToolUse | import("../models").ToolResult | import("../models").Thinking)[];
285
+ data: (import("@app/models").TextContent | import("@app/models").ToolUse | import("@app/models").ToolResult | import("@app/models").Thinking)[];
286
286
  driverParam: string;
287
287
  notNull: true;
288
288
  hasDefault: false;
@@ -294,7 +294,7 @@ export declare const messages: import("drizzle-orm/sqlite-core").SQLiteTableWith
294
294
  identity: undefined;
295
295
  generated: undefined;
296
296
  }, {}, {
297
- $type: (import("../models").TextContent | import("../models").ToolUse | import("../models").ToolResult | import("../models").Thinking)[];
297
+ $type: (import("@app/models").TextContent | import("@app/models").ToolUse | import("@app/models").ToolResult | import("@app/models").Thinking)[];
298
298
  }>;
299
299
  total_tokens: import("drizzle-orm/sqlite-core").SQLiteColumn<{
300
300
  name: "total_tokens";
@@ -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
@@ -98,21 +98,29 @@ export async function run(config) {
98
98
  let lastCost = await MessageResource.totalCostForRun(run);
99
99
  const runnerPromises = runners.map(async (runner) => {
100
100
  while (true) {
101
- // Check cost limit
102
- if (config.maxCost && tickCount % 20 === 0) {
101
+ const tick = await runner.tick();
102
+ tickCount++;
103
+ if (tick.isErr()) {
104
+ return tick;
105
+ }
106
+ // Send message callback after each tick
107
+ if (config.onMessage) {
108
+ const messages = await MessageResource.listMessagesByRun(run);
109
+ const latest = messages[messages.length - 1];
110
+ if (latest) {
111
+ config.onMessage(latest.toJSON());
112
+ }
113
+ }
114
+ // Update cost after each tick
115
+ if (config.onCostUpdate || config.maxCost) {
103
116
  lastCost = await MessageResource.totalCostForRun(run);
104
117
  if (config.onCostUpdate) {
105
118
  config.onCostUpdate(lastCost);
106
119
  }
107
- if (lastCost > config.maxCost) {
120
+ if (config.maxCost && lastCost > config.maxCost) {
108
121
  return;
109
122
  }
110
123
  }
111
- const tick = await runner.tick();
112
- tickCount++;
113
- if (tick.isErr()) {
114
- return tick;
115
- }
116
124
  }
117
125
  });
118
126
  await Promise.all(runnerPromises);
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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"}
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from "events";
2
- import { AdvisoryResource } from "../resources/advisory";
2
+ import { AdvisoryResource } from "@app/resources/advisory";
3
3
  export class TypedEventEmitter extends EventEmitter {
4
4
  on(event, listener) {
5
5
  return super.on(event, listener);
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-config.d.ts","sourceRoot":"","sources":["../../src/lib/mcp-config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAW,MAAM,EAAE,MAAM,SAAS,CAAC;AAK1C;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,OAAO,GAAG,KAAK,CAAC;IAE3B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B;;OAEG;IACH,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC,CAiD/E;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIpD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CAiCzE"}
1
+ {"version":3,"file":"mcp-config.d.ts","sourceRoot":"","sources":["../../src/lib/mcp-config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,MAAM,EAAE,MAAM,SAAS,CAAC;AAG1C;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,OAAO,GAAG,KAAK,CAAC;IAE3B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B;;OAEG;IACH,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC,CAiD/E;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIpD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CAiCzE"}
@@ -1,14 +1,12 @@
1
1
  import { readFileSync, existsSync } from "fs";
2
- import { join, dirname } from "path";
3
- import { fileURLToPath } from "url";
2
+ import { join } from "path";
4
3
  import { err, ok } from "./error";
5
- const __filename = fileURLToPath(import.meta.url);
6
- const __dirname = dirname(__filename);
4
+ import { getProfilesDir } from "./profiles";
7
5
  /**
8
6
  * Load MCP server configuration from profile
9
7
  */
10
8
  export function loadProfileMCPConfig(profile) {
11
- const configPath = join(__dirname, "../../profiles", profile, "settings.json");
9
+ const configPath = join(getProfilesDir(), profile, "settings.json");
12
10
  // If no settings file, return empty array (just computer tool)
13
11
  if (!existsSync(configPath)) {
14
12
  return ok([]);
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-config.js","sourceRoot":"","sources":["../../src/lib/mcp-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-config.js","sourceRoot":"","sources":["../../src/lib/mcp-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,GAAG,EAAE,EAAE,EAAU,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAwD5C;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IAEpE,+DAA+D;IAC/D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,MAAM,GAAkB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAElD,yBAAyB;QACzB,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAC9C,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK,CACrC,CAAC;QAEF,8BAA8B;QAC9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,GAAG,CACR,sBAAsB,EACtB,wCAAwC,CACzC,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,CAAC,SAAS,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpD,OAAO,GAAG,CACR,sBAAsB,EACtB,eAAe,MAAM,CAAC,IAAI,gDAAgD,CAC3E,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBAC9C,OAAO,GAAG,CACR,sBAAsB,EACtB,eAAe,MAAM,CAAC,IAAI,0CAA0C,CACrE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,CACR,mBAAmB,EACnB,kCAAkC,UAAU,EAAE,EAC9C,KAAc,CACf,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAO,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE;QAClD,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAuB;IACtD,MAAM,SAAS,GAAoB,EAAE,GAAG,MAAM,EAAE,CAAC;IAEjD,8BAA8B;IAC9B,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACtB,SAAS,CAAC,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,0BAA0B;IAC1B,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;QAClB,SAAS,CAAC,GAAG,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,2BAA2B;IAC3B,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;QACnB,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACtD,CAAC;IAED,4CAA4C;IAC5C,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;QAClB,MAAM,WAAW,GAA2B,EAAE,CAAC;QAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACzD,WAAW,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QACD,SAAS,CAAC,GAAG,GAAG,WAAW,CAAC;IAC9B,CAAC;IAED,gBAAgB;IAChB,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QACpB,SAAS,CAAC,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { LLM } from "./index";
2
2
  import Anthropic from "@anthropic-ai/sdk";
3
- import { err, ok } from "../lib/error";
4
- import { assertNever } from "../lib/assert";
5
- import { removeNulls } from "../lib/utils";
3
+ import { err, ok } from "@app/lib/error";
4
+ import { assertNever } from "@app/lib/assert";
5
+ import { removeNulls } from "@app/lib/utils";
6
6
  const DEFAULT_TIMEOUT = 600000 * 2; // 20 minutes (double the default)
7
7
  const DEFAULT_MAX_TOKENS = 8192;
8
8
  const DEFAULT_THINKING_TOKENS = 8192;
@@ -1,9 +1,9 @@
1
1
  import { LLM, } from "../index";
2
2
  import { PreTrainedTokenizer } from "@huggingface/transformers";
3
3
  import OpenAI from "openai";
4
- import { err, ok } from "../../lib/error";
5
- import { assertNever } from "../../lib/assert";
6
- import { removeNulls } from "../../lib/utils";
4
+ import { err, ok } from "@app/lib/error";
5
+ import { assertNever } from "@app/lib/assert";
6
+ import { removeNulls } from "@app/lib/utils";
7
7
  export function isDeepseekModel(model) {
8
8
  return ["deepseek-chat", "deepseek-reasoner"].includes(model);
9
9
  }
@@ -1,8 +1,8 @@
1
1
  import { FunctionCallingConfigMode, GoogleGenAI, } from "@google/genai";
2
2
  import { LLM, } from "./index";
3
- import { err, ok } from "../lib/error";
4
- import { assertNever } from "../lib/assert";
5
- import { removeNulls } from "../lib/utils";
3
+ import { err, ok } from "@app/lib/error";
4
+ import { assertNever } from "@app/lib/assert";
5
+ import { removeNulls } from "@app/lib/utils";
6
6
  export function isGeminiModel(model) {
7
7
  return [
8
8
  "gemini-3-pro-preview",
@@ -1,8 +1,8 @@
1
1
  import { LLM, } from "./index";
2
- import { err, ok } from "../lib/error";
3
- import { assertNever } from "../lib/assert";
2
+ import { err, ok } from "@app/lib/error";
3
+ import { assertNever } from "@app/lib/assert";
4
4
  import { Mistral } from "@mistralai/mistralai";
5
- import { isString, removeNulls } from "../lib/utils";
5
+ import { isString, removeNulls } from "@app/lib/utils";
6
6
  function normalizeTokenPrices(costPerMillionInputTokens, costPerMillionOutputTokens) {
7
7
  return {
8
8
  input: costPerMillionInputTokens / 1_000_000,
@@ -1,8 +1,8 @@
1
1
  import { LLM } from "./index";
2
2
  import OpenAI from "openai";
3
- import { err, ok } from "../lib/error";
4
- import { assertNever } from "../lib/assert";
5
- import { removeNulls } from "../lib/utils";
3
+ import { err, ok } from "@app/lib/error";
4
+ import { assertNever } from "@app/lib/assert";
5
+ import { removeNulls } from "@app/lib/utils";
6
6
  import { convertThinking } from "./openai";
7
7
  export function isMoonshotAIModel(model) {
8
8
  return ["kimi-k2-thinking"].includes(model);
@@ -1,7 +1,7 @@
1
1
  import { LLM } from "./index";
2
2
  import OpenAI from "openai";
3
- import { err, ok } from "../lib/error";
4
- import { assertNever } from "../lib/assert";
3
+ import { err, ok } from "@app/lib/error";
4
+ import { assertNever } from "@app/lib/assert";
5
5
  function normalizeTokenPrices(costPerMillionInputTokens, costPerMillionOutputTokens, costPerMillionCachedTokens) {
6
6
  return {
7
7
  input: costPerMillionInputTokens / 1_000_000,
@@ -1,4 +1,4 @@
1
- import { assertNever } from "../lib/assert";
1
+ import { assertNever } from "@app/lib/assert";
2
2
  import { isAnthropicModel, AnthropicLLM } from "./anthropic";
3
3
  import { isGeminiModel, GeminiLLM } from "./gemini";
4
4
  import { isMistralModel, MistralLLM } from "./mistral";
@@ -1,8 +1,8 @@
1
1
  import { LLM, } from "./index";
2
2
  import OpenAI from "openai";
3
- import { err, ok } from "../lib/error";
4
- import { assertNever } from "../lib/assert";
5
- import { removeNulls } from "../lib/utils";
3
+ import { err, ok } from "@app/lib/error";
4
+ import { assertNever } from "@app/lib/assert";
5
+ import { removeNulls } from "@app/lib/utils";
6
6
  export function isRedPillModel(model) {
7
7
  return [
8
8
  "kimi-k2.5",
@@ -1,5 +1,5 @@
1
- import { db } from "../db";
2
- import { advisories } from "../db/schema";
1
+ import { db } from "@app/db";
2
+ import { advisories } from "@app/db/schema";
3
3
  import { eq, and, or } from "drizzle-orm";
4
4
  export class AdvisoryResource {
5
5
  data;
@@ -1,5 +1,5 @@
1
- import { db } from "../db";
2
- import { messages } from "../db/schema";
1
+ import { db } from "@app/db";
2
+ import { messages } from "@app/db/schema";
3
3
  import { eq, and, asc, sum } from "drizzle-orm";
4
4
  export class MessageResource {
5
5
  data;
@@ -1,5 +1,5 @@
1
- import { runs } from "../db/schema";
2
- import { Result } from "../lib/error";
1
+ import { runs } from "@app/db/schema";
2
+ import { Result } from "@app/lib/error";
3
3
  import { InferInsertModel } from "drizzle-orm";
4
4
  export declare class RunResource {
5
5
  private data;
@@ -11,13 +11,13 @@ export declare class RunResource {
11
11
  update(data: Partial<Omit<InferInsertModel<typeof runs>, "id" | "created">>): Promise<RunResource>;
12
12
  delete(): Promise<void>;
13
13
  toJSON(): {
14
- name: string;
15
14
  id: number;
15
+ name: string;
16
+ model: import("..").Model;
16
17
  created: Date;
17
18
  updated: Date;
18
19
  problem_id: string;
19
20
  profile: string;
20
- model: import("..").Model;
21
21
  agent_count: number;
22
22
  };
23
23
  getAgentIndices(): number[];
@@ -1,6 +1,6 @@
1
- import { db } from "../db";
2
- import { runs } from "../db/schema";
3
- import { err, ok } from "../lib/error";
1
+ import { db } from "@app/db";
2
+ import { runs } from "@app/db/schema";
3
+ import { err, ok } from "@app/lib/error";
4
4
  import { eq } from "drizzle-orm";
5
5
  export class RunResource {
6
6
  data;
@@ -64,7 +64,7 @@ export async function cleanRun(runName) {
64
64
  const run = runRes.data;
65
65
  const runId = run.toJSON().id;
66
66
  // Delete messages first
67
- const { messages } = await import("../db/schema");
67
+ const { messages } = await import("@app/db/schema");
68
68
  db.delete(messages).where(eq(messages.run, runId)).run();
69
69
  // Delete run
70
70
  await run.delete();
@@ -1,16 +1,16 @@
1
- import { withRetries, err, ok } from "../lib/error";
2
- import { MessageResource } from "../resources/messages";
1
+ import { withRetries, err, ok } from "@app/lib/error";
2
+ import { MessageResource } from "@app/resources/messages";
3
3
  import assert from "assert";
4
- import { errorToCallToolResult, createClientFromConfig } from "../lib/mcp";
5
- import { loadProfileMCPConfig } from "../lib/mcp-config";
6
- import { concurrentExecutor } from "../lib/async";
7
- import { assertNever } from "../lib/assert";
8
- import { createLLM } from "../models/provider";
4
+ import { errorToCallToolResult, createClientFromConfig } from "@app/lib/mcp";
5
+ import { loadProfileMCPConfig } from "@app/lib/mcp-config";
6
+ import { concurrentExecutor } from "@app/lib/async";
7
+ import { assertNever } from "@app/lib/assert";
8
+ import { createLLM } from "@app/models/provider";
9
9
  import { readFileSync } from "fs";
10
10
  import { dirname } from "path";
11
11
  import { fileURLToPath } from "url";
12
- import { getProblemContent } from "../lib/problems";
13
- import { getProfilePath } from "../lib/profiles";
12
+ import { getProblemContent } from "@app/lib/problems";
13
+ import { getProfilePath } from "@app/lib/profiles";
14
14
  const __filename = fileURLToPath(import.meta.url);
15
15
  const __dirname = dirname(__filename);
16
16
  function loadPromptForProfile(profile) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anonx3247/universal-agent-harness",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Universal multi-agent orchestration system with MCP server support",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",