expxagents 0.25.3 → 0.26.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.
Files changed (63) hide show
  1. package/dist/cli/src/__tests__/cli.test.d.ts +1 -0
  2. package/dist/cli/src/__tests__/cli.test.js +23 -0
  3. package/dist/cli/src/commands/__tests__/outdated.test.d.ts +1 -0
  4. package/dist/cli/src/commands/__tests__/outdated.test.js +76 -0
  5. package/dist/cli/src/mcp/__tests__/catalog.test.d.ts +1 -0
  6. package/dist/cli/src/mcp/__tests__/catalog.test.js +101 -0
  7. package/dist/cli/src/mcp/__tests__/detect.test.d.ts +1 -0
  8. package/dist/cli/src/mcp/__tests__/detect.test.js +84 -0
  9. package/dist/cli/src/mcp/__tests__/setup.test.d.ts +1 -0
  10. package/dist/cli/src/mcp/__tests__/setup.test.js +75 -0
  11. package/dist/cli/src/mcp/__tests__/validate.test.d.ts +1 -0
  12. package/dist/cli/src/mcp/__tests__/validate.test.js +42 -0
  13. package/dist/cli/src/pencil/__tests__/detect.test.d.ts +1 -0
  14. package/dist/cli/src/pencil/__tests__/detect.test.js +71 -0
  15. package/dist/cli/src/pencil/__tests__/property-mapper.test.d.ts +1 -0
  16. package/dist/cli/src/pencil/__tests__/property-mapper.test.js +120 -0
  17. package/dist/cli/src/pencil/__tests__/template-sync.test.d.ts +1 -0
  18. package/dist/cli/src/pencil/__tests__/template-sync.test.js +95 -0
  19. package/dist/cli/src/runners/__tests__/provider-registry.test.d.ts +1 -0
  20. package/dist/cli/src/runners/__tests__/provider-registry.test.js +31 -0
  21. package/dist/cli/src/runners/__tests__/provider-runner.test.d.ts +1 -0
  22. package/dist/cli/src/runners/__tests__/provider-runner.test.js +86 -0
  23. package/dist/cli/src/utils/__tests__/command-prefix.test.d.ts +1 -0
  24. package/dist/cli/src/utils/__tests__/command-prefix.test.js +35 -0
  25. package/dist/cli/src/utils/__tests__/global-install.test.d.ts +1 -0
  26. package/dist/cli/src/utils/__tests__/global-install.test.js +25 -0
  27. package/dist/core/squad-loader.d.ts +1 -1
  28. package/dist/core/squad-loader.js +1 -1
  29. package/dist/dashboard/assets/{BufferResource-D79vaoFm.js → BufferResource-B4aTz6VL.js} +1 -1
  30. package/dist/dashboard/assets/{CanvasRenderer-BUoxTNKV.js → CanvasRenderer-f7Sg6rlD.js} +1 -1
  31. package/dist/dashboard/assets/JarvisView-hj3PWSbz.js +1 -0
  32. package/dist/dashboard/assets/{RenderTargetSystem-B7rwTXA1.js → RenderTargetSystem-BTJFLZyF.js} +1 -1
  33. package/dist/dashboard/assets/ThreeBackground-jFBj6R5y.js +1 -0
  34. package/dist/dashboard/assets/{WebGLRenderer-DgdVNsZ9.js → WebGLRenderer-CADhndt7.js} +1 -1
  35. package/dist/dashboard/assets/{WebGPURenderer-DnQNvjEQ.js → WebGPURenderer-CdQ9YX2D.js} +1 -1
  36. package/dist/dashboard/assets/{browserAll-Cbsk7DE4.js → browserAll-BpBqCs4J.js} +1 -1
  37. package/dist/dashboard/assets/index-ByWj22DT.js +1195 -0
  38. package/dist/dashboard/assets/{webworkerAll-BLmfReEj.js → webworkerAll-B8azNO_U.js} +1 -1
  39. package/dist/dashboard/index.html +1 -1
  40. package/dist/data/opensquad.db +0 -0
  41. package/dist/data/opensquad.db-shm +0 -0
  42. package/dist/data/opensquad.db-wal +0 -0
  43. package/dist/server/bridge/engine.d.ts +2 -2
  44. package/dist/server/bridge/engine.d.ts.map +1 -1
  45. package/dist/server/bridge/factory.d.ts.map +1 -1
  46. package/dist/server/bridge/factory.js +2 -0
  47. package/dist/server/bridge/factory.js.map +1 -1
  48. package/dist/server/bridge/gemini-bridge.d.ts +21 -0
  49. package/dist/server/bridge/gemini-bridge.d.ts.map +1 -0
  50. package/dist/server/bridge/gemini-bridge.js +248 -0
  51. package/dist/server/bridge/gemini-bridge.js.map +1 -0
  52. package/dist/server/config/engine-config.d.ts +1 -1
  53. package/dist/server/config/engine-config.d.ts.map +1 -1
  54. package/dist/server/config/engine-config.js +2 -2
  55. package/dist/server/config/engine-config.js.map +1 -1
  56. package/dist/server/scheduler/__tests__/scheduler-service.test.js +1 -1
  57. package/dist/server/scheduler/__tests__/scheduler-service.test.js.map +1 -1
  58. package/dist/server/scheduler/scheduler-service.js +2 -2
  59. package/dist/server/scheduler/scheduler-service.js.map +1 -1
  60. package/package.json +1 -1
  61. package/dist/dashboard/assets/JarvisView-DSN7xWMz.js +0 -1
  62. package/dist/dashboard/assets/ThreeBackground-BQTdScX-.js +0 -1
  63. package/dist/dashboard/assets/index-CrlhoBta.js +0 -783
@@ -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-CrlhoBta.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-ByWj22DT.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-CrlhoBta.js"></script>
7
+ <script type="module" crossorigin src="/assets/index-ByWj22DT.js"></script>
8
8
  <link rel="stylesheet" crossorigin href="/assets/index-DtbIzZ5n.css">
9
9
  </head>
10
10
  <body>
Binary file
Binary file
Binary file
@@ -27,9 +27,9 @@ export interface EngineSendOptions {
27
27
  message: string;
28
28
  }) => void;
29
29
  }
30
- export type EngineType = 'claude-code' | 'opencode' | 'auto';
30
+ export type EngineType = 'claude-code' | 'opencode' | 'gemini' | 'auto';
31
31
  export interface AgentEngine {
32
- readonly type: 'claude-code' | 'opencode';
32
+ readonly type: 'claude-code' | 'opencode' | 'gemini';
33
33
  send(opts: EngineSendOptions): void;
34
34
  isActive(squadName: string): boolean;
35
35
  kill(squadName: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/bridge/engine.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACpE;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACpE;AAED,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,UAAU,GAAG,MAAM,CAAC;AAE7D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,UAAU,CAAC;IAC1C,IAAI,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/bridge/engine.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACpE;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACpE;AAED,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,UAAU,GAAG,QAAQ,CAAC;IACrD,IAAI,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/bridge/factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAU/C,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,WAAW,CAI3D"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/bridge/factory.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAW/C,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,WAAW,CAI3D"}
@@ -1,6 +1,7 @@
1
1
  import { bridgeRegistry } from './registry.js';
2
2
  import { ClaudeBridgeFactory } from './claude-bridge.js';
3
3
  import { OpenCodeBridgeFactory } from './opencode-bridge.js';
4
+ import { GeminiBridgeFactory } from './gemini-bridge.js';
4
5
  import { getEngine } from '../config/engine-config.js';
5
6
  let registered = false;
6
7
  function ensureRegistered() {
@@ -8,6 +9,7 @@ function ensureRegistered() {
8
9
  return;
9
10
  bridgeRegistry.register(new ClaudeBridgeFactory());
10
11
  bridgeRegistry.register(new OpenCodeBridgeFactory());
12
+ bridgeRegistry.register(new GeminiBridgeFactory());
11
13
  registered = true;
12
14
  }
13
15
  export function createEngine(type) {
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/bridge/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAmB,MAAM,4BAA4B,CAAC;AAGxE,IAAI,UAAU,GAAG,KAAK,CAAC;AACvB,SAAS,gBAAgB;IACvB,IAAI,UAAU;QAAE,OAAO;IACvB,cAAc,CAAC,QAAQ,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;IACnD,cAAc,CAAC,QAAQ,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;IACrD,UAAU,GAAG,IAAI,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAiB;IAC5C,gBAAgB,EAAE,CAAC;IACnB,MAAM,MAAM,GAAG,IAAI,IAAI,SAAS,EAAE,CAAC;IACnC,OAAO,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/bridge/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAmB,MAAM,4BAA4B,CAAC;AAGxE,IAAI,UAAU,GAAG,KAAK,CAAC;AACvB,SAAS,gBAAgB;IACvB,IAAI,UAAU;QAAE,OAAO;IACvB,cAAc,CAAC,QAAQ,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;IACnD,cAAc,CAAC,QAAQ,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;IACrD,cAAc,CAAC,QAAQ,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;IACnD,UAAU,GAAG,IAAI,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAiB;IAC5C,gBAAgB,EAAE,CAAC;IACnB,MAAM,MAAM,GAAG,IAAI,IAAI,SAAS,EAAE,CAAC;IACnC,OAAO,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { EngineSendOptions } from './engine.js';
2
+ import type { BridgeFactory, BridgeConfig as RegistryBridgeConfig } from './registry.js';
3
+ export interface GeminiBridgeConfig {
4
+ timeoutMs: number;
5
+ }
6
+ export declare class GeminiBridge {
7
+ readonly type: "gemini";
8
+ private activeProcesses;
9
+ private timeoutMs;
10
+ private geminiBinary;
11
+ constructor(config?: Partial<GeminiBridgeConfig>);
12
+ send(opts: EngineSendOptions): void;
13
+ isActive(squadName: string): boolean;
14
+ kill(squadName: string): void;
15
+ }
16
+ export declare class GeminiBridgeFactory implements BridgeFactory {
17
+ readonly type = "gemini";
18
+ detect(): boolean;
19
+ create(config?: RegistryBridgeConfig): GeminiBridge;
20
+ }
21
+ //# sourceMappingURL=gemini-bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini-bridge.d.ts","sourceRoot":"","sources":["../../src/bridge/gemini-bridge.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,IAAI,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAEzF,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB;AAgDD,qBAAa,YAAY;IACvB,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;IAElC,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAS;gBAEjB,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC;IAMhD,IAAI,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;IA2KnC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIpC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAc9B;AAED,qBAAa,mBAAoB,YAAW,aAAa;IACvD,QAAQ,CAAC,IAAI,YAAY;IAEzB,MAAM,IAAI,OAAO;IASjB,MAAM,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,YAAY;CAKpD"}
@@ -0,0 +1,248 @@
1
+ import { spawn, execSync } from 'child_process';
2
+ import path from 'node:path';
3
+ import os from 'node:os';
4
+ import fs from 'node:fs';
5
+ import { sessionJournal } from './session-journal.js';
6
+ function summariseToolInput(name, params) {
7
+ switch (name) {
8
+ case 'read_file':
9
+ return `${params.file_path ?? ''}`;
10
+ case 'write_file':
11
+ case 'edit_file':
12
+ return `${params.file_path ?? ''}`;
13
+ case 'run_command':
14
+ case 'shell':
15
+ return `${(params.command ?? '').slice(0, 80)}`;
16
+ case 'list_directory':
17
+ return `${params.path ?? '.'}`;
18
+ case 'search_files':
19
+ case 'grep':
20
+ return `/${params.pattern ?? ''}/`;
21
+ default: {
22
+ // Generic: show first string param
23
+ const firstVal = Object.values(params).find((v) => typeof v === 'string');
24
+ return firstVal ? String(firstVal).slice(0, 60) : '';
25
+ }
26
+ }
27
+ }
28
+ function resolveGeminiBinary() {
29
+ try {
30
+ const resolved = execSync('which gemini', { encoding: 'utf-8', timeout: 3000 }).trim();
31
+ if (resolved)
32
+ return resolved;
33
+ }
34
+ catch { /* fallback below */ }
35
+ const home = os.homedir();
36
+ const candidates = [
37
+ path.join(home, '.local', 'bin', 'gemini'),
38
+ path.join(home, '.nvm', 'versions', 'node', 'v20.20.1', 'bin', 'gemini'),
39
+ '/usr/local/bin/gemini',
40
+ '/opt/homebrew/bin/gemini',
41
+ ];
42
+ for (const candidate of candidates) {
43
+ try {
44
+ execSync(`test -x "${candidate}"`, { timeout: 1000 });
45
+ return candidate;
46
+ }
47
+ catch { /* next */ }
48
+ }
49
+ return 'gemini';
50
+ }
51
+ export class GeminiBridge {
52
+ type = 'gemini';
53
+ activeProcesses = new Map();
54
+ timeoutMs;
55
+ geminiBinary;
56
+ constructor(config) {
57
+ this.timeoutMs = config?.timeoutMs ?? 300_000;
58
+ this.geminiBinary = resolveGeminiBinary();
59
+ console.log(`[gemini-bridge] Using gemini binary: ${this.geminiBinary}`);
60
+ }
61
+ send(opts) {
62
+ const key = opts.squadName ?? opts.cwd;
63
+ if (this.activeProcesses.has(key)) {
64
+ opts.onError({
65
+ code: null,
66
+ message: 'Pipeline is running — chat unavailable until pipeline completes',
67
+ });
68
+ return;
69
+ }
70
+ const args = ['--output-format', 'stream-json', '--yolo'];
71
+ if (opts.model) {
72
+ args.push('-m', opts.model);
73
+ }
74
+ // Validate cwd exists before spawning
75
+ if (!fs.existsSync(opts.cwd)) {
76
+ console.error(`[gemini-bridge] cwd does not exist: ${opts.cwd}`);
77
+ opts.onError({ code: null, message: `Squad directory not found: ${opts.cwd}` });
78
+ return;
79
+ }
80
+ console.log(`[gemini-bridge] binary=${this.geminiBinary} cwd=${opts.cwd} key="${key}"`);
81
+ let proc;
82
+ try {
83
+ const spawnEnv = { ...process.env };
84
+ const localBin = path.join(os.homedir(), '.local', 'bin');
85
+ if (spawnEnv.PATH && !spawnEnv.PATH.includes(localBin)) {
86
+ spawnEnv.PATH = `${localBin}:${spawnEnv.PATH}`;
87
+ }
88
+ // Ensure nvm node bin is in PATH
89
+ const nvmBin = path.join(os.homedir(), '.nvm', 'versions', 'node', 'v20.20.1', 'bin');
90
+ if (spawnEnv.PATH && !spawnEnv.PATH.includes(nvmBin) && fs.existsSync(nvmBin)) {
91
+ spawnEnv.PATH = `${nvmBin}:${spawnEnv.PATH}`;
92
+ }
93
+ proc = spawn(this.geminiBinary, args, {
94
+ cwd: opts.cwd,
95
+ env: spawnEnv,
96
+ stdio: ['pipe', 'pipe', 'pipe'],
97
+ });
98
+ }
99
+ catch (err) {
100
+ console.error(`[gemini-bridge] spawn failed:`, err);
101
+ opts.onError({ code: null, message: 'Gemini CLI not available' });
102
+ return;
103
+ }
104
+ this.activeProcesses.set(key, proc);
105
+ // Build prompt with session journal context
106
+ let finalPrompt = opts.prompt;
107
+ const injection = sessionJournal.buildInjection(key);
108
+ if (injection)
109
+ finalPrompt = injection + opts.prompt;
110
+ console.log(`[gemini-bridge] spawn gemini PID=${proc.pid} key="${key}" prompt=${finalPrompt.length} chars`);
111
+ proc.stdin?.write(finalPrompt);
112
+ proc.stdin?.end();
113
+ let stderrBuffer = '';
114
+ let fullText = '';
115
+ let lineBuffer = '';
116
+ let settled = false;
117
+ let stdoutErrorMessage = '';
118
+ let killTimer;
119
+ const cleanup = () => {
120
+ this.activeProcesses.delete(key);
121
+ clearTimeout(timeoutTimer);
122
+ clearTimeout(killTimer);
123
+ };
124
+ const timeoutTimer = setTimeout(() => {
125
+ if (settled)
126
+ return;
127
+ proc.kill('SIGTERM');
128
+ killTimer = setTimeout(() => {
129
+ proc.kill('SIGKILL');
130
+ }, 5000);
131
+ }, this.timeoutMs);
132
+ const processJsonLine = (line) => {
133
+ if (!line.trim())
134
+ return;
135
+ try {
136
+ const evt = JSON.parse(line);
137
+ // Gemini: {"type":"message","role":"assistant","content":"...","delta":true}
138
+ if (evt.type === 'message' && evt.role === 'assistant' && evt.content) {
139
+ const text = evt.content;
140
+ fullText += text;
141
+ opts.onChunk(text);
142
+ if (opts.onOutputChunk && opts.agentId && opts.agentName) {
143
+ opts.onOutputChunk(opts.agentId, opts.agentName, text);
144
+ }
145
+ }
146
+ // Gemini: {"type":"tool_use","tool_name":"...","parameters":{...}}
147
+ if (evt.type === 'tool_use' && opts.onActivity) {
148
+ const toolName = evt.tool_name;
149
+ const params = (evt.parameters ?? {});
150
+ const summary = summariseToolInput(toolName, params);
151
+ opts.onActivity(toolName, summary);
152
+ }
153
+ // Gemini: {"type":"result","status":"success","stats":{...}}
154
+ if (evt.type === 'result') {
155
+ if (evt.status === 'error') {
156
+ stdoutErrorMessage = evt.error_message ?? evt.message ?? 'Gemini execution error';
157
+ }
158
+ }
159
+ // Gemini: {"type":"error","message":"..."}
160
+ if (evt.type === 'error') {
161
+ stdoutErrorMessage = evt.message ?? JSON.stringify(evt);
162
+ console.log(`[gemini-bridge] stdout error event: ${stdoutErrorMessage}`);
163
+ }
164
+ }
165
+ catch {
166
+ // Not valid JSON — ignore
167
+ }
168
+ };
169
+ proc.stdout?.on('data', (data) => {
170
+ const chunk = data.toString('utf-8');
171
+ lineBuffer += chunk;
172
+ let newlineIndex;
173
+ while ((newlineIndex = lineBuffer.indexOf('\n')) !== -1) {
174
+ const line = lineBuffer.slice(0, newlineIndex);
175
+ lineBuffer = lineBuffer.slice(newlineIndex + 1);
176
+ processJsonLine(line);
177
+ }
178
+ });
179
+ proc.stderr?.on('data', (data) => {
180
+ const text = data.toString('utf-8');
181
+ stderrBuffer += text;
182
+ console.log(`[gemini-bridge] stderr: ${text.slice(0, 300)}`);
183
+ });
184
+ proc.on('error', (err) => {
185
+ console.error(`[gemini-bridge] process error for "${key}":`, err.message);
186
+ if (settled)
187
+ return;
188
+ settled = true;
189
+ cleanup();
190
+ opts.onError({ code: null, message: `Gemini CLI not available: ${err.message}` });
191
+ });
192
+ proc.on('close', (code) => {
193
+ if (lineBuffer.trim()) {
194
+ processJsonLine(lineBuffer);
195
+ lineBuffer = '';
196
+ }
197
+ console.log(`[gemini-bridge] close code=${code} fullText=${fullText.length} chars`);
198
+ if (settled)
199
+ return;
200
+ settled = true;
201
+ cleanup();
202
+ if (code !== 0 && code !== null) {
203
+ const stderrLastLine = stderrBuffer.trim().split('\n').pop() ?? '';
204
+ const errorDetail = stdoutErrorMessage || stderrLastLine || 'Unknown error';
205
+ opts.onError({ code, message: `Exit code ${code}: ${errorDetail}` });
206
+ }
207
+ else {
208
+ sessionJournal.record(key, fullText);
209
+ opts.onDone(fullText);
210
+ }
211
+ });
212
+ }
213
+ isActive(squadName) {
214
+ return this.activeProcesses.has(squadName);
215
+ }
216
+ kill(squadName) {
217
+ if (squadName === '__all__') {
218
+ for (const [key, proc] of this.activeProcesses) {
219
+ console.log(`[gemini-bridge] Killing process for "${key}"`);
220
+ proc.kill('SIGTERM');
221
+ }
222
+ this.activeProcesses.clear();
223
+ return;
224
+ }
225
+ const proc = this.activeProcesses.get(squadName);
226
+ if (proc) {
227
+ proc.kill('SIGTERM');
228
+ }
229
+ }
230
+ }
231
+ export class GeminiBridgeFactory {
232
+ type = 'gemini';
233
+ detect() {
234
+ try {
235
+ execSync('which gemini', { encoding: 'utf-8', timeout: 3000 });
236
+ return true;
237
+ }
238
+ catch {
239
+ return false;
240
+ }
241
+ }
242
+ create(config) {
243
+ return new GeminiBridge({
244
+ timeoutMs: config?.timeoutMs ?? parseInt(process.env.BRIDGE_TIMEOUT_MS ?? '300000', 10),
245
+ });
246
+ }
247
+ }
248
+ //# sourceMappingURL=gemini-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini-bridge.js","sourceRoot":"","sources":["../../src/bridge/gemini-bridge.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type EngineType = 'claude-code' | 'opencode' | 'auto';
1
+ export type EngineType = 'claude-code' | 'opencode' | 'gemini' | 'auto';
2
2
  export declare function getEngine(): EngineType;
3
3
  export declare function setEngine(engine: EngineType): void;
4
4
  //# sourceMappingURL=engine-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine-config.d.ts","sourceRoot":"","sources":["../../src/config/engine-config.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,UAAU,GAAG,MAAM,CAAC;AAI7D,wBAAgB,SAAS,IAAI,UAAU,CAiBtC;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAIlD"}
1
+ {"version":3,"file":"engine-config.d.ts","sourceRoot":"","sources":["../../src/config/engine-config.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;AAIxE,wBAAgB,SAAS,IAAI,UAAU,CAiBtC;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAIlD"}
@@ -6,12 +6,12 @@ export function getEngine() {
6
6
  const engineFile = path.join(cwd, ENGINE_FILE);
7
7
  if (fs.existsSync(engineFile)) {
8
8
  const content = fs.readFileSync(engineFile, 'utf-8').trim();
9
- if (content === 'claude-code' || content === 'opencode' || content === 'auto') {
9
+ if (content === 'claude-code' || content === 'opencode' || content === 'gemini' || content === 'auto') {
10
10
  return content;
11
11
  }
12
12
  }
13
13
  const envEngine = process.env.AGENT_ENGINE;
14
- if (envEngine === 'claude-code' || envEngine === 'opencode' || envEngine === 'auto') {
14
+ if (envEngine === 'claude-code' || envEngine === 'opencode' || envEngine === 'gemini' || envEngine === 'auto') {
15
15
  return envEngine;
16
16
  }
17
17
  return 'auto';
@@ -1 +1 @@
1
- {"version":3,"file":"engine-config.js","sourceRoot":"","sources":["../../src/config/engine-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,MAAM,WAAW,GAAG,SAAS,CAAC;AAE9B,MAAM,UAAU,SAAS;IACvB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAE/C,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5D,IAAI,OAAO,KAAK,aAAa,IAAI,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YAC9E,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,YAAsC,CAAC;IACrE,IAAI,SAAS,KAAK,aAAa,IAAI,SAAS,KAAK,UAAU,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACpF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAkB;IAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC/C,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"engine-config.js","sourceRoot":"","sources":["../../src/config/engine-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,MAAM,WAAW,GAAG,SAAS,CAAC;AAE9B,MAAM,UAAU,SAAS;IACvB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAE/C,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5D,IAAI,OAAO,KAAK,aAAa,IAAI,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACtG,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,YAAsC,CAAC;IACrE,IAAI,SAAS,KAAK,aAAa,IAAI,SAAS,KAAK,UAAU,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAC9G,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAkB;IAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC/C,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC"}
@@ -10,7 +10,7 @@ import YAML from 'yaml';
10
10
  // Mock node-cron
11
11
  vi.mock('node-cron', () => ({
12
12
  default: {
13
- schedule: vi.fn(() => ({ stop: vi.fn(), start: vi.fn() })),
13
+ schedule: vi.fn(() => ({ stop: vi.fn(), start: vi.fn(), destroy: vi.fn() })),
14
14
  validate: vi.fn(() => true),
15
15
  },
16
16
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler-service.test.js","sourceRoot":"","sources":["../../../src/scheduler/__tests__/scheduler-service.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler-service.test.js","sourceRoot":"","sources":["../../../src/scheduler/__tests__/scheduler-service.test.ts"],"names":[],"mappings":"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"}
@@ -63,7 +63,7 @@ export class SchedulerService {
63
63
  }
64
64
  stop() {
65
65
  for (const job of this.jobs.values()) {
66
- job.task.stop();
66
+ job.task.destroy();
67
67
  }
68
68
  this.jobs.clear();
69
69
  this.jobRunner.stopAll();
@@ -129,7 +129,7 @@ export class SchedulerService {
129
129
  unregister(squadName) {
130
130
  const job = this.jobs.get(squadName);
131
131
  if (job) {
132
- job.task.stop();
132
+ job.task.destroy();
133
133
  this.jobs.delete(squadName);
134
134
  }
135
135
  this.db.prepare('DELETE FROM scheduled_jobs WHERE squad_name = ?').run(squadName);
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler-service.js","sourceRoot":"","sources":["../../src/scheduler/scheduler-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler-service.js","sourceRoot":"","sources":["../../src/scheduler/scheduler-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expxagents",
3
- "version": "0.25.3",
3
+ "version": "0.26.0",
4
4
  "description": "Multi-agent orchestration platform for AI squads",
5
5
  "author": "ExpxAgents",
6
6
  "license": "MIT",
@@ -1 +0,0 @@
1
- var W=Object.defineProperty;var G=(c,a,o)=>a in c?W(c,a,{enumerable:!0,configurable:!0,writable:!0,value:o}):c[a]=o;var k=(c,a,o)=>G(c,typeof a!="symbol"?a+"":a,o);import{r as g,J as b,a as u,b as m,c as B,d as I,j as w,s as O}from"./index-CrlhoBta.js";const N=/\bava\b/i;function U(c){return N.test(c)}function q(c){if(!c)return[];if(c.length<=b.ttsSplitLength)return[c];const a=c.match(/[^.!?]+[.!?]+\s*/g)||[c],o=[];let n="";for(const e of a)n.length+e.length>b.ttsSplitLength&&n?(o.push(n.trim()),n=e):n+=e;return n.trim()&&o.push(n.trim()),o}function D(c){const a=globalThis.SpeechRecognition||globalThis.webkitSpeechRecognition,o=!!a;let n=null,e=null,s=null,t=null,i=!1,d=!1;function l(){if(a&&!(n!=null&&n._started)){d=!1,n=new a,n.continuous=!0,n.interimResults=!0,n.lang="pt-BR",n.onresult=p=>{var P;const r=p.results[p.resultIndex];if(!r)return;const f=((P=r[0])==null?void 0:P.transcript)??"",h=r.isFinal;if(i&&h){const R=f.replace(N,"").trim();R&&(i=!1,c.onUtterance(R));return}if(U(f)&&!d){const R=f.replace(/^.*?\bava\b\s*/i,"").trim();R&&h?(d=!0,c.onWakeWord(R)):R?h&&(d=!0,c.onWakeWord(R)):(d=!0,c.onWakeWord(""),i=!0)}},n.onend=()=>{if(n)try{n.start()}catch{}},n.onerror=()=>{};try{n.start()}catch{}}}function x(){if(n){const p=n;n=null;try{p.stop()}catch{}}}async function S(){try{t=await navigator.mediaDevices.getUserMedia({audio:!0}),s=new AudioContext;const p=s.createMediaStreamSource(t);e=s.createAnalyser(),e.fftSize=256,p.connect(e)}catch{e=null}}function T(p){x(),speechSynthesis.cancel();const y=q(p);if(y.length===0){c.onTTSEnd(),l();return}y.forEach((r,f)=>{const h=new SpeechSynthesisUtterance(r);h.lang="pt-BR",h.rate=1.05,h.pitch=1.25;const R=speechSynthesis.getVoices().filter(v=>v.lang.startsWith("pt")),M=R.find(v=>/female|femin|luciana|joana|francisca|fernanda|raquel|google.*br/i.test(v.name)&&!/male|masculin|felipe|daniel|luciano|ricardo/i.test(v.name))??R.find(v=>/luciana|francisca|fernanda/i.test(v.name));h.voice=M??R[0]??null,f===y.length-1&&(h.onend=()=>{c.onTTSEnd(),l()},h.onerror=()=>{c.onTTSEnd(),l()}),speechSynthesis.speak(h)})}function A(){speechSynthesis.cancel()}return{start:()=>{l(),typeof navigator<"u"&&navigator.mediaDevices&&S()},stop:()=>{x(),A(),t&&(t.getTracks().forEach(p=>p.stop()),t=null),s&&(s.close(),s=null),e=null},speak:T,cancelSpeech:A,isSupported:o,getAnalyser:()=>e}}function L(c){const a=g.useRef(null),o=g.useRef(c);o.current=c,g.useEffect(()=>{const t=D({onWakeWord:i=>o.current.onWakeWord(i),onUtterance:i=>o.current.onUtterance(i),onTTSEnd:()=>o.current.onTTSEnd()});return a.current=t,t.start(),()=>t.stop()},[]);const n=g.useCallback(t=>{var i;(i=a.current)==null||i.speak(t)},[]),e=g.useCallback(()=>{var t;(t=a.current)==null||t.cancelSpeech()},[]),s=g.useCallback(()=>{var t;return((t=a.current)==null?void 0:t.getAnalyser())??null},[]);return{speak:n,cancelSpeech:e,getAnalyser:s,isSupported:!!(globalThis.SpeechRecognition||globalThis.webkitSpeechRecognition)}}const j={STANDBY:u.orbStandby,GREETING:u.orbListening,LISTENING:u.orbListening,PROCESSING:u.orbProcessing,SPEAKING:u.orbSpeaking};class F{constructor(a){k(this,"canvas");k(this,"ctx");k(this,"particles");k(this,"destroyed",!1);this.canvas=a,this.ctx=a.getContext("2d"),this.particles=this.initParticles()}getParticleCount(){return this.particles.length}initParticles(){const a=b.particleCount,o=[];for(let n=0;n<a;n++)o.push({x:Math.random()*this.canvas.width,y:Math.random()*this.canvas.height,vx:(Math.random()-.5)*.5,vy:(Math.random()-.5)*.5,radius:b.particleMinRadius+Math.random()*(b.particleMaxRadius-b.particleMinRadius),alpha:.2+Math.random()*.6});return o}render(a){if(this.destroyed)return;const{ctx:o,canvas:n}=this,e=n.width,s=n.height,t=e/2,i=s/2;o.clearRect(0,0,e,s),o.fillStyle=u.background,o.fillRect(0,0,e,s),this.drawGrid(e,s,a.time),this.updateAndDrawParticles(a.mode,e,s),this.drawOrb(t,i,a),a.mode==="LISTENING"&&a.amplitudes&&this.drawWaveform(t,i,a.amplitudes),this.drawSquadsPanel(a.squads,s),this.drawStatusPanel(a,e,s),this.drawTranscript(a.transcript,t,s),o.fillStyle=u.textAccent,o.font="11px monospace",o.textAlign="center",o.textBaseline="bottom",o.globalAlpha=.5,o.fillText("── EXPXAGENTS AVA v1 ──",t,s-8),o.globalAlpha=1}drawGrid(a,o,n){const e=this.ctx,s=b.gridSpacing;e.strokeStyle=u.grid,e.lineWidth=.5,e.beginPath();for(let t=0;t<a;t+=s)e.moveTo(t,0),e.lineTo(t,o);e.stroke(),e.beginPath();for(let t=0;t<o;t+=s)e.moveTo(0,t),e.lineTo(a,t);e.stroke()}updateAndDrawParticles(a,o,n){const e=this.ctx,s=a==="LISTENING"||a==="PROCESSING"?2:1;for(const t of this.particles)t.x+=t.vx*s,t.y+=t.vy*s,t.x<0&&(t.x=o),t.x>o&&(t.x=0),t.y<0&&(t.y=n),t.y>n&&(t.y=0),e.beginPath(),e.arc(t.x,t.y,t.radius,0,Math.PI*2),e.fillStyle=u.particleStart,e.globalAlpha=t.alpha,e.fill();e.globalAlpha=1}drawOrb(a,o,n){const e=this.ctx,s=b.orbRadius,t=j[n.mode];e.save(),e.shadowBlur=n.mode==="STANDBY"?20:40,e.shadowColor=t;const i=e.createRadialGradient(a,o,0,a,o,s);if(i.addColorStop(0,t),i.addColorStop(1,"transparent"),e.fillStyle=i,e.beginPath(),e.arc(a,o,s,0,Math.PI*2),e.fill(),e.strokeStyle=t,e.lineWidth=b.orbRingWidth,e.beginPath(),n.mode==="PROCESSING"){const l=n.time/500%(Math.PI*2);e.arc(a,o,s+8,l,l+Math.PI*1.5)}else e.arc(a,o,s+8,0,Math.PI*2);if(e.stroke(),n.mode==="STANDBY"){const l=.5+.3*Math.sin(n.time/1500);e.globalAlpha=l,e.beginPath(),e.arc(a,o,s+4,0,Math.PI*2),e.fillStyle=t,e.fill(),e.globalAlpha=1}if(n.mode==="SPEAKING"){const l=.6+.4*Math.sin(n.time/200);e.globalAlpha=l,e.beginPath(),e.arc(a,o,s*(.9+.1*Math.sin(n.time/300)),0,Math.PI*2),e.fillStyle=t,e.fill(),e.globalAlpha=1}e.restore(),e.fillStyle=t,e.font="bold 12px monospace",e.textAlign="center",e.textBaseline="top";const d=n.mode==="PROCESSING"?"Processando...":n.mode;e.fillText(d,a,o+s+20),e.fillStyle=u.textPrimary,e.font="bold 16px monospace",e.fillText("AVA",a,o-s-30)}drawWaveform(a,o,n){const e=this.ctx,s=b.waveformBars,t=b.waveformMaxHeight,i=b.orbRadius+16;e.strokeStyle=u.orbListening,e.lineWidth=2;for(let d=0;d<s;d++){const l=d/s*Math.PI*2-Math.PI/2,x=Math.floor(d/s*n.length),S=(n[x]??0)/255,T=S*t,A=a+Math.cos(l)*i,p=o+Math.sin(l)*i,y=a+Math.cos(l)*(i+T),r=o+Math.sin(l)*(i+T);e.beginPath(),e.moveTo(A,p),e.lineTo(y,r),e.globalAlpha=.6+S*.4,e.stroke()}e.globalAlpha=1}drawSquadsPanel(a,o){const n=this.ctx,e=b.panelWidth,s=b.panelPadding,t=Math.max(200,a.length*28+60),i=(o-t)/2;n.fillStyle=u.panelBg,n.fillRect(s,i,e,t),n.strokeStyle=u.panelBorder,n.lineWidth=1,n.strokeRect(s,i,e,t),n.fillStyle=u.textAccent,n.font="bold 13px monospace",n.textAlign="left",n.textBaseline="top",n.fillText("SQUADS",s+10,i+10),n.font="12px monospace",a.forEach((d,l)=>{const x=i+40+l*28,S=d.active?"●":"○";n.fillStyle=d.active?u.orbSpeaking:u.textPrimary,n.fillText(`${S} ${d.name}`,s+10,x)})}drawStatusPanel(a,o,n){var p;const e=this.ctx,s=b.panelWidth,t=b.panelPadding,i=200,d=(n-i)/2,l=o-s-t;e.fillStyle=u.panelBg,e.fillRect(l,d,s,i),e.strokeStyle=u.panelBorder,e.lineWidth=1,e.strokeRect(l,d,s,i),e.fillStyle=u.textAccent,e.font="bold 13px monospace",e.textAlign="left",e.textBaseline="top",e.fillText("STATUS",l+10,d+10),e.font="12px monospace";const x=Math.floor(a.time/1e3),S=String(Math.floor(x/60)).padStart(2,"0"),T=String(x%60).padStart(2,"0"),A=[`Mode: ${a.mode}`,"Mic: ON",`Squad: ${((p=a.squads.find(y=>y.active))==null?void 0:p.name)??"---"}`,`Time: ${S}:${T}`];a.userName&&A.push(`User: ${a.userName}`),A.forEach((y,r)=>{e.fillStyle=u.textPrimary,e.fillText(y,l+10,d+40+r*24)})}drawTranscript(a,o,n){const e=this.ctx,s=a.slice(-10);if(s.length===0)return;const t=b.transcriptLineHeight,i=Math.min(700,this.canvas.width-100),d=s.length*t+24,l=o-i/2,x=n-d-40;e.fillStyle=u.panelBg,e.fillRect(l,x,i,d),e.strokeStyle=u.panelBorder,e.lineWidth=1,e.strokeRect(l,x,i,d),e.font="12px monospace",e.textAlign="left",e.textBaseline="top",s.forEach((S,T)=>{const A=x+12+T*t,p=S.role==="user"?"User: ":"Ava: ";e.fillStyle=S.role==="user"?u.textAccent:u.textAva;const y=Math.floor((i-20)/7),r=p+(S.text.length>y?S.text.slice(0,y-3)+"...":S.text);e.fillText(r,l+10,A)})}destroy(){this.destroyed=!0}}function _(){const c=g.useRef(null),a=g.useRef(null),o=g.useRef(0),n=g.useRef(Date.now()),[e,s]=g.useState(""),t=m(r=>r.messages);m(r=>r.userName);const i=B(r=>r.user);I(r=>r.squads),g.useEffect(()=>{i!=null&&i.username&&m.getState().setUserName(i.username)},[i==null?void 0:i.username]);const d=g.useRef(0);g.useEffect(()=>{if(t.length>d.current){const r=t[t.length-1];r.role==="assistant"&&m.getState().mode==="PROCESSING"&&(m.getState().setMode("SPEAKING"),S.current.speak(r.content))}d.current=t.length},[t]);const l=g.useCallback(r=>{const f=["Certo, vou verificar isso agora.","Entendido, deixa comigo.","Um momento, já estou processando.","Certo, já estou buscando a informação."],h=f[Math.floor(Math.random()*f.length)];S.current.speak(h)},[]),x=g.useCallback(r=>{const f=m.getState().selectedSquad??"_jarvis";m.getState().addMessage("user",r),l(r),m.getState().setMode("PROCESSING"),m.getState().clearStandbyTimer(),O(f,r)},[l]),S=g.useRef({speak:r=>{}}),{speak:T,getAnalyser:A,isSupported:p}=L({onWakeWord:r=>{const f=m.getState().mode;if(!(f==="PROCESSING"||f==="SPEAKING"))if(r)x(r);else{m.getState().setMode("GREETING");const h=m.getState().userName||"";T(h?`Olá ${h}, como posso ajudar?`:"Olá, como posso ajudar?")}},onUtterance:r=>{const f=m.getState().mode;f==="PROCESSING"||f==="SPEAKING"||x(r)},onTTSEnd:()=>{const r=m.getState().mode;(r==="GREETING"||r==="SPEAKING")&&(m.getState().setMode("LISTENING"),m.getState().startStandbyTimer())}});S.current.speak=T,g.useEffect(()=>{const r=c.current;if(!r)return;const f=()=>{r.width=window.innerWidth,r.height=window.innerHeight};f(),window.addEventListener("resize",f);const h=new F(r);a.current=h;const P=()=>{const R=A();let M=null;if(R){const E=new ArrayBuffer(R.frequencyBinCount);M=new Uint8Array(E),R.getByteFrequencyData(M)}const v=m.getState(),C=I.getState().squads;h.render({mode:v.mode,time:Date.now()-n.current,amplitudes:M,squads:C.map(E=>({name:E.code,active:E.code===v.selectedSquad})),transcript:v.messages.map(E=>({role:E.role,text:E.content})),userName:v.userName}),o.current=requestAnimationFrame(P)};return o.current=requestAnimationFrame(P),()=>{cancelAnimationFrame(o.current),h.destroy(),window.removeEventListener("resize",f)}},[A]),g.useEffect(()=>()=>{m.getState().clearStandbyTimer()},[]);const y=r=>{r.preventDefault(),e.trim()&&(x(e.trim()),s(""))};return w.jsxs("div",{style:{position:"fixed",inset:0,background:u.background,zIndex:1e3},children:[w.jsx("canvas",{ref:c,style:{display:"block",width:"100%",height:"100%"}}),!p&&w.jsx("div",{style:{position:"absolute",top:20,left:"50%",transform:"translateX(-50%)",color:u.orbProcessing,fontFamily:"monospace",fontSize:13,background:"rgba(255, 140, 0, 0.1)",border:"1px solid rgba(255, 140, 0, 0.3)",borderRadius:4,padding:"8px 16px",zIndex:1001},children:"Speech recognition not available. Use text input below."}),w.jsxs("form",{onSubmit:y,style:{position:"absolute",bottom:30,left:"50%",transform:"translateX(-50%)",display:"flex",gap:8,zIndex:1001},children:[w.jsx("input",{type:"text",value:e,onChange:r=>s(r.target.value),placeholder:p?"Or type a message...":"Type a message...",style:{width:400,padding:"8px 12px",background:"rgba(0, 200, 255, 0.08)",border:"1px solid rgba(0, 200, 255, 0.25)",borderRadius:4,color:u.textPrimary,fontFamily:"monospace",fontSize:13,outline:"none"}}),w.jsx("button",{type:"submit",style:{padding:"8px 16px",background:"rgba(0, 200, 255, 0.15)",border:"1px solid rgba(0, 200, 255, 0.25)",borderRadius:4,color:u.textAccent,fontFamily:"monospace",fontSize:13,cursor:"pointer"},children:"Send"})]})]})}export{_ as JarvisView};
@@ -1 +0,0 @@
1
- import{r as d,u as k,j as Z}from"./index-CrlhoBta.js";import{S as $,O as tt,W as et,B as q,a as G,P as ot,C as nt,b as st,L as it,c as rt,V as D}from"./three-BZk_I9Ly.js";const m=60,_=120,H=40;function at(){try{const R=document.createElement("canvas");return!!(R.getContext("webgl2")||R.getContext("webgl"))}catch{return!1}}function ut({opacity:R=1}){const N=d.useRef(null),T=d.useRef(0),C=d.useRef({x:0,y:0}),F=d.useRef(k.getState().theme),[S]=d.useState(()=>at());return d.useEffect(()=>k.subscribe(p=>{F.current=p.theme}),[]),d.useEffect(()=>{if(!S)return;const n=N.current;if(!n)return;const p=n.clientWidth,b=n.clientHeight,P=new $,M=new tt(0,p,0,b,-100,100),c=new et({alpha:!0,antialias:!0});c.setSize(p,b),c.setPixelRatio(Math.min(window.devicePixelRatio,2)),n.appendChild(c.domElement);const r=[],v=new q,g=new Float32Array(m*3);for(let e=0;e<m;e++){const s=Math.random()*p,u=Math.random()*b,E=(Math.random()-.5)*.3,L=(Math.random()-.5)*.3;r.push({position:new D(s,u,0),velocity:new D(E,L,0),baseY:u}),g[e*3]=s,g[e*3+1]=u,g[e*3+2]=0}v.setAttribute("position",new G(g,3));const A=new ot({size:2,color:new nt("#007acc"),transparent:!0,opacity:.6,sizeAttenuation:!1}),V=new st(v,A);P.add(V);const a=new q,I=m*m,Y=new Float32Array(I*6),X=new Float32Array(I*6);a.setAttribute("position",new G(Y,3)),a.setAttribute("color",new G(X,3));const z=new it({vertexColors:!0,transparent:!0,opacity:.12,depthTest:!1}),J=new rt(a,z);P.add(J);const O=e=>{const s=n.getBoundingClientRect();C.current.x=e.clientX-s.left,C.current.y=e.clientY-s.top};n.addEventListener("mousemove",O);let U=0;const j=()=>{T.current=requestAnimationFrame(j),U+=.005;const e=F.current==="dark",s=0,u=.478,E=.8;A.color.setRGB(s,u,E),A.opacity=e?.5:.35,z.opacity=e?.08:.05;const L=v.attributes.position.array,K=C.current.x,Q=C.current.y;for(let o=0;o<m;o++){const t=r[o];t.position.x+=t.velocity.x,t.position.y+=t.velocity.y+Math.sin(U+o*.1)*.08;const x=K-t.position.x,h=Q-t.position.y,l=Math.sqrt(x*x+h*h);l<200&&l>1&&(t.position.x+=x/l*H*.005,t.position.y+=h/l*H*.005),t.position.x<-10&&(t.position.x=p+10),t.position.x>p+10&&(t.position.x=-10),t.position.y<-10&&(t.position.y=b+10),t.position.y>b+10&&(t.position.y=-10),L[o*3]=t.position.x,L[o*3+1]=t.position.y}v.attributes.position.needsUpdate=!0;let B=0;const f=a.attributes.position.array,y=a.attributes.color.array;for(let o=0;o<m;o++)for(let t=o+1;t<m;t++){const x=r[o].position.x-r[t].position.x,h=r[o].position.y-r[t].position.y,l=Math.sqrt(x*x+h*h);if(l<_){const w=1-l/_,i=B*6;f[i]=r[o].position.x,f[i+1]=r[o].position.y,f[i+2]=0,f[i+3]=r[t].position.x,f[i+4]=r[t].position.y,f[i+5]=0,y[i]=s*w,y[i+1]=u*w,y[i+2]=E*w,y[i+3]=s*w,y[i+4]=u*w,y[i+5]=E*w,B++}}a.setDrawRange(0,B*2),a.attributes.position.needsUpdate=!0,a.attributes.color.needsUpdate=!0,c.render(P,M)};j();const W=()=>{const e=n.clientWidth,s=n.clientHeight;M.right=e,M.bottom=s,M.updateProjectionMatrix(),c.setSize(e,s)};return window.addEventListener("resize",W),()=>{cancelAnimationFrame(T.current),n.removeEventListener("mousemove",O),window.removeEventListener("resize",W),c.dispose(),v.dispose(),A.dispose(),a.dispose(),z.dispose(),n.contains(c.domElement)&&n.removeChild(c.domElement)}},[S]),S?Z.jsx("div",{ref:N,style:{position:"absolute",inset:0,zIndex:0,pointerEvents:"auto",opacity:R}}):null}export{ut as ThreeBackground};