expxagents 0.27.0 → 0.28.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.
@@ -1,4 +1,4 @@
1
- import{a1 as G,a3 as I,a4 as B,l as _,M as k,W as O,N as A,a9 as m,T as v,as as C,R as E,w as z,a8 as U,v as w}from"./index-wPQQk0AQ.js";var M=`in vec2 aPosition;
1
+ import{a1 as G,a3 as I,a4 as B,l as _,M as k,W as O,N as A,a9 as m,T as v,as as C,R as E,w as z,a8 as U,v as w}from"./index-Dm8ZkXaH.js";var M=`in vec2 aPosition;
2
2
  out vec2 vTextureCoord;
3
3
 
4
4
  uniform vec4 uInputSize;
@@ -4,7 +4,7 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>ExpxAgents — Mission Control</title>
7
- <script type="module" crossorigin src="/assets/index-wPQQk0AQ.js"></script>
7
+ <script type="module" crossorigin src="/assets/index-Dm8ZkXaH.js"></script>
8
8
  <link rel="stylesheet" crossorigin href="/assets/index-DtbIzZ5n.css">
9
9
  </head>
10
10
  <body>
@@ -1,9 +1,6 @@
1
1
  import type { AgentEngine, EngineSendOptions } from './engine.js';
2
2
  import type { BridgeFactory, BridgeConfig } from './registry.js';
3
- interface OpenRouterBridgeConfig {
4
- timeoutMs?: number;
5
- }
6
- /** Available models on OpenRouter with cost per 1M tokens */
3
+ /** Re-export for system-routes.ts with extra provider/cost metadata */
7
4
  export declare const OPENROUTER_MODELS: {
8
5
  id: string;
9
6
  name: string;
@@ -14,11 +11,14 @@ export declare const OPENROUTER_MODELS: {
14
11
  };
15
12
  }[];
16
13
  export declare const OPENROUTER_DEFAULT_MODEL = "anthropic/claude-sonnet-4";
14
+ interface OpenRouterBridgeConfig {
15
+ timeoutMs?: number;
16
+ }
17
17
  export declare class OpenRouterBridge implements AgentEngine {
18
18
  readonly type: "openrouter";
19
- private activeSessions;
20
- private timeoutMs;
21
- constructor(config?: OpenRouterBridgeConfig);
19
+ private sessions;
20
+ private activeRunners;
21
+ constructor(_config?: OpenRouterBridgeConfig);
22
22
  send(opts: EngineSendOptions): void;
23
23
  isActive(squadName: string): boolean;
24
24
  kill(squadName: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter-bridge.d.ts","sourceRoot":"","sources":["../../src/bridge/openrouter-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEjE,UAAU,sBAAsB;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,6DAA6D;AAC7D,eAAO,MAAM,iBAAiB;;;;;;;;GAW7B,CAAC;AAEF,eAAO,MAAM,wBAAwB,8BAA8B,CAAC;AAEpE,qBAAa,gBAAiB,YAAW,WAAW;IAClD,QAAQ,CAAC,IAAI,EAAG,YAAY,CAAU;IAEtC,OAAO,CAAC,cAAc,CAAsC;IAC5D,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,CAAC,EAAE,sBAAsB;IAK3C,IAAI,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;IAoGnC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIpC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAe9B;AAED,qBAAa,uBAAwB,YAAW,aAAa;IAC3D,QAAQ,CAAC,IAAI,gBAAgB;IAE7B,MAAM,IAAI,OAAO;IAIjB,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,gBAAgB;CAKhD"}
1
+ {"version":3,"file":"openrouter-bridge.d.ts","sourceRoot":"","sources":["../../src/bridge/openrouter-bridge.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEjE,uEAAuE;AACvE,eAAO,MAAM,iBAAiB;;;;;eASW,MAAM;gBAAU,MAAM;;GAkB7D,CAAC;AAEH,eAAO,MAAM,wBAAwB,8BAAgB,CAAC;AAEtD,UAAU,sBAAsB;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,gBAAiB,YAAW,WAAW;IAClD,QAAQ,CAAC,IAAI,EAAG,YAAY,CAAU;IAEtC,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,aAAa,CAAsC;gBAE/C,OAAO,CAAC,EAAE,sBAAsB;IAI5C,IAAI,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;IAgDnC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIpC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAe9B;AAED,qBAAa,uBAAwB,YAAW,aAAa;IAC3D,QAAQ,CAAC,IAAI,gBAAgB;IAE7B,MAAM,IAAI,OAAO;IAIjB,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,gBAAgB;CAKhD"}
@@ -1,24 +1,40 @@
1
- /** Available models on OpenRouter with cost per 1M tokens */
2
- export const OPENROUTER_MODELS = [
3
- { id: 'anthropic/claude-sonnet-4', name: 'Claude Sonnet 4', provider: 'Anthropic', cost: { input: 3.00, output: 15.00 } },
4
- { id: 'anthropic/claude-haiku-4', name: 'Claude Haiku 4', provider: 'Anthropic', cost: { input: 0.25, output: 1.25 } },
5
- { id: 'openai/gpt-4o', name: 'GPT-4o', provider: 'OpenAI', cost: { input: 2.50, output: 10.00 } },
6
- { id: 'openai/gpt-4o-mini', name: 'GPT-4o Mini', provider: 'OpenAI', cost: { input: 0.15, output: 0.60 } },
7
- { id: 'google/gemini-2.5-flash', name: 'Gemini 2.5 Flash', provider: 'Google', cost: { input: 0.15, output: 0.60 } },
8
- { id: 'google/gemini-2.5-pro', name: 'Gemini 2.5 Pro', provider: 'Google', cost: { input: 1.25, output: 5.00 } },
9
- { id: 'deepseek/deepseek-chat', name: 'DeepSeek V3', provider: 'DeepSeek', cost: { input: 0.27, output: 1.10 } },
10
- { id: 'deepseek/deepseek-reasoner', name: 'DeepSeek R1', provider: 'DeepSeek', cost: { input: 0.55, output: 2.19 } },
11
- { id: 'meta-llama/llama-4-maverick', name: 'Llama 4 Maverick', provider: 'Meta', cost: { input: 0.20, output: 0.60 } },
12
- { id: 'mistralai/mistral-large', name: 'Mistral Large', provider: 'Mistral', cost: { input: 2.00, output: 6.00 } },
13
- ];
14
- export const OPENROUTER_DEFAULT_MODEL = 'anthropic/claude-sonnet-4';
1
+ import { AgentRunner, SessionManager, SUPPORTED_MODELS, DEFAULT_MODEL } from '@expxagents/agent';
2
+ /** Re-export for system-routes.ts with extra provider/cost metadata */
3
+ export const OPENROUTER_MODELS = SUPPORTED_MODELS.map((m) => {
4
+ const providerMap = {
5
+ 'anthropic': 'Anthropic',
6
+ 'openai': 'OpenAI',
7
+ 'google': 'Google',
8
+ 'deepseek': 'DeepSeek',
9
+ 'mistralai': 'Mistral',
10
+ 'meta-llama': 'Meta',
11
+ };
12
+ const costMap = {
13
+ 'anthropic/claude-sonnet-4': { input: 3.00, output: 15.00 },
14
+ 'anthropic/claude-haiku-4': { input: 0.25, output: 1.25 },
15
+ 'openai/gpt-4o': { input: 2.50, output: 10.00 },
16
+ 'openai/gpt-4o-mini': { input: 0.15, output: 0.60 },
17
+ 'google/gemini-2.5-flash': { input: 0.15, output: 0.60 },
18
+ 'google/gemini-2.5-pro': { input: 1.25, output: 5.00 },
19
+ 'deepseek/deepseek-chat': { input: 0.27, output: 1.10 },
20
+ 'mistralai/mistral-large': { input: 2.00, output: 6.00 },
21
+ 'meta-llama/llama-4-maverick': { input: 0.20, output: 0.60 },
22
+ };
23
+ const prefix = m.id.split('/')[0];
24
+ return {
25
+ id: m.id,
26
+ name: m.name,
27
+ provider: providerMap[prefix] ?? prefix,
28
+ cost: costMap[m.id] ?? { input: 0, output: 0 },
29
+ };
30
+ });
31
+ export const OPENROUTER_DEFAULT_MODEL = DEFAULT_MODEL;
15
32
  export class OpenRouterBridge {
16
33
  type = 'openrouter';
17
- activeSessions = new Map();
18
- timeoutMs;
19
- constructor(config) {
20
- this.timeoutMs = config?.timeoutMs ?? parseInt(process.env.BRIDGE_TIMEOUT_MS ?? '300000', 10);
21
- console.log('[openrouter-bridge] Initialized');
34
+ sessions = new SessionManager();
35
+ activeRunners = new Map();
36
+ constructor(_config) {
37
+ console.log('[openrouter-bridge] Initialized with @expxagents/agent');
22
38
  }
23
39
  send(opts) {
24
40
  const key = opts.squadName ?? opts.cwd;
@@ -29,101 +45,54 @@ export class OpenRouterBridge {
29
45
  }
30
46
  const model = opts.model
31
47
  ?? process.env.OPENROUTER_DEFAULT_MODEL
32
- ?? OPENROUTER_DEFAULT_MODEL;
33
- const controller = new AbortController();
34
- this.activeSessions.set(key, controller);
35
- const timeoutId = setTimeout(() => controller.abort(), this.timeoutMs);
48
+ ?? DEFAULT_MODEL;
36
49
  console.log(`[openrouter-bridge] Sending to ${model} for key="${key}"`);
37
- fetch('https://openrouter.ai/api/v1/chat/completions', {
38
- method: 'POST',
39
- headers: {
40
- 'Content-Type': 'application/json',
41
- 'Authorization': `Bearer ${apiKey}`,
42
- 'HTTP-Referer': 'https://expxagents.com',
43
- 'X-Title': 'ExpxAgents',
50
+ const controller = new AbortController();
51
+ this.activeRunners.set(key, controller);
52
+ const runOpts = {
53
+ prompt: opts.prompt,
54
+ cwd: opts.cwd,
55
+ apiKey,
56
+ model,
57
+ sessionId: opts.squadName,
58
+ onChunk: opts.onChunk,
59
+ onToolCall: (tool, args) => {
60
+ opts.onActivity?.(tool, JSON.stringify(args).slice(0, 200));
44
61
  },
45
- body: JSON.stringify({
46
- model,
47
- messages: [{ role: 'user', content: opts.prompt }],
48
- stream: true,
49
- }),
50
- signal: controller.signal,
51
- })
52
- .then(async (res) => {
53
- if (!res.ok) {
54
- const text = await res.text();
55
- throw new Error(`OpenRouter API error ${res.status}: ${text}`);
56
- }
57
- const reader = res.body?.getReader();
58
- if (!reader)
59
- throw new Error('No response body');
60
- const decoder = new TextDecoder();
61
- let fullText = '';
62
- let buffer = '';
63
- while (true) {
64
- const { done, value } = await reader.read();
65
- if (done)
66
- break;
67
- buffer += decoder.decode(value, { stream: true });
68
- const lines = buffer.split('\n');
69
- buffer = lines.pop() ?? '';
70
- for (const line of lines) {
71
- const trimmed = line.trim();
72
- if (!trimmed || !trimmed.startsWith('data: '))
73
- continue;
74
- const data = trimmed.slice(6);
75
- if (data === '[DONE]')
76
- continue;
77
- try {
78
- const parsed = JSON.parse(data);
79
- const delta = parsed.choices?.[0]?.delta?.content;
80
- if (delta) {
81
- fullText += delta;
82
- opts.onChunk(delta);
83
- }
84
- }
85
- catch {
86
- // skip malformed SSE chunks
87
- }
88
- }
89
- }
90
- if (!fullText.trim()) {
91
- opts.onError({ code: null, message: 'Empty response from OpenRouter' });
92
- return;
93
- }
94
- console.log(`[openrouter-bridge] SUCCESS for key="${key}": ${fullText.slice(0, 100)}`);
95
- opts.onDone(fullText);
62
+ };
63
+ // Inject sessionManager (accepted by AgentRunner constructor internally)
64
+ Object.assign(runOpts, { sessionManager: this.sessions });
65
+ const agent = new AgentRunner(runOpts);
66
+ agent.run()
67
+ .then((result) => {
68
+ console.log(`[openrouter-bridge] SUCCESS for key="${key}": ${result.output.slice(0, 100)}`);
69
+ opts.onDone(result.output);
96
70
  })
97
71
  .catch((err) => {
98
- if (controller.signal.aborted) {
99
- opts.onError({ code: null, message: 'OpenRouter request aborted' });
100
- return;
101
- }
102
72
  const msg = err instanceof Error ? err.message : String(err);
103
73
  console.error(`[openrouter-bridge] Error for key="${key}":`, msg);
104
74
  opts.onError({ code: null, message: msg });
105
75
  })
106
76
  .finally(() => {
107
- clearTimeout(timeoutId);
108
- this.activeSessions.delete(key);
77
+ this.activeRunners.delete(key);
109
78
  });
110
79
  }
111
80
  isActive(squadName) {
112
- return this.activeSessions.has(squadName);
81
+ return this.activeRunners.has(squadName);
113
82
  }
114
83
  kill(squadName) {
115
84
  if (squadName === '__all__') {
116
- console.log(`[openrouter-bridge] Aborting all ${this.activeSessions.size} active sessions`);
117
- for (const [, controller] of this.activeSessions) {
85
+ console.log(`[openrouter-bridge] Aborting all ${this.activeRunners.size} active sessions`);
86
+ for (const [, controller] of this.activeRunners) {
118
87
  controller.abort();
119
88
  }
120
- this.activeSessions.clear();
89
+ this.activeRunners.clear();
121
90
  return;
122
91
  }
123
- const controller = this.activeSessions.get(squadName);
92
+ const controller = this.activeRunners.get(squadName);
124
93
  if (controller) {
125
94
  controller.abort();
126
- this.activeSessions.delete(squadName);
95
+ this.activeRunners.delete(squadName);
127
96
  }
128
97
  }
129
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter-bridge.js","sourceRoot":"","sources":["../../src/bridge/openrouter-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openrouter-bridge.js","sourceRoot":"","sources":["../../src/bridge/openrouter-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIjG,uEAAuE;AACvE,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;IAC1D,MAAM,WAAW,GAA2B;QAC1C,WAAW,EAAE,WAAW;QACxB,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,SAAS;QACtB,YAAY,EAAE,MAAM;KACrB,CAAC;IACF,MAAM,OAAO,GAAsD;QACjE,2BAA2B,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;QAC3D,0BAA0B,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QACzD,eAAe,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;QAC/C,oBAAoB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QACnD,yBAAyB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QACxD,uBAAuB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QACtD,wBAAwB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QACvD,yBAAyB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QACxD,6BAA6B,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;KAC7D,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,MAAM;QACvC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;KAC/C,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,aAAa,CAAC;AAMtD,MAAM,OAAO,gBAAgB;IAClB,IAAI,GAAG,YAAqB,CAAC;IAE9B,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;IAChC,aAAa,GAAG,IAAI,GAAG,EAA2B,CAAC;IAE3D,YAAY,OAAgC;QAC1C,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,CAAC,IAAuB;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC;QACvC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,wEAAwE,EAAE,CAAC,CAAC;YAChH,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;eACnB,OAAO,CAAC,GAAG,CAAC,wBAAwB;eACpC,aAAa,CAAC;QAEnB,OAAO,CAAC,GAAG,CAAC,kCAAkC,KAAK,aAAa,GAAG,GAAG,CAAC,CAAC;QAExE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAExC,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM;YACN,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,CAAC,IAAY,EAAE,IAAa,EAAE,EAAE;gBAC1C,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC9D,CAAC;SACF,CAAC;QACF,yEAAyE;QACzE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QAEvC,KAAK,CAAC,GAAG,EAAE;aACR,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,OAAO,CAAC,GAAG,CAAC,wCAAwC,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5F,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,KAAK,CAAC,sCAAsC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;YAClE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,QAAQ,CAAC,SAAiB;QACxB,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,CAAC,SAAiB;QACpB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,oCAAoC,IAAI,CAAC,aAAa,CAAC,IAAI,kBAAkB,CAAC,CAAC;YAC3F,KAAK,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBAChD,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,uBAAuB;IACzB,IAAI,GAAG,YAAY,CAAC;IAE7B,MAAM;QACJ,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,MAAqB;QAC1B,OAAO,IAAI,gBAAgB,CAAC;YAC1B,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,QAAQ,EAAE,EAAE,CAAC;SACxF,CAAC,CAAC;IACL,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expxagents",
3
- "version": "0.27.0",
3
+ "version": "0.28.0",
4
4
  "description": "Multi-agent orchestration platform for AI squads",
5
5
  "author": "ExpxAgents",
6
6
  "license": "MIT",
@@ -41,6 +41,7 @@
41
41
  "dependencies": {
42
42
  "@anthropic-ai/sdk": "^0.80.0",
43
43
  "@aws-sdk/client-sesv2": "^3.800.0",
44
+ "@expxagents/agent": "file:../packages/agent-cli",
44
45
  "@expxagents/registry-client": "^0.1.0",
45
46
  "@fastify/cookie": "^11.0.2",
46
47
  "@fastify/cors": "^10.0.2",