agent-tower 0.1.17 → 0.2.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 (76) hide show
  1. package/dist/executors/default-providers.json +49 -0
  2. package/dist/executors/index.d.ts +19 -0
  3. package/dist/executors/index.d.ts.map +1 -1
  4. package/dist/executors/index.js +57 -1
  5. package/dist/executors/index.js.map +1 -1
  6. package/dist/executors/providers.d.ts +60 -0
  7. package/dist/executors/providers.d.ts.map +1 -0
  8. package/dist/executors/providers.js +210 -0
  9. package/dist/executors/providers.js.map +1 -0
  10. package/dist/mcp/http-client.d.ts +1 -1
  11. package/dist/mcp/http-client.d.ts.map +1 -1
  12. package/dist/mcp/http-client.js +4 -3
  13. package/dist/mcp/http-client.js.map +1 -1
  14. package/dist/mcp/tools/workspaces.d.ts.map +1 -1
  15. package/dist/mcp/tools/workspaces.js +2 -2
  16. package/dist/mcp/tools/workspaces.js.map +1 -1
  17. package/dist/mcp/types.d.ts +6 -3
  18. package/dist/mcp/types.d.ts.map +1 -1
  19. package/dist/mcp/types.js +3 -2
  20. package/dist/mcp/types.js.map +1 -1
  21. package/dist/routes/index.d.ts.map +1 -1
  22. package/dist/routes/index.js +4 -1
  23. package/dist/routes/index.js.map +1 -1
  24. package/dist/routes/providers.d.ts +13 -0
  25. package/dist/routes/providers.d.ts.map +1 -0
  26. package/dist/routes/providers.js +88 -0
  27. package/dist/routes/providers.js.map +1 -0
  28. package/dist/routes/sessions.d.ts.map +1 -1
  29. package/dist/routes/sessions.js +21 -2
  30. package/dist/routes/sessions.js.map +1 -1
  31. package/dist/services/session-manager.d.ts +6 -1
  32. package/dist/services/session-manager.d.ts.map +1 -1
  33. package/dist/services/session-manager.js +29 -8
  34. package/dist/services/session-manager.js.map +1 -1
  35. package/dist/services/task.service.d.ts +1 -0
  36. package/dist/services/task.service.d.ts.map +1 -1
  37. package/dist/services/workspace.service.d.ts +4 -0
  38. package/dist/services/workspace.service.d.ts.map +1 -1
  39. package/dist/web/assets/AgentDemoPage-BSwaYTTn.js +1 -0
  40. package/dist/web/assets/{DemoPage-Ch3yDhst.js → DemoPage-COQOvK1F.js} +1 -1
  41. package/dist/web/assets/NotificationSettingsPage-I37e8Cja.js +1 -0
  42. package/dist/web/assets/{ProfileSettingsPage-SY1j--cc.js → ProfileSettingsPage-C41acPy_.js} +2 -2
  43. package/dist/web/assets/{ProjectKanbanPage-BVNEXo_g.js → ProjectKanbanPage-muhS69do.js} +30 -30
  44. package/dist/web/assets/{ProjectSettingsPage-DgtBjtwV.js → ProjectSettingsPage-Ci6RCEuh.js} +1 -1
  45. package/dist/web/assets/ProviderSettingsPage-C4RWKeT2.js +1 -0
  46. package/dist/web/assets/{api-client-CYVkxZxe.js → api-client-BgGtEBLZ.js} +1 -1
  47. package/dist/web/assets/{chevron-down-Dzok5mXS.js → chevron-down-CSjiNsr1.js} +1 -1
  48. package/dist/web/assets/{circle-alert-BXpiLqxc.js → circle-alert-BLK0qmFR.js} +1 -1
  49. package/dist/web/assets/circle-check-2Nr2oR7j.js +1 -0
  50. package/dist/web/assets/code-block-OCS4YCEC-4utMfxlj.js +2 -0
  51. package/dist/web/assets/folder-picker-CdkmdxcN.js +1 -0
  52. package/dist/web/assets/index-Du9wvkpg.css +1 -0
  53. package/dist/web/assets/{index-CZamnkiT.js → index-lcSDlnFG.js} +8 -8
  54. package/dist/web/assets/{loader-circle-B0V1BKK9.js → loader-circle-CThLGciq.js} +1 -1
  55. package/dist/web/assets/log-adapter-c0KdMND6.js +2 -0
  56. package/dist/web/assets/{mermaid-NOHMQCX5-ClV7TGqZ.js → mermaid-NOHMQCX5-CwlTO-aA.js} +45 -46
  57. package/dist/web/assets/{modal-CNUololz.js → modal-BkSjtq_c.js} +1 -1
  58. package/dist/web/assets/pencil-DZGur3Re.js +1 -0
  59. package/dist/web/assets/{query-keys-9f1of0M9.js → query-keys-UGYtd9Gc.js} +1 -1
  60. package/dist/web/assets/{select-Cgo90lDO.js → select-BXJJmrTr.js} +1 -1
  61. package/dist/web/assets/{use-profiles-CZRSosix.js → use-profiles-CwsEnuVP.js} +1 -1
  62. package/dist/web/assets/{use-projects-D7MYQZ8I.js → use-projects-BLDo_HrB.js} +1 -1
  63. package/dist/web/assets/use-providers-D9zAvSP0.js +1 -0
  64. package/dist/web/assets/{x-BOFpDkK4.js → x-DoEOB7zu.js} +1 -1
  65. package/dist/web/index.html +2 -2
  66. package/node_modules/@agent-tower/shared/dist/types.d.ts +11 -0
  67. package/node_modules/@agent-tower/shared/dist/types.d.ts.map +1 -1
  68. package/node_modules/@agent-tower/shared/dist/types.js.map +1 -1
  69. package/package.json +1 -1
  70. package/prisma/migrations/20260317000000_add_provider_id/migration.sql +2 -0
  71. package/prisma/schema.prisma +1 -0
  72. package/dist/web/assets/AgentDemoPage-BSx9gNTt.js +0 -1
  73. package/dist/web/assets/NotificationSettingsPage-C0nKiZwh.js +0 -1
  74. package/dist/web/assets/code-block-OCS4YCEC-C_h_KpQs.js +0 -2
  75. package/dist/web/assets/folder-picker-CTNOta0Z.js +0 -1
  76. package/dist/web/assets/index-CY7Dhqkb.css +0 -1
@@ -0,0 +1,49 @@
1
+ {
2
+ "providers": [
3
+ {
4
+ "id": "claude-code-default",
5
+ "name": "Claude Code",
6
+ "agentType": "CLAUDE_CODE",
7
+ "env": {},
8
+ "config": {
9
+ "dangerouslySkipPermissions": true
10
+ },
11
+ "isDefault": true,
12
+ "builtIn": true
13
+ },
14
+ {
15
+ "id": "gemini-cli-default",
16
+ "name": "Gemini CLI",
17
+ "agentType": "GEMINI_CLI",
18
+ "env": {},
19
+ "config": {
20
+ "yolo": true
21
+ },
22
+ "isDefault": true,
23
+ "builtIn": true
24
+ },
25
+ {
26
+ "id": "cursor-agent-default",
27
+ "name": "Cursor Agent",
28
+ "agentType": "CURSOR_AGENT",
29
+ "env": {},
30
+ "config": {
31
+ "force": true,
32
+ "model": "auto"
33
+ },
34
+ "isDefault": true,
35
+ "builtIn": true
36
+ },
37
+ {
38
+ "id": "codex-default",
39
+ "name": "Codex",
40
+ "agentType": "CODEX",
41
+ "env": {},
42
+ "config": {
43
+ "fullAuto": true
44
+ },
45
+ "isDefault": true,
46
+ "builtIn": true
47
+ }
48
+ ]
49
+ }
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import { AgentType } from '../types/index.js';
7
7
  import { BaseExecutor, AvailabilityInfo } from './base.executor.js';
8
+ import { type Provider } from './providers.js';
8
9
  /**
9
10
  * 获取指定类型的执行器(支持 variant)
10
11
  *
@@ -12,6 +13,15 @@ import { BaseExecutor, AvailabilityInfo } from './base.executor.js';
12
13
  * @param variant - 配置变体名称,默认 'DEFAULT'
13
14
  */
14
15
  export declare function getExecutor(agentType: AgentType, variant?: string): BaseExecutor | undefined;
16
+ /**
17
+ * 根据 provider ID 创建 executor
18
+ * provider 的 env 会通过 CmdOverrides.env 注入,config 作为 executor 配置
19
+ */
20
+ export declare function getExecutorByProvider(providerId: string): BaseExecutor | undefined;
21
+ /**
22
+ * 根据 agentType 找默认 provider 创建 executor
23
+ */
24
+ export declare function getExecutorByAgentType(agentType: AgentType): BaseExecutor | undefined;
15
25
  /**
16
26
  * 获取所有已注册的 agent 类型
17
27
  */
@@ -32,6 +42,13 @@ export declare function getAllExecutorsAvailability(): Promise<Array<{
32
42
  displayName: string;
33
43
  availability: AvailabilityInfo;
34
44
  }>>;
45
+ /**
46
+ * 获取所有 providers 的可用性信息(用于前端选择 provider)
47
+ */
48
+ export declare function getAllProvidersAvailability(): Promise<Array<{
49
+ provider: Provider;
50
+ availability: AvailabilityInfo;
51
+ }>>;
35
52
  export { BaseExecutor, CancellationToken } from './base.executor.js';
36
53
  export { ClaudeCodeExecutor, PermissionMode } from './claude-code.executor.js';
37
54
  export { GeminiCliExecutor } from './gemini-cli.executor.js';
@@ -40,6 +57,7 @@ export { CodexExecutor } from './codex.executor.js';
40
57
  export { CommandBuilder } from './command-builder.js';
41
58
  export { ExecutionEnv } from './execution-env.js';
42
59
  export { getProfiles, loadProfiles, reloadProfiles, getVariantConfig, getVariantNames, setVariantConfig, deleteVariantConfig, getDefaultProfiles, } from './profiles.js';
60
+ export { getAllProviders, getProviderById, getProvidersByAgentType, getDefaultProvider, createProvider, updateProvider, deleteProvider, loadProviders, reloadProviders, getDefaultProviders, } from './providers.js';
43
61
  export type { AvailabilityInfo, SpawnedChild, ExecutorSpawnConfig, AgentCapability } from './base.executor.js';
44
62
  export type { ClaudeCodeConfig } from './claude-code.executor.js';
45
63
  export type { GeminiCliConfig } from './gemini-cli.executor.js';
@@ -48,4 +66,5 @@ export type { CodexConfig } from './codex.executor.js';
48
66
  export type { CmdOverrides, CommandParts } from './command-builder.js';
49
67
  export type { RepoContext } from './execution-env.js';
50
68
  export type { ExecutorProfiles, VariantConfig, AgentVariants } from './profiles.js';
69
+ export type { Provider, ProvidersData } from './providers.js';
51
70
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/executors/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AA2BpE;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,GAAE,MAAkB,GAAG,YAAY,GAAG,SAAS,CASvG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,SAAS,EAAE,CAE9C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,YAAY,EAAE,CAIhD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAWrE;AAED;;GAEG;AACH,wBAAsB,2BAA2B,IAAI,OAAO,CAC1D,KAAK,CAAC;IACJ,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,gBAAgB,CAAC;CAChC,CAAC,CACH,CAaA;AAGD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAGvB,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC/G,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/executors/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAMpE,OAAO,EAAwD,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAsBrG;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,GAAE,MAAkB,GAAG,YAAY,GAAG,SAAS,CASvG;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAIlF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY,GAAG,SAAS,CAIrF;AAiBD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,SAAS,EAAE,CAE9C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,YAAY,EAAE,CAIhD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAWrE;AAED;;GAEG;AACH,wBAAsB,2BAA2B,IAAI,OAAO,CAC1D,KAAK,CAAC;IACJ,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,gBAAgB,CAAC;CAChC,CAAC,CACH,CAaA;AAED;;GAEG;AACH,wBAAsB,2BAA2B,IAAI,OAAO,CAC1D,KAAK,CAAC;IACJ,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,gBAAgB,CAAC;CAChC,CAAC,CACH,CAqBA;AAGD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,eAAe,EACf,eAAe,EACf,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,cAAc,EACd,aAAa,EACb,eAAe,EACf,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC/G,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACpF,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
@@ -9,6 +9,7 @@ import { GeminiCliExecutor } from './gemini-cli.executor.js';
9
9
  import { CursorAgentExecutor } from './cursor-agent.executor.js';
10
10
  import { CodexExecutor } from './codex.executor.js';
11
11
  import { getVariantConfig } from './profiles.js';
12
+ import { getProviderById, getDefaultProvider, getAllProviders } from './providers.js';
12
13
  // ─── Executor Factory ────────────────────────────────────────────
13
14
  /**
14
15
  * 根据 agent 类型和 variant 配置创建 executor 实例
@@ -44,6 +45,39 @@ export function getExecutor(agentType, variant = 'DEFAULT') {
44
45
  }
45
46
  return createExecutor(agentType, config);
46
47
  }
48
+ /**
49
+ * 根据 provider ID 创建 executor
50
+ * provider 的 env 会通过 CmdOverrides.env 注入,config 作为 executor 配置
51
+ */
52
+ export function getExecutorByProvider(providerId) {
53
+ const provider = getProviderById(providerId);
54
+ if (!provider)
55
+ return undefined;
56
+ return createExecutorFromProvider(provider);
57
+ }
58
+ /**
59
+ * 根据 agentType 找默认 provider 创建 executor
60
+ */
61
+ export function getExecutorByAgentType(agentType) {
62
+ const provider = getDefaultProvider(agentType);
63
+ if (!provider)
64
+ return undefined;
65
+ return createExecutorFromProvider(provider);
66
+ }
67
+ /**
68
+ * 从 Provider 创建 executor 实例
69
+ */
70
+ function createExecutorFromProvider(provider) {
71
+ const agentType = provider.agentType;
72
+ const config = {
73
+ ...provider.config,
74
+ // 将 provider.env 注入到 cmd.env,这样会在 spawnInternal 时通过 withProfile 合并到环境变量
75
+ cmd: {
76
+ env: provider.env,
77
+ },
78
+ };
79
+ return createExecutor(agentType, config);
80
+ }
47
81
  /**
48
82
  * 获取所有已注册的 agent 类型
49
83
  */
@@ -86,6 +120,26 @@ export async function getAllExecutorsAvailability() {
86
120
  }
87
121
  return results;
88
122
  }
123
+ /**
124
+ * 获取所有 providers 的可用性信息(用于前端选择 provider)
125
+ */
126
+ export async function getAllProvidersAvailability() {
127
+ const providers = getAllProviders();
128
+ const results = [];
129
+ // 缓存每种 agentType 的可用性结果,避免重复检查
130
+ const availabilityCache = new Map();
131
+ for (const provider of providers) {
132
+ const agentType = provider.agentType;
133
+ let availability = availabilityCache.get(agentType);
134
+ if (!availability) {
135
+ const executor = createExecutorFromProvider(provider);
136
+ availability = await executor.getAvailabilityInfo();
137
+ availabilityCache.set(agentType, availability);
138
+ }
139
+ results.push({ provider, availability });
140
+ }
141
+ return results;
142
+ }
89
143
  // 导出类
90
144
  export { BaseExecutor, CancellationToken } from './base.executor.js';
91
145
  export { ClaudeCodeExecutor, PermissionMode } from './claude-code.executor.js';
@@ -94,6 +148,8 @@ export { CursorAgentExecutor } from './cursor-agent.executor.js';
94
148
  export { CodexExecutor } from './codex.executor.js';
95
149
  export { CommandBuilder } from './command-builder.js';
96
150
  export { ExecutionEnv } from './execution-env.js';
97
- // 导出 profiles
151
+ // 导出 profiles (deprecated — 保留向后兼容)
98
152
  export { getProfiles, loadProfiles, reloadProfiles, getVariantConfig, getVariantNames, setVariantConfig, deleteVariantConfig, getDefaultProfiles, } from './profiles.js';
153
+ // 导出 providers
154
+ export { getAllProviders, getProviderById, getProvidersByAgentType, getDefaultProvider, createProvider, updateProvider, deleteProvider, loadProviders, reloadProviders, getDefaultProviders, } from './providers.js';
99
155
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/executors/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/executors/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Provider 配置管理
3
+ *
4
+ * Provider = AgentType + 名称 + 环境变量(连接配置) + 运行参数
5
+ *
6
+ * 数据结构: { providers: Provider[] }
7
+ * - 内置默认配置 (default-providers.json)
8
+ * - 用户自定义 ($AGENT_TOWER_DATA_DIR/providers.json)
9
+ * - 合并策略: 内置 providers 始终存在,用户可新增或覆盖内置 provider 的配置
10
+ */
11
+ import { AgentType } from '../types/index.js';
12
+ export interface Provider {
13
+ id: string;
14
+ name: string;
15
+ agentType: AgentType | string;
16
+ /** 环境变量,启动进程时注入(API URL、API Key 等) */
17
+ env: Record<string, string>;
18
+ /** Agent 运行参数(如 dangerouslySkipPermissions、model、plan 等) */
19
+ config: Record<string, unknown>;
20
+ /** 是否为该 AgentType 的默认 provider */
21
+ isDefault: boolean;
22
+ /** 是否内置(不可删除) */
23
+ builtIn?: boolean;
24
+ createdAt?: string;
25
+ }
26
+ export interface ProvidersData {
27
+ providers: Provider[];
28
+ }
29
+ /**
30
+ * 加载 providers(内置 + 用户合并)
31
+ */
32
+ export declare function loadProviders(): Provider[];
33
+ /**
34
+ * 获取所有 providers(带缓存)
35
+ */
36
+ export declare function getAllProviders(): Provider[];
37
+ /**
38
+ * 重新加载
39
+ */
40
+ export declare function reloadProviders(): Provider[];
41
+ /**
42
+ * 根据 ID 获取 provider
43
+ */
44
+ export declare function getProviderById(id: string): Provider | null;
45
+ /**
46
+ * 根据 agentType 获取所有 providers
47
+ */
48
+ export declare function getProvidersByAgentType(agentType: AgentType | string): Provider[];
49
+ /**
50
+ * 获取某个 agentType 的默认 provider
51
+ */
52
+ export declare function getDefaultProvider(agentType: AgentType | string): Provider | null;
53
+ export declare function createProvider(data: Omit<Provider, 'id' | 'createdAt' | 'builtIn'>): Provider;
54
+ export declare function updateProvider(id: string, data: Partial<Omit<Provider, 'id' | 'builtIn'>>): Provider | null;
55
+ export declare function deleteProvider(id: string): boolean;
56
+ /**
57
+ * 获取内置默认 providers(不含用户自定义)
58
+ */
59
+ export declare function getDefaultProviders(): Provider[];
60
+ //# sourceMappingURL=providers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/executors/providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAM9C,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC;IAC9B,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,kCAAkC;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB;AAoFD;;GAEG;AACH,wBAAgB,aAAa,IAAI,QAAQ,EAAE,CAiB1C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,QAAQ,EAAE,CAK5C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,QAAQ,EAAE,CAG5C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAE3D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,EAAE,CAEjF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,CAGjF;AAsBD,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,WAAW,GAAG,SAAS,CAAC,GAAG,QAAQ,CAsB7F;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,CAmB3G;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAYlD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,QAAQ,EAAE,CAEhD"}
@@ -0,0 +1,210 @@
1
+ /**
2
+ * Provider 配置管理
3
+ *
4
+ * Provider = AgentType + 名称 + 环境变量(连接配置) + 运行参数
5
+ *
6
+ * 数据结构: { providers: Provider[] }
7
+ * - 内置默认配置 (default-providers.json)
8
+ * - 用户自定义 ($AGENT_TOWER_DATA_DIR/providers.json)
9
+ * - 合并策略: 内置 providers 始终存在,用户可新增或覆盖内置 provider 的配置
10
+ */
11
+ import * as fs from 'fs';
12
+ import * as path from 'path';
13
+ import { randomUUID } from 'crypto';
14
+ import { fileURLToPath } from 'url';
15
+ import { createRequire } from 'module';
16
+ // ─── Defaults ────────────────────────────────────────────────────
17
+ const require = createRequire(import.meta.url);
18
+ const defaultProvidersJson = require('./default-providers.json');
19
+ const DEFAULT_PROVIDERS = defaultProvidersJson;
20
+ // ─── State ───────────────────────────────────────────────────────
21
+ let cachedProviders = null;
22
+ // ─── User data path ─────────────────────────────────────────────
23
+ function getUserProvidersPath() {
24
+ if (process.env.AGENT_TOWER_DATA_DIR) {
25
+ return path.join(process.env.AGENT_TOWER_DATA_DIR, 'providers.json');
26
+ }
27
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
28
+ const serverRoot = path.resolve(__dirname, '..', '..');
29
+ return path.join(serverRoot, 'data', 'providers.json');
30
+ }
31
+ // ─── Core functions ──────────────────────────────────────────────
32
+ /**
33
+ * 合并内置 + 用户自定义 providers
34
+ * - 用户可新增 provider
35
+ * - 用户可通过相同 id 覆盖内置 provider 的 config/env/name
36
+ * - 内置 provider 不会被删除
37
+ */
38
+ function mergeProviders(builtIns, userProviders) {
39
+ const result = [];
40
+ const userMap = new Map(userProviders.map(p => [p.id, p]));
41
+ // 内置 providers:如果用户有同 id 覆盖,则合并
42
+ for (const builtIn of builtIns) {
43
+ const userOverride = userMap.get(builtIn.id);
44
+ if (userOverride) {
45
+ result.push({
46
+ ...builtIn,
47
+ ...userOverride,
48
+ builtIn: true, // 始终标记为内置
49
+ });
50
+ userMap.delete(builtIn.id);
51
+ }
52
+ else {
53
+ result.push({ ...builtIn });
54
+ }
55
+ }
56
+ // 用户新增的 providers
57
+ for (const userProvider of userMap.values()) {
58
+ result.push({ ...userProvider, builtIn: false });
59
+ }
60
+ return result;
61
+ }
62
+ /**
63
+ * 提取用户自定义部分(与默认不同的 + 新增的)
64
+ */
65
+ function extractUserProviders(merged) {
66
+ const builtInIds = new Set(DEFAULT_PROVIDERS.providers.map(p => p.id));
67
+ const userProviders = [];
68
+ for (const provider of merged) {
69
+ if (!builtInIds.has(provider.id)) {
70
+ // 用户新增的
71
+ userProviders.push(provider);
72
+ }
73
+ else {
74
+ // 内置的,检查是否有修改
75
+ const defaultProvider = DEFAULT_PROVIDERS.providers.find(p => p.id === provider.id);
76
+ if (defaultProvider && JSON.stringify(defaultProvider) !== JSON.stringify({ ...provider, builtIn: true })) {
77
+ // 有修改,保存覆盖
78
+ const { builtIn, ...rest } = provider;
79
+ userProviders.push(rest);
80
+ }
81
+ }
82
+ }
83
+ return userProviders;
84
+ }
85
+ /**
86
+ * 加载 providers(内置 + 用户合并)
87
+ */
88
+ export function loadProviders() {
89
+ const builtIns = structuredClone(DEFAULT_PROVIDERS.providers).map(p => ({ ...p, builtIn: true }));
90
+ const userPath = getUserProvidersPath();
91
+ let userProviders = [];
92
+ try {
93
+ if (fs.existsSync(userPath)) {
94
+ const content = fs.readFileSync(userPath, 'utf-8');
95
+ const data = JSON.parse(content);
96
+ userProviders = data.providers ?? [];
97
+ }
98
+ }
99
+ catch (e) {
100
+ console.error('[Providers] Failed to load user providers.json:', e);
101
+ }
102
+ cachedProviders = mergeProviders(builtIns, userProviders);
103
+ return cachedProviders;
104
+ }
105
+ /**
106
+ * 获取所有 providers(带缓存)
107
+ */
108
+ export function getAllProviders() {
109
+ if (!cachedProviders) {
110
+ return loadProviders();
111
+ }
112
+ return cachedProviders;
113
+ }
114
+ /**
115
+ * 重新加载
116
+ */
117
+ export function reloadProviders() {
118
+ cachedProviders = null;
119
+ return loadProviders();
120
+ }
121
+ /**
122
+ * 根据 ID 获取 provider
123
+ */
124
+ export function getProviderById(id) {
125
+ return getAllProviders().find(p => p.id === id) ?? null;
126
+ }
127
+ /**
128
+ * 根据 agentType 获取所有 providers
129
+ */
130
+ export function getProvidersByAgentType(agentType) {
131
+ return getAllProviders().filter(p => p.agentType === agentType);
132
+ }
133
+ /**
134
+ * 获取某个 agentType 的默认 provider
135
+ */
136
+ export function getDefaultProvider(agentType) {
137
+ const providers = getProvidersByAgentType(agentType);
138
+ return providers.find(p => p.isDefault) ?? providers[0] ?? null;
139
+ }
140
+ // ─── Persistence ─────────────────────────────────────────────────
141
+ function saveProviders(providers) {
142
+ const userProviders = extractUserProviders(providers);
143
+ const userPath = getUserProvidersPath();
144
+ const dir = path.dirname(userPath);
145
+ if (!fs.existsSync(dir)) {
146
+ fs.mkdirSync(dir, { recursive: true });
147
+ }
148
+ const data = { providers: userProviders };
149
+ fs.writeFileSync(userPath, JSON.stringify(data, null, 2), 'utf-8');
150
+ // 更新缓存
151
+ cachedProviders = providers;
152
+ }
153
+ // ─── CRUD ────────────────────────────────────────────────────────
154
+ export function createProvider(data) {
155
+ const providers = [...getAllProviders()];
156
+ const provider = {
157
+ ...data,
158
+ id: randomUUID().slice(0, 8),
159
+ builtIn: false,
160
+ createdAt: new Date().toISOString(),
161
+ };
162
+ // 如果设为默认,取消同类型其他默认
163
+ if (provider.isDefault) {
164
+ for (const p of providers) {
165
+ if (p.agentType === provider.agentType) {
166
+ p.isDefault = false;
167
+ }
168
+ }
169
+ }
170
+ providers.push(provider);
171
+ saveProviders(providers);
172
+ return provider;
173
+ }
174
+ export function updateProvider(id, data) {
175
+ const providers = [...getAllProviders()];
176
+ const index = providers.findIndex(p => p.id === id);
177
+ if (index === -1)
178
+ return null;
179
+ const updated = { ...providers[index], ...data };
180
+ // 如果设为默认,取消同类型其他默认
181
+ if (data.isDefault) {
182
+ for (const p of providers) {
183
+ if (p.agentType === updated.agentType && p.id !== id) {
184
+ p.isDefault = false;
185
+ }
186
+ }
187
+ }
188
+ providers[index] = updated;
189
+ saveProviders(providers);
190
+ return updated;
191
+ }
192
+ export function deleteProvider(id) {
193
+ const providers = getAllProviders();
194
+ const provider = providers.find(p => p.id === id);
195
+ if (!provider)
196
+ return false;
197
+ if (provider.builtIn) {
198
+ throw new Error(`Cannot delete built-in provider '${provider.name}'`);
199
+ }
200
+ const filtered = providers.filter(p => p.id !== id);
201
+ saveProviders(filtered);
202
+ return true;
203
+ }
204
+ /**
205
+ * 获取内置默认 providers(不含用户自定义)
206
+ */
207
+ export function getDefaultProviders() {
208
+ return structuredClone(DEFAULT_PROVIDERS.providers).map(p => ({ ...p, builtIn: true }));
209
+ }
210
+ //# sourceMappingURL=providers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/executors/providers.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ export declare class AgentTowerClient {
37
37
  success: boolean;
38
38
  sha: string;
39
39
  }>;
40
- createSession(workspaceId: string, agentType: string, prompt: string, variant?: string): Promise<any>;
40
+ createSession(workspaceId: string, agentType?: string, prompt?: string, variant?: string, providerId?: string): Promise<any>;
41
41
  startSession(sessionId: string): Promise<any>;
42
42
  stopSession(sessionId: string): Promise<any>;
43
43
  sendMessage(sessionId: string, message: string): Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/mcp/http-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qBAAa,gBAAgB;IACf,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM;IAEnC,OAAO,CAAC,GAAG;YAIG,OAAO;IA0Bf,YAAY,CAAC,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IASvD,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IAQxF,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;IAI/F,OAAO,CAAC,MAAM,EAAE,MAAM;IAItB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;IAI7F,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAI/C,UAAU,CAAC,MAAM,EAAE,MAAM;IAMzB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAInD,gBAAgB,CAAC,WAAW,EAAE,MAAM;cACZ,MAAM;;IAG9B,cAAc,CAAC,WAAW,EAAE,MAAM;iBACP,OAAO;aAAO,MAAM;;IAK/C,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAQtF,YAAY,CAAC,SAAS,EAAE,MAAM;IAI9B,WAAW,CAAC,SAAS,EAAE,MAAM;IAI7B,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAM9C,mBAAmB,CAAC,OAAO,EAAE,MAAM;CAG1C"}
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/mcp/http-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qBAAa,gBAAgB;IACf,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM;IAEnC,OAAO,CAAC,GAAG;YAIG,OAAO;IA0Bf,YAAY,CAAC,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IASvD,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IAQxF,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;IAI/F,OAAO,CAAC,MAAM,EAAE,MAAM;IAItB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;IAI7F,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAI/C,UAAU,CAAC,MAAM,EAAE,MAAM;IAMzB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAInD,gBAAgB,CAAC,WAAW,EAAE,MAAM;cACZ,MAAM;;IAG9B,cAAc,CAAC,WAAW,EAAE,MAAM;iBACP,OAAO;aAAO,MAAM;;IAK/C,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAS7G,YAAY,CAAC,SAAS,EAAE,MAAM;IAI9B,WAAW,CAAC,SAAS,EAAE,MAAM;IAI7B,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAM9C,mBAAmB,CAAC,OAAO,EAAE,MAAM;CAG1C"}
@@ -76,11 +76,12 @@ export class AgentTowerClient {
76
76
  return this.request('POST', `/api/workspaces/${workspaceId}/merge`);
77
77
  }
78
78
  // ── Sessions ──
79
- async createSession(workspaceId, agentType, prompt, variant) {
79
+ async createSession(workspaceId, agentType, prompt, variant, providerId) {
80
80
  return this.request('POST', `/api/workspaces/${workspaceId}/sessions`, {
81
- agentType,
82
- prompt,
81
+ ...(agentType ? { agentType } : {}),
82
+ ...(prompt ? { prompt } : {}),
83
83
  ...(variant ? { variant } : {}),
84
+ ...(providerId ? { providerId } : {}),
84
85
  });
85
86
  }
86
87
  async startSession(sessionId) {
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/mcp/http-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/mcp/http-client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/workspaces.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAO1D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,QA6DjF"}
1
+ {"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/workspaces.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAO1D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,QA8DjF"}
@@ -4,8 +4,8 @@ export function registerWorkspaceTools(server, client) {
4
4
  try {
5
5
  // 1. 创建工作空间
6
6
  const workspace = await client.createWorkspace(params.task_id);
7
- // 2. 创建会话
8
- const session = await client.createSession(workspace.id, params.agent_type, params.prompt, params.variant);
7
+ // 2. 创建会话 (优先使用 provider_id)
8
+ const session = await client.createSession(workspace.id, params.agent_type, params.prompt, params.variant, params.provider_id);
9
9
  // 3. 启动会话
10
10
  await client.startSession(session.id);
11
11
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../../src/mcp/tools/workspaces.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,MAAM,UAAU,sBAAsB,CAAC,MAAiB,EAAE,MAAwB;IAChF,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,8DAA8D,EAC9D,0BAA0B,CAAC,KAAK,EAChC,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,YAAY;YACZ,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC/D,UAAU;YACV,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CACxC,SAAS,CAAC,EAAE,EACZ,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,OAAO,CACf,CAAC;YACF,UAAU;YACV,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACtC,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,YAAY,EAAE,SAAS,CAAC,EAAE;4BAC1B,UAAU,EAAE,OAAO,CAAC,EAAE;yBACvB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrF,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,oCAAoC,EACpC,qBAAqB,CAAC,KAAK,EAC3B,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAClE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,cAAc,EAAE,CAAC,EAAE,CAAC;QAC9E,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrF,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,gDAAgD,EAChD,mBAAmB,CAAC,KAAK,EACzB,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAChE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAChF,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrF,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../../src/mcp/tools/workspaces.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,MAAM,UAAU,sBAAsB,CAAC,MAAiB,EAAE,MAAwB;IAChF,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,8DAA8D,EAC9D,0BAA0B,CAAC,KAAK,EAChC,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,YAAY;YACZ,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC/D,6BAA6B;YAC7B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CACxC,SAAS,CAAC,EAAE,EACZ,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,WAAW,CACnB,CAAC;YACF,UAAU;YACV,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACtC,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,YAAY,EAAE,SAAS,CAAC,EAAE;4BAC1B,UAAU,EAAE,OAAO,CAAC,EAAE;yBACvB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrF,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,oCAAoC,EACpC,qBAAqB,CAAC,KAAK,EAC3B,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAClE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,cAAc,EAAE,CAAC,EAAE,CAAC;QAC9E,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrF,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,gDAAgD,EAChD,mBAAmB,CAAC,KAAK,EACzB,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAChE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAChF,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrF,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -61,19 +61,22 @@ export declare const DeleteTaskInput: z.ZodObject<{
61
61
  }>;
62
62
  export declare const StartWorkspaceSessionInput: z.ZodObject<{
63
63
  task_id: z.ZodString;
64
- agent_type: z.ZodEnum<["CLAUDE_CODE", "GEMINI_CLI", "CURSOR_AGENT", "CODEX"]>;
64
+ agent_type: z.ZodOptional<z.ZodEnum<["CLAUDE_CODE", "GEMINI_CLI", "CURSOR_AGENT", "CODEX"]>>;
65
65
  prompt: z.ZodString;
66
66
  variant: z.ZodOptional<z.ZodString>;
67
+ provider_id: z.ZodOptional<z.ZodString>;
67
68
  }, "strip", z.ZodTypeAny, {
68
69
  prompt: string;
69
70
  task_id: string;
70
- agent_type: "CLAUDE_CODE" | "GEMINI_CLI" | "CURSOR_AGENT" | "CODEX";
71
71
  variant?: string | undefined;
72
+ agent_type?: "CLAUDE_CODE" | "GEMINI_CLI" | "CURSOR_AGENT" | "CODEX" | undefined;
73
+ provider_id?: string | undefined;
72
74
  }, {
73
75
  prompt: string;
74
76
  task_id: string;
75
- agent_type: "CLAUDE_CODE" | "GEMINI_CLI" | "CURSOR_AGENT" | "CODEX";
76
77
  variant?: string | undefined;
78
+ agent_type?: "CLAUDE_CODE" | "GEMINI_CLI" | "CURSOR_AGENT" | "CODEX" | undefined;
79
+ provider_id?: string | undefined;
77
80
  }>;
78
81
  export declare const GetWorkspaceDiffInput: z.ZodObject<{
79
82
  workspace_id: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,iBAAiB,gDAAe,CAAC;AAI9C,eAAO,MAAM,cAAc;;;;;;;;;;;;EAMzB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;EAI1B,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;EAEvB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;EAM1B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;EAE1B,CAAC;AAIH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;EAMrC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;EAEhC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;EAE9B,CAAC;AAIH,eAAO,MAAM,gBAAgB;;;;;;EAE3B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;EAG3B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,iBAAiB,gDAAe,CAAC;AAI9C,eAAO,MAAM,cAAc;;;;;;;;;;;;EAMzB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;EAI1B,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;EAEvB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;EAM1B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;EAE1B,CAAC;AAIH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;EAOrC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;EAEhC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;EAE9B,CAAC;AAIH,eAAO,MAAM,gBAAgB;;;;;;EAE3B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;EAG3B,CAAC"}
package/dist/mcp/types.js CHANGED
@@ -33,10 +33,11 @@ export const DeleteTaskInput = z.object({
33
33
  // ── Workspaces ──
34
34
  export const StartWorkspaceSessionInput = z.object({
35
35
  task_id: z.string().describe('The ID of the task to start a workspace session for'),
36
- agent_type: z.enum(['CLAUDE_CODE', 'GEMINI_CLI', 'CURSOR_AGENT', 'CODEX'])
37
- .describe("The AI agent type: 'CLAUDE_CODE', 'GEMINI_CLI', 'CURSOR_AGENT', 'CODEX'"),
36
+ agent_type: z.enum(['CLAUDE_CODE', 'GEMINI_CLI', 'CURSOR_AGENT', 'CODEX']).optional()
37
+ .describe("The AI agent type: 'CLAUDE_CODE', 'GEMINI_CLI', 'CURSOR_AGENT', 'CODEX' (optional if provider_id is provided)"),
38
38
  prompt: z.string().min(1).describe('The prompt/instruction for the AI agent'),
39
39
  variant: z.string().optional().describe('Optional executor variant'),
40
+ provider_id: z.string().optional().describe('Optional provider ID (takes precedence over agent_type)'),
40
41
  });
41
42
  export const GetWorkspaceDiffInput = z.object({
42
43
  workspace_id: z.string().describe('The ID of the workspace'),