agentrix 0.0.6 → 0.2.1

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 (153) hide show
  1. package/dist/api/auth.d.ts +11 -0
  2. package/dist/api/auth.d.ts.map +1 -1
  3. package/dist/api/auth.js +18 -3
  4. package/dist/api/auth.js.map +1 -1
  5. package/dist/api/automation.d.ts +27 -2
  6. package/dist/api/automation.d.ts.map +1 -1
  7. package/dist/api/automation.js +43 -15
  8. package/dist/api/automation.js.map +1 -1
  9. package/dist/api/base-handler.d.ts +9 -0
  10. package/dist/api/base-handler.d.ts.map +1 -1
  11. package/dist/api/base-handler.js +14 -12
  12. package/dist/api/base-handler.js.map +1 -1
  13. package/dist/api/create-plan.d.ts +11 -0
  14. package/dist/api/create-plan.d.ts.map +1 -1
  15. package/dist/api/create-plan.js +25 -10
  16. package/dist/api/create-plan.js.map +1 -1
  17. package/dist/api/git-status.d.ts +12 -0
  18. package/dist/api/git-status.d.ts.map +1 -1
  19. package/dist/api/git-status.js +20 -4
  20. package/dist/api/git-status.js.map +1 -1
  21. package/dist/api/plans.d.ts +18 -0
  22. package/dist/api/plans.d.ts.map +1 -1
  23. package/dist/api/plans.js +33 -14
  24. package/dist/api/plans.js.map +1 -1
  25. package/dist/api/ports.d.ts +20 -0
  26. package/dist/api/ports.d.ts.map +1 -0
  27. package/dist/api/ports.js +67 -0
  28. package/dist/api/ports.js.map +1 -0
  29. package/dist/api/repo-dashboard.d.ts.map +1 -1
  30. package/dist/api/repo-dashboard.js +4 -5
  31. package/dist/api/repo-dashboard.js.map +1 -1
  32. package/dist/api/repo-issue.d.ts.map +1 -1
  33. package/dist/api/repo-issue.js +6 -9
  34. package/dist/api/repo-issue.js.map +1 -1
  35. package/dist/api/repos.d.ts +5 -1
  36. package/dist/api/repos.d.ts.map +1 -1
  37. package/dist/api/repos.js +2 -2
  38. package/dist/api/repos.js.map +1 -1
  39. package/dist/api/sessions.d.ts +5 -1
  40. package/dist/api/sessions.d.ts.map +1 -1
  41. package/dist/api/sessions.js +2 -2
  42. package/dist/api/sessions.js.map +1 -1
  43. package/dist/api/tasks.d.ts +6 -1
  44. package/dist/api/tasks.d.ts.map +1 -1
  45. package/dist/api/tasks.js +7 -3
  46. package/dist/api/tasks.js.map +1 -1
  47. package/dist/api/terminal.d.ts +5 -2
  48. package/dist/api/terminal.d.ts.map +1 -1
  49. package/dist/api/terminal.js +2 -1
  50. package/dist/api/terminal.js.map +1 -1
  51. package/dist/api/worktrees.d.ts +5 -1
  52. package/dist/api/worktrees.d.ts.map +1 -1
  53. package/dist/api/worktrees.js +2 -2
  54. package/dist/api/worktrees.js.map +1 -1
  55. package/dist/cli/plans-command.d.ts +9 -0
  56. package/dist/cli/plans-command.d.ts.map +1 -1
  57. package/dist/cli/plans-command.js +17 -4
  58. package/dist/cli/plans-command.js.map +1 -1
  59. package/dist/cli/server-starter.d.ts +6 -0
  60. package/dist/cli/server-starter.d.ts.map +1 -1
  61. package/dist/cli/server-starter.js +14 -2
  62. package/dist/cli/server-starter.js.map +1 -1
  63. package/dist/core/agents.d.ts +11 -0
  64. package/dist/core/agents.d.ts.map +1 -1
  65. package/dist/core/agents.js +22 -8
  66. package/dist/core/agents.js.map +1 -1
  67. package/dist/core/auth.d.ts +10 -0
  68. package/dist/core/auth.d.ts.map +1 -1
  69. package/dist/core/auth.js +18 -4
  70. package/dist/core/auth.js.map +1 -1
  71. package/dist/core/automation/branch.d.ts.map +1 -1
  72. package/dist/core/automation/branch.js +1 -0
  73. package/dist/core/automation/branch.js.map +1 -1
  74. package/dist/core/automation/plan.d.ts.map +1 -1
  75. package/dist/core/automation/plan.js +1 -0
  76. package/dist/core/automation/plan.js.map +1 -1
  77. package/dist/core/automation/request-validation.d.ts.map +1 -1
  78. package/dist/core/automation/request-validation.js +1 -0
  79. package/dist/core/automation/request-validation.js.map +1 -1
  80. package/dist/core/automation/task-runner.d.ts.map +1 -1
  81. package/dist/core/automation/task-runner.js +1 -0
  82. package/dist/core/automation/task-runner.js.map +1 -1
  83. package/dist/core/branch-name.d.ts +10 -0
  84. package/dist/core/branch-name.d.ts.map +1 -1
  85. package/dist/core/branch-name.js +19 -6
  86. package/dist/core/branch-name.js.map +1 -1
  87. package/dist/core/plan-storage.js +2 -2
  88. package/dist/core/plan-storage.js.map +1 -1
  89. package/dist/core/ports.d.ts +47 -0
  90. package/dist/core/ports.d.ts.map +1 -0
  91. package/dist/core/ports.js +139 -0
  92. package/dist/core/ports.js.map +1 -0
  93. package/dist/core/terminal-sessions.d.ts +19 -0
  94. package/dist/core/terminal-sessions.d.ts.map +1 -1
  95. package/dist/core/terminal-sessions.js +44 -21
  96. package/dist/core/terminal-sessions.js.map +1 -1
  97. package/dist/core/tmux.d.ts.map +1 -1
  98. package/dist/core/tmux.js +1 -0
  99. package/dist/core/tmux.js.map +1 -1
  100. package/dist/repositories/git-repository.d.ts +6 -0
  101. package/dist/repositories/git-repository.d.ts.map +1 -1
  102. package/dist/repositories/git-repository.js +9 -1
  103. package/dist/repositories/git-repository.js.map +1 -1
  104. package/dist/repositories/git-status-repository.d.ts.map +1 -1
  105. package/dist/repositories/git-status-repository.js +1 -0
  106. package/dist/repositories/git-status-repository.js.map +1 -1
  107. package/dist/repositories/repository-repository.d.ts +13 -0
  108. package/dist/repositories/repository-repository.d.ts.map +1 -1
  109. package/dist/repositories/repository-repository.js +29 -7
  110. package/dist/repositories/repository-repository.js.map +1 -1
  111. package/dist/repositories/worktree-repository.d.ts +11 -0
  112. package/dist/repositories/worktree-repository.d.ts.map +1 -1
  113. package/dist/repositories/worktree-repository.js +8 -1
  114. package/dist/repositories/worktree-repository.js.map +1 -1
  115. package/dist/server/events.d.ts +13 -0
  116. package/dist/server/events.d.ts.map +1 -1
  117. package/dist/server/events.js +28 -12
  118. package/dist/server/events.js.map +1 -1
  119. package/dist/server/index.d.ts.map +1 -1
  120. package/dist/server/index.js +4 -0
  121. package/dist/server/index.js.map +1 -1
  122. package/dist/server/router.d.ts +40 -1
  123. package/dist/server/router.d.ts.map +1 -1
  124. package/dist/server/router.js +69 -20
  125. package/dist/server/router.js.map +1 -1
  126. package/dist/server/websocket.d.ts +12 -0
  127. package/dist/server/websocket.d.ts.map +1 -1
  128. package/dist/server/websocket.js +21 -6
  129. package/dist/server/websocket.js.map +1 -1
  130. package/dist/services/repository-service.d.ts +14 -0
  131. package/dist/services/repository-service.d.ts.map +1 -1
  132. package/dist/services/repository-service.js +36 -8
  133. package/dist/services/repository-service.js.map +1 -1
  134. package/dist/services/session-service.d.ts +15 -0
  135. package/dist/services/session-service.d.ts.map +1 -1
  136. package/dist/services/session-service.js +38 -8
  137. package/dist/services/session-service.js.map +1 -1
  138. package/dist/services/terminal-service.d.ts +10 -0
  139. package/dist/services/terminal-service.d.ts.map +1 -1
  140. package/dist/services/terminal-service.js +30 -6
  141. package/dist/services/terminal-service.js.map +1 -1
  142. package/dist/services/worktree-service.d.ts.map +1 -1
  143. package/dist/services/worktree-service.js +1 -0
  144. package/dist/services/worktree-service.js.map +1 -1
  145. package/dist/utils/repository-cache.d.ts +11 -0
  146. package/dist/utils/repository-cache.d.ts.map +1 -1
  147. package/dist/utils/repository-cache.js +17 -2
  148. package/dist/utils/repository-cache.js.map +1 -1
  149. package/package.json +5 -3
  150. package/ui/dist/assets/{index-BI2EZLfU.js → index-BHFYmdd_.js} +179 -149
  151. package/ui/dist/assets/index-P9e6bW7_.css +41 -0
  152. package/ui/dist/index.html +2 -2
  153. package/ui/dist/assets/index-CwB7gOl4.css +0 -41
@@ -1,6 +1,28 @@
1
1
  import { discoverRepositories } from '../repositories/repository-repository.js';
2
2
  import { buildSanitisedWorktreeLookup, detectTmux, isTmuxAvailable, parseTmuxSessionName, runTmux, } from '../core/tmux.js';
3
3
  import { listActiveSessions, makeSessionKey } from '../core/terminal-sessions.js';
4
+ const sessionServiceDependencies = {
5
+ discoverRepositories,
6
+ buildSanitisedWorktreeLookup,
7
+ detectTmux,
8
+ isTmuxAvailable,
9
+ parseTmuxSessionName,
10
+ runTmux,
11
+ listActiveSessions,
12
+ makeSessionKey,
13
+ };
14
+ let sessionServiceTestOverrides = null;
15
+ function resolveSessionServiceDependency(key) {
16
+ const overrides = sessionServiceTestOverrides || {};
17
+ const override = overrides[key];
18
+ if (override) {
19
+ return override;
20
+ }
21
+ return sessionServiceDependencies[key];
22
+ }
23
+ export function __setSessionServiceTestOverrides(overrides) {
24
+ sessionServiceTestOverrides = overrides ?? null;
25
+ }
4
26
  /**
5
27
  * Type guard for finite numbers
6
28
  */
@@ -21,12 +43,14 @@ export class SessionService {
21
43
  */
22
44
  async listSessions() {
23
45
  const sessionLookup = new Map();
46
+ const listSessionsFn = resolveSessionServiceDependency('listActiveSessions');
47
+ const makeKey = resolveSessionServiceDependency('makeSessionKey');
24
48
  // Gather in-memory sessions
25
- listActiveSessions().forEach((session) => {
49
+ listSessionsFn().forEach((session) => {
26
50
  if (!session || !session.org || !session.repo || !session.branch) {
27
51
  return;
28
52
  }
29
- const key = makeSessionKey(session.org, session.repo, session.branch);
53
+ const key = makeKey(session.org, session.repo, session.branch);
30
54
  const lastActivityAtMs = typeof session.lastActivityAt === 'number'
31
55
  ? session.lastActivityAt
32
56
  : session.lastActivityAt instanceof Date
@@ -51,14 +75,18 @@ export class SessionService {
51
75
  }
52
76
  });
53
77
  // Discover orphaned tmux sessions
54
- await detectTmux();
55
- if (isTmuxAvailable()) {
78
+ const detect = resolveSessionServiceDependency('detectTmux');
79
+ const tmuxAvailable = resolveSessionServiceDependency('isTmuxAvailable');
80
+ await detect();
81
+ if (tmuxAvailable()) {
56
82
  const tmuxSessions = await this.discoverTmuxSessions();
57
83
  if (tmuxSessions.length > 0) {
58
84
  let lookup;
59
85
  try {
60
- const structure = await discoverRepositories(this.workdir);
61
- lookup = buildSanitisedWorktreeLookup(structure);
86
+ const repositoryDiscovery = resolveSessionServiceDependency('discoverRepositories');
87
+ const buildLookup = resolveSessionServiceDependency('buildSanitisedWorktreeLookup');
88
+ const structure = await repositoryDiscovery(this.workdir);
89
+ lookup = buildLookup(structure);
62
90
  }
63
91
  catch (error) {
64
92
  lookup = new Map();
@@ -100,8 +128,9 @@ export class SessionService {
100
128
  */
101
129
  async discoverTmuxSessions() {
102
130
  let stdout = '';
131
+ const run = resolveSessionServiceDependency('runTmux');
103
132
  try {
104
- const result = await runTmux(['list-sessions', '-F', '#S']);
133
+ const result = await run(['list-sessions', '-F', '#S']);
105
134
  stdout = result && typeof result.stdout === 'string' ? result.stdout : '';
106
135
  }
107
136
  catch (error) {
@@ -118,8 +147,9 @@ export class SessionService {
118
147
  .split('\n')
119
148
  .map((line) => line.trim())
120
149
  .filter(Boolean);
150
+ const parse = resolveSessionServiceDependency('parseTmuxSessionName');
121
151
  return names
122
- .map((name) => parseTmuxSessionName(name))
152
+ .map((name) => parse(name))
123
153
  .filter((parsed) => parsed !== null);
124
154
  }
125
155
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session-service.js","sourceRoot":"","sources":["../../src/services/session-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-service.js","sourceRoot":"","sources":["../../src/services/session-service.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { getOrCreateTerminalSession, getSessionById, queueSessionInput } from '../core/terminal-sessions.js';
2
+ import { launchAgentProcess } from '../core/agents.js';
1
3
  import type { TerminalOpenInput, TerminalSendInput } from '../validation/index.js';
2
4
  import type { ITerminalService } from '../types/services.js';
3
5
  export interface TerminalOpenResult {
@@ -9,6 +11,13 @@ export interface TerminalOpenResult {
9
11
  export interface TerminalSendResult {
10
12
  ok: boolean;
11
13
  }
14
+ type TerminalServiceDependencyOverrides = Partial<{
15
+ getOrCreateTerminalSession: typeof getOrCreateTerminalSession;
16
+ getSessionById: typeof getSessionById;
17
+ queueSessionInput: typeof queueSessionInput;
18
+ launchAgentProcess: typeof launchAgentProcess;
19
+ }>;
20
+ export declare function __setTerminalServiceTestOverrides(overrides?: TerminalServiceDependencyOverrides): void;
12
21
  /**
13
22
  * Service for terminal session orchestration
14
23
  */
@@ -40,4 +49,5 @@ export declare class TerminalService implements ITerminalService {
40
49
  export declare function createTerminalService(workdir: string, options?: {
41
50
  mode?: string;
42
51
  }): TerminalService;
52
+ export {};
43
53
  //# sourceMappingURL=terminal-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-service.d.ts","sourceRoot":"","sources":["../../src/services/terminal-service.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,OAAO,CAAC;CACb;AAED;;GAEG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IAG1C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAED,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAO;IAI7E;;;;OAIG;IACG,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA0D1E;;;;OAIG;IACG,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAWxE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,eAAe,CAEvG"}
1
+ {"version":3,"file":"terminal-service.d.ts","sourceRoot":"","sources":["../../src/services/terminal-service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,cAAc,EACd,iBAAiB,EAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,OAAO,CAAC;CACb;AAED,KAAK,kCAAkC,GAAG,OAAO,CAAC;IAChD,0BAA0B,EAAE,OAAO,0BAA0B,CAAC;IAC9D,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;CAC/C,CAAC,CAAC;AAsBH,wBAAgB,iCAAiC,CAAC,SAAS,CAAC,EAAE,kCAAkC,GAAG,IAAI,CAEtG;AAED;;GAEG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IAG1C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAED,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAO;IAI7E;;;;OAIG;IACG,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8D1E;;;;OAIG;IACG,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAaxE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,eAAe,CAEvG"}
@@ -1,6 +1,24 @@
1
1
  import { getOrCreateTerminalSession, getSessionById, queueSessionInput, } from '../core/terminal-sessions.js';
2
2
  import { launchAgentProcess } from '../core/agents.js';
3
3
  import { ValidationError } from '../infrastructure/errors/index.js';
4
+ const terminalServiceDependencies = {
5
+ getOrCreateTerminalSession,
6
+ getSessionById,
7
+ queueSessionInput,
8
+ launchAgentProcess,
9
+ };
10
+ let terminalServiceTestOverrides = null;
11
+ function resolveTerminalServiceDependency(key) {
12
+ const overrides = terminalServiceTestOverrides || {};
13
+ const override = overrides[key];
14
+ if (override) {
15
+ return override;
16
+ }
17
+ return terminalServiceDependencies[key];
18
+ }
19
+ export function __setTerminalServiceTestOverrides(overrides) {
20
+ terminalServiceTestOverrides = overrides ?? null;
21
+ }
4
22
  /**
5
23
  * Service for terminal session orchestration
6
24
  */
@@ -25,7 +43,8 @@ export class TerminalService {
25
43
  if (!command) {
26
44
  throw new ValidationError('command must be provided when prompt is included');
27
45
  }
28
- const { sessionId, createdSession } = await launchAgentProcess({
46
+ const launch = resolveTerminalServiceDependency('launchAgentProcess');
47
+ const { sessionId, createdSession } = await launch({
29
48
  command,
30
49
  workdir: this.workdir,
31
50
  org,
@@ -33,7 +52,8 @@ export class TerminalService {
33
52
  branch,
34
53
  prompt: prompt ?? '',
35
54
  });
36
- const session = getSessionById(sessionId);
55
+ const getSession = resolveTerminalServiceDependency('getSessionById');
56
+ const session = getSession(sessionId);
37
57
  if (!session) {
38
58
  throw new Error('Terminal session not found after launch');
39
59
  }
@@ -44,12 +64,14 @@ export class TerminalService {
44
64
  created: Boolean(createdSession),
45
65
  };
46
66
  }
47
- const result = await getOrCreateTerminalSession(this.workdir, org, repo, branch, { mode: this.mode });
67
+ const getOrCreate = resolveTerminalServiceDependency('getOrCreateTerminalSession');
68
+ const result = await getOrCreate(this.workdir, org, repo, branch, { mode: this.mode });
48
69
  const session = 'session' in result ? result.session : result;
49
70
  const created = 'created' in result ? result.created : false;
50
71
  if (command) {
51
72
  const commandInput = /[\r\n]$/.test(command) ? command : `${command}\r`;
52
- queueSessionInput(session, commandInput);
73
+ const queueInput = resolveTerminalServiceDependency('queueSessionInput');
74
+ queueInput(session, commandInput);
53
75
  }
54
76
  return {
55
77
  sessionId: session.id,
@@ -65,11 +87,13 @@ export class TerminalService {
65
87
  */
66
88
  async sendInput(params) {
67
89
  const { sessionId, input } = params;
68
- const session = getSessionById(sessionId);
90
+ const getSession = resolveTerminalServiceDependency('getSessionById');
91
+ const queueInput = resolveTerminalServiceDependency('queueSessionInput');
92
+ const session = getSession(sessionId);
69
93
  if (!session || session.closed) {
70
94
  throw new ValidationError('Terminal session not found');
71
95
  }
72
- queueSessionInput(session, input);
96
+ queueInput(session, input);
73
97
  return { ok: true };
74
98
  }
75
99
  }
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-service.js","sourceRoot":"","sources":["../../src/services/terminal-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-service.js","sourceRoot":"","sources":["../../src/services/terminal-service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-service.d.ts","sourceRoot":"","sources":["../../src/services/worktree-service.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAa7D,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IAEpD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBAFnB,OAAO,EAAE,MAAM,EACf,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO;IAG/C;;;;OAIG;IACG,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAmKhF;;;;OAIG;IACG,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAuC7E;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,GAC3B,eAAe,CAEjB"}
1
+ {"version":3,"file":"worktree-service.d.ts","sourceRoot":"","sources":["../../src/services/worktree-service.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAa7D,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IAEpD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBAFnB,OAAO,EAAE,MAAM,EACf,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO;IAG/C;;;;OAIG;IACG,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAmKhF;;;;OAIG;IACG,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAuC7E;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,mBAAmB,EAAE,OAAO,EAC5B,mBAAmB,EAAE,OAAO,GAC3B,eAAe,CAEjB"}
@@ -1,3 +1,4 @@
1
+ /* c8 ignore file */
1
2
  import { createWorktree, getWorktreePath, normalizeBranchName, removeWorktree, } from '../core/git.js';
2
3
  import { selectDefaultBranchOverride } from '../core/default-branch.js';
3
4
  import { detectTmux, isTmuxAvailable, makeTmuxSessionName, tmuxKillSession, } from '../core/tmux.js';
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-service.js","sourceRoot":"","sources":["../../src/services/worktree-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worktree-service.js","sourceRoot":"","sources":["../../src/services/worktree-service.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,19 @@
1
+ import { discoverRepositories } from '../repositories/repository-repository.js';
2
+ import { emitReposUpdate } from '../core/event-bus.js';
1
3
  import type { RepositoriesMap } from '../repositories/repository-repository.js';
4
+ interface Dependencies {
5
+ discoverRepositories: typeof discoverRepositories;
6
+ emitReposUpdate: typeof emitReposUpdate;
7
+ }
8
+ /**
9
+ * @internal Utility for tests to override repository discovery dependencies
10
+ */
11
+ export declare function __setRepositoryCacheTestOverrides(overrides?: Partial<Dependencies>): void;
2
12
  /**
3
13
  * Refreshes the repository cache by discovering repositories and emitting an update event
4
14
  * @param workdir - Work directory root
5
15
  * @returns Updated repository data
6
16
  */
7
17
  export declare function refreshRepositoryCache(workdir: string): Promise<RepositoriesMap>;
18
+ export {};
8
19
  //# sourceMappingURL=repository-cache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"repository-cache.d.ts","sourceRoot":"","sources":["../../src/utils/repository-cache.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAEhF;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAItF"}
1
+ {"version":3,"file":"repository-cache.d.ts","sourceRoot":"","sources":["../../src/utils/repository-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAEhF,UAAU,YAAY;IACpB,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,eAAe,EAAE,OAAO,eAAe,CAAC;CACzC;AASD;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAMzF;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAItF"}
@@ -1,13 +1,28 @@
1
1
  import { discoverRepositories } from '../repositories/repository-repository.js';
2
2
  import { emitReposUpdate } from '../core/event-bus.js';
3
+ const defaultDependencies = {
4
+ discoverRepositories,
5
+ emitReposUpdate,
6
+ };
7
+ let activeDependencies = { ...defaultDependencies };
8
+ /**
9
+ * @internal Utility for tests to override repository discovery dependencies
10
+ */
11
+ export function __setRepositoryCacheTestOverrides(overrides) {
12
+ if (!overrides) {
13
+ activeDependencies = { ...defaultDependencies };
14
+ return;
15
+ }
16
+ activeDependencies = { ...activeDependencies, ...overrides };
17
+ }
3
18
  /**
4
19
  * Refreshes the repository cache by discovering repositories and emitting an update event
5
20
  * @param workdir - Work directory root
6
21
  * @returns Updated repository data
7
22
  */
8
23
  export async function refreshRepositoryCache(workdir) {
9
- const data = await discoverRepositories(workdir);
10
- emitReposUpdate(data);
24
+ const data = await activeDependencies.discoverRepositories(workdir);
25
+ activeDependencies.emitReposUpdate(data);
11
26
  return data;
12
27
  }
13
28
  //# sourceMappingURL=repository-cache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"repository-cache.js","sourceRoot":"","sources":["../../src/utils/repository-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAAe;IAC1D,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACjD,eAAe,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"repository-cache.js","sourceRoot":"","sources":["../../src/utils/repository-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAQvD,MAAM,mBAAmB,GAAiB;IACxC,oBAAoB;IACpB,eAAe;CAChB,CAAC;AAEF,IAAI,kBAAkB,GAAiB,EAAE,GAAG,mBAAmB,EAAE,CAAC;AAElE;;GAEG;AACH,MAAM,UAAU,iCAAiC,CAAC,SAAiC;IACjF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,kBAAkB,GAAG,EAAE,GAAG,mBAAmB,EAAE,CAAC;QAChD,OAAO;IACT,CAAC;IACD,kBAAkB,GAAG,EAAE,GAAG,kBAAkB,EAAE,GAAG,SAAS,EAAE,CAAC;AAC/D,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAAe;IAC1D,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACpE,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentrix",
3
- "version": "0.0.6",
3
+ "version": "0.2.1",
4
4
  "description": "CLI utility for serving the agentrix UI",
5
5
  "license": "MIT",
6
6
  "author": "Simon Skinner (vultuk) <talkto@simonskinner.me>",
@@ -38,7 +38,8 @@
38
38
  "agentrix": "bin/agentrix.js"
39
39
  },
40
40
  "scripts": {
41
- "test": "tsx --test --test-concurrency=1",
41
+ "test": "tsx --test --test-concurrency=4 src/**/*.test.ts",
42
+ "test:coverage": "c8 --clean --reporter=text --reporter=lcov tsx --test --test-concurrency=4 src/**/*.test.ts",
42
43
  "start": "node bin/agentrix.js",
43
44
  "dev": "node bin/agentrix.js",
44
45
  "dev:ui": "node scripts/ensure-ui-deps.js && bun run --filter agentrix-ui dev",
@@ -88,6 +89,7 @@
88
89
  "jsdom": "^27.1.0",
89
90
  "tsx": "^4.20.6",
90
91
  "typescript": "^5.9.3",
91
- "typescript-eslint": "^8.15.0"
92
+ "typescript-eslint": "^8.15.0",
93
+ "c8": "^9.1.0"
92
94
  }
93
95
  }