@mrpatronz/nexusflow 2.7.0 → 2.8.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 (135) hide show
  1. package/README.md +1 -2
  2. package/dist/agent/ClaudeSdkAdapter.d.ts.map +1 -1
  3. package/dist/agent/ClaudeSdkAdapter.js +31 -8
  4. package/dist/agent/ClaudeSdkAdapter.js.map +1 -1
  5. package/dist/agent/ClaudeSdkAdapter.test.js +18 -6
  6. package/dist/agent/ClaudeSdkAdapter.test.js.map +1 -1
  7. package/dist/agent/CodexCliAdapter.d.ts +1 -1
  8. package/dist/agent/CodexCliAdapter.d.ts.map +1 -1
  9. package/dist/agent/CodexCliAdapter.js +5 -4
  10. package/dist/agent/CodexCliAdapter.js.map +1 -1
  11. package/dist/agent/CodexCliAdapter.test.js +16 -1
  12. package/dist/agent/CodexCliAdapter.test.js.map +1 -1
  13. package/dist/agent/CodexSdkAdapter.d.ts.map +1 -1
  14. package/dist/agent/CodexSdkAdapter.js +6 -0
  15. package/dist/agent/CodexSdkAdapter.js.map +1 -1
  16. package/dist/agent/ProviderRegistry.d.ts +5 -0
  17. package/dist/agent/ProviderRegistry.d.ts.map +1 -1
  18. package/dist/agent/ProviderRegistry.js +15 -0
  19. package/dist/agent/ProviderRegistry.js.map +1 -1
  20. package/dist/agent/ProviderRegistry.test.js +19 -0
  21. package/dist/agent/ProviderRegistry.test.js.map +1 -1
  22. package/dist/agent/adapters.d.ts.map +1 -1
  23. package/dist/agent/adapters.js +5 -0
  24. package/dist/agent/adapters.js.map +1 -1
  25. package/dist/agent/mcp-config.d.ts +16 -0
  26. package/dist/agent/mcp-config.d.ts.map +1 -0
  27. package/dist/agent/mcp-config.js +28 -0
  28. package/dist/agent/mcp-config.js.map +1 -0
  29. package/dist/agent/mcp-config.test.d.ts +2 -0
  30. package/dist/agent/mcp-config.test.d.ts.map +1 -0
  31. package/dist/agent/mcp-config.test.js +22 -0
  32. package/dist/agent/mcp-config.test.js.map +1 -0
  33. package/dist/agent/models.d.ts +10 -0
  34. package/dist/agent/models.d.ts.map +1 -0
  35. package/dist/agent/models.js +35 -0
  36. package/dist/agent/models.js.map +1 -0
  37. package/dist/agent/models.test.d.ts +2 -0
  38. package/dist/agent/models.test.d.ts.map +1 -0
  39. package/dist/agent/models.test.js +40 -0
  40. package/dist/agent/models.test.js.map +1 -0
  41. package/dist/agent/orchestrator.d.ts +65 -0
  42. package/dist/agent/orchestrator.d.ts.map +1 -0
  43. package/dist/agent/orchestrator.js +252 -0
  44. package/dist/agent/orchestrator.js.map +1 -0
  45. package/dist/agent/orchestrator.test.d.ts +2 -0
  46. package/dist/agent/orchestrator.test.d.ts.map +1 -0
  47. package/dist/agent/orchestrator.test.js +284 -0
  48. package/dist/agent/orchestrator.test.js.map +1 -0
  49. package/dist/agent/session.d.ts +1 -0
  50. package/dist/agent/session.d.ts.map +1 -1
  51. package/dist/agent/session.js +3 -2
  52. package/dist/agent/session.js.map +1 -1
  53. package/dist/agent/session.test.js +9 -0
  54. package/dist/agent/session.test.js.map +1 -1
  55. package/dist/agent/smoke-chat.test.d.ts +2 -0
  56. package/dist/agent/smoke-chat.test.d.ts.map +1 -0
  57. package/dist/agent/smoke-chat.test.js +166 -0
  58. package/dist/agent/smoke-chat.test.js.map +1 -0
  59. package/dist/commands/mcp.d.ts +7 -1
  60. package/dist/commands/mcp.d.ts.map +1 -1
  61. package/dist/commands/mcp.js +7 -2
  62. package/dist/commands/mcp.js.map +1 -1
  63. package/dist/core/locks.d.ts +4 -2
  64. package/dist/core/locks.d.ts.map +1 -1
  65. package/dist/core/locks.js +55 -7
  66. package/dist/core/locks.js.map +1 -1
  67. package/dist/core/locks.test.js +48 -0
  68. package/dist/core/locks.test.js.map +1 -1
  69. package/dist/gui/assets/AgentsPage-Bfyu13gc.js +3 -0
  70. package/dist/gui/assets/{CSPContext-BG7no5S_.js → CSPContext-DBUu9tE0.js} +1 -1
  71. package/dist/gui/assets/{DashboardPage-ByGTwAQa.js → DashboardPage-O5wj99kn.js} +1 -1
  72. package/dist/gui/assets/{GettingStartedPage-Xjx3M3RH.js → GettingStartedPage-DDWBueC7.js} +1 -1
  73. package/dist/gui/assets/ProjectsPage-NHkXrDM2.js +1 -0
  74. package/dist/gui/assets/ScaffoldRepoInline-Cmqg_s94.js +1 -0
  75. package/dist/gui/assets/{SettingsPage-B9iN6hsv.js → SettingsPage-Cc77HBp7.js} +1 -1
  76. package/dist/gui/assets/SkillsPage-D4CVxwrI.js +6 -0
  77. package/dist/gui/assets/StartWorkPage-RPZTN3Ui.js +1 -0
  78. package/dist/gui/assets/{StrategiesPage-DDu3jwJx.js → StrategiesPage-Dn66xfZN.js} +1 -1
  79. package/dist/gui/assets/WorkspacesPage-BgdoM5Hs.js +6 -0
  80. package/dist/gui/assets/{alert-dialog-CdqVrvZl.js → alert-dialog-BYZ7cgWA.js} +1 -1
  81. package/dist/gui/assets/index-BmH7a-Qy.css +2 -0
  82. package/dist/gui/assets/index-CoNaATPd.js +52 -0
  83. package/dist/gui/assets/isElementDisabled-uy_EOitH.js +1 -0
  84. package/dist/gui/assets/textarea-ByfoCb54.js +1 -0
  85. package/dist/gui/assets/{useAriaLabelledBy-DfRdwH8a.js → useAriaLabelledBy-ClesgjMe.js} +1 -1
  86. package/dist/gui/assets/useValueChanged-DeYvGnKs.js +1 -0
  87. package/dist/gui/assets/{vsc-D6UPv2ii.js → vsc-BTST_4ex.js} +1 -1
  88. package/dist/gui/index.html +5 -7
  89. package/dist/harness/claude.d.ts +3 -1
  90. package/dist/harness/claude.d.ts.map +1 -1
  91. package/dist/harness/claude.js +4 -2
  92. package/dist/harness/claude.js.map +1 -1
  93. package/dist/harness/codex.d.ts +3 -1
  94. package/dist/harness/codex.d.ts.map +1 -1
  95. package/dist/harness/codex.js +64 -12
  96. package/dist/harness/codex.js.map +1 -1
  97. package/dist/harness/contract.test.d.ts +2 -0
  98. package/dist/harness/contract.test.d.ts.map +1 -0
  99. package/dist/harness/contract.test.js +426 -0
  100. package/dist/harness/contract.test.js.map +1 -0
  101. package/dist/harness/harness.test.js +16 -1
  102. package/dist/harness/harness.test.js.map +1 -1
  103. package/dist/harness/types.d.ts +7 -1
  104. package/dist/harness/types.d.ts.map +1 -1
  105. package/dist/index.js +4 -1
  106. package/dist/index.js.map +1 -1
  107. package/dist/mcp/server.d.ts +8 -1
  108. package/dist/mcp/server.d.ts.map +1 -1
  109. package/dist/mcp/server.js +11 -6
  110. package/dist/mcp/server.js.map +1 -1
  111. package/dist/mcp/tools.d.ts +6 -2
  112. package/dist/mcp/tools.d.ts.map +1 -1
  113. package/dist/mcp/tools.js +213 -6
  114. package/dist/mcp/tools.js.map +1 -1
  115. package/dist/mcp/tools.test.js +115 -6
  116. package/dist/mcp/tools.test.js.map +1 -1
  117. package/dist/server.d.ts.map +1 -1
  118. package/dist/server.js +15 -3
  119. package/dist/server.js.map +1 -1
  120. package/dist/server.test.js +12 -1
  121. package/dist/server.test.js.map +1 -1
  122. package/package.json +2 -1
  123. package/dist/gui/assets/AgentsPage-YyYRodOR.js +0 -3
  124. package/dist/gui/assets/ProjectsPage-BMdhqAGs.js +0 -1
  125. package/dist/gui/assets/ScaffoldRepoInline-gXyYSIz5.js +0 -1
  126. package/dist/gui/assets/SkillsPage-CxcsbIsQ.js +0 -6
  127. package/dist/gui/assets/StartWorkPage-DPVHcdy4.js +0 -1
  128. package/dist/gui/assets/WorkspacesPage-BWRmP0mY.js +0 -2
  129. package/dist/gui/assets/index-CZoZQkeC.css +0 -2
  130. package/dist/gui/assets/index-wy68EqfB.js +0 -50
  131. package/dist/gui/assets/isElementDisabled-D_fu2zfc.js +0 -1
  132. package/dist/gui/assets/store-D5DUHbxn.js +0 -3
  133. package/dist/gui/assets/styles-CVwNuFCx.js +0 -1
  134. package/dist/gui/assets/textarea-BNRuIXNs.js +0 -1
  135. package/dist/gui/assets/useValueChanged-CStSGSsD.js +0 -1
@@ -1,7 +1,11 @@
1
1
  import { describe, it, expect, vi, beforeEach } from 'vitest';
2
- import { findTool } from './tools.js';
2
+ import { findTool, enabledTools } from './tools.js';
3
3
  import * as workspace from '../core/workspace.js';
4
+ import * as refresh from '../core/refresh.js';
5
+ import * as fs from 'node:fs/promises';
4
6
  vi.mock('../core/workspace.js');
7
+ vi.mock('../core/refresh.js');
8
+ vi.mock('node:fs/promises');
5
9
  const mockConfig = {
6
10
  version: '1.0',
7
11
  devDir: '/dev',
@@ -13,12 +17,101 @@ describe('MCP tools', () => {
13
17
  beforeEach(() => {
14
18
  vi.clearAllMocks();
15
19
  });
16
- it('registers the isolate_repo tool', () => {
17
- const tool = findTool('isolate_repo');
20
+ it('registers all Phase 2 workspace lifecycle tools', () => {
21
+ expect(findTool('create_workspace')).toBeDefined();
22
+ expect(findTool('list_workspaces')).toBeDefined();
23
+ expect(findTool('list_repos')).toBeDefined();
24
+ expect(findTool('isolate_repo')).toBeDefined();
25
+ expect(findTool('get_service_logs')).toBeDefined();
26
+ });
27
+ it('filters tool surfaces correctly based on agent roles and allow/deny lists', () => {
28
+ const allTools = enabledTools(mockConfig);
29
+ expect(allTools.length).toBeGreaterThanOrEqual(14);
30
+ const readonlyTools = enabledTools(mockConfig, 'readonly');
31
+ const readonlyNames = readonlyTools.map((t) => t.name);
32
+ expect(readonlyNames).toContain('search_workspace');
33
+ expect(readonlyNames).toContain('workspace_status');
34
+ expect(readonlyNames).toContain('get_workspace_diff');
35
+ expect(readonlyNames).toContain('list_workspaces');
36
+ expect(readonlyNames).toContain('list_repos');
37
+ expect(readonlyNames).not.toContain('create_workspace');
38
+ expect(readonlyNames).not.toContain('commit_workspace');
39
+ expect(readonlyNames).not.toContain('finish_workspace');
40
+ const explicitDenied = enabledTools(mockConfig, 'developer', undefined, ['commit_workspace']);
41
+ expect(explicitDenied.map((t) => t.name)).not.toContain('commit_workspace');
42
+ const explicitAllowed = enabledTools(mockConfig, undefined, ['search_workspace', 'list_repos']);
43
+ expect(explicitAllowed.map((t) => t.name)).toEqual(['search_workspace', 'list_repos']);
44
+ });
45
+ it('executes list_workspaces tool handler successfully', async () => {
46
+ const tool = findTool('list_workspaces');
18
47
  expect(tool).toBeDefined();
19
- expect(tool?.name).toBe('isolate_repo');
20
- expect(tool?.description).toContain('Dynamically isolate a repository');
21
- expect(tool?.inputSchema.required).toContain('repo');
48
+ vi.mocked(workspace.listWorkspaces).mockResolvedValue([
49
+ {
50
+ id: 'feat-auth',
51
+ branchName: 'feat-auth',
52
+ mode: 'worktree',
53
+ description: 'User auth feature',
54
+ repos: ['/dev/workspaces/feat-auth/api', '/dev/workspaces/feat-auth/web'],
55
+ assistants: ['claude'],
56
+ workspacePath: '/dev/workspaces/feat-auth',
57
+ createdAt: '2026-08-23T00:00:00Z',
58
+ },
59
+ ]);
60
+ const result = await tool.handler({}, { config: mockConfig, workspacePath: '/dev/workspaces/feat-auth' });
61
+ expect(result.isError).toBeFalsy();
62
+ const content = JSON.parse(result.content[0].text);
63
+ expect(content).toHaveLength(1);
64
+ expect(content[0]).toEqual({
65
+ id: 'feat-auth',
66
+ branchName: 'feat-auth',
67
+ mode: 'worktree',
68
+ description: 'User auth feature',
69
+ reposCount: 2,
70
+ workspacePath: '/dev/workspaces/feat-auth',
71
+ createdAt: '2026-08-23T00:00:00Z',
72
+ });
73
+ });
74
+ it('executes list_repos tool handler successfully', async () => {
75
+ const tool = findTool('list_repos');
76
+ expect(tool).toBeDefined();
77
+ vi.mocked(workspace.loadFeatureConfig).mockResolvedValue({
78
+ id: 'feat-auth',
79
+ mode: 'worktree',
80
+ branchName: 'feat-auth',
81
+ description: 'test',
82
+ repos: ['/dev/workspaces/feat-auth/api', '/dev/workspaces/feat-auth/web'],
83
+ assistants: ['claude'],
84
+ workspacePath: '/dev/workspaces/feat-auth',
85
+ createdAt: '2026-08-23T00:00:00Z',
86
+ });
87
+ const result = await tool.handler({}, { config: mockConfig, workspacePath: '/dev/workspaces/feat-auth' });
88
+ expect(result.isError).toBeFalsy();
89
+ const content = JSON.parse(result.content[0].text);
90
+ expect(content).toHaveLength(2);
91
+ expect(content[0]?.name).toBe('api');
92
+ expect(content[1]?.name).toBe('web');
93
+ });
94
+ it('executes create_workspace tool handler successfully', async () => {
95
+ const tool = findTool('create_workspace');
96
+ expect(tool).toBeDefined();
97
+ vi.mocked(fs.access).mockResolvedValue(undefined);
98
+ vi.mocked(workspace.resolveRepoInfos).mockResolvedValue([
99
+ { name: 'repo1', path: '/dev/repo1', defaultBranch: 'main' },
100
+ ]);
101
+ vi.mocked(workspace.createWorkspace).mockResolvedValue('/dev/workspaces/feat-test');
102
+ vi.mocked(refresh.refreshWorkspace).mockResolvedValue({});
103
+ const result = await tool.handler({
104
+ branchName: 'feat-test',
105
+ repos: ['repo1'],
106
+ description: 'New feature',
107
+ }, { config: mockConfig, workspacePath: '/dev/workspaces' });
108
+ expect(result.isError).toBeFalsy();
109
+ const content = JSON.parse(result.content[0].text);
110
+ expect(content.id).toBe('feat-test');
111
+ expect(content.workspacePath).toContain('feat-test');
112
+ expect(content.status).toBe('created');
113
+ expect(workspace.createWorkspace).toHaveBeenCalledTimes(1);
114
+ expect(refresh.refreshWorkspace).toHaveBeenCalledTimes(1);
22
115
  });
23
116
  it('executes isolate_repo tool handler successfully', async () => {
24
117
  const tool = findTool('isolate_repo');
@@ -66,5 +159,21 @@ describe('MCP tools', () => {
66
159
  expect(result.isError).toBe(true);
67
160
  expect(result.content[0].text).toContain('Repository name is required');
68
161
  });
162
+ it('rejects path traversal attempts in get_service_logs', async () => {
163
+ const tool = findTool('get_service_logs');
164
+ expect(tool).toBeDefined();
165
+ const result = await tool.handler({ serviceName: '../../etc/passwd' }, { config: mockConfig, workspacePath: '/dev/workspaces/my-ws' });
166
+ expect(result.isError).toBe(true);
167
+ expect(result.content[0].text).toContain('Invalid service name');
168
+ });
169
+ it('reads service logs successfully when serviceName is valid', async () => {
170
+ const tool = findTool('get_service_logs');
171
+ expect(tool).toBeDefined();
172
+ vi.mocked(fs.access).mockResolvedValue(undefined);
173
+ vi.mocked(fs.readFile).mockResolvedValue('line1\nline2\nline3\n');
174
+ const result = await tool.handler({ serviceName: 'frontend' }, { config: mockConfig, workspacePath: '/dev/workspaces/my-ws' });
175
+ expect(result.isError).toBeFalsy();
176
+ expect(result.content[0].text).toContain('line1\nline2\nline3');
177
+ });
69
178
  });
70
179
  //# sourceMappingURL=tools.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.test.js","sourceRoot":"","sources":["../../src/mcp/tools.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.test.js","sourceRoot":"","sources":["../../src/mcp/tools.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AA+C5B,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AA4EjF,eAAO,MAAM,GAAG,4EAAa,CAAC;AAc9B,mGAAmG;AACnG,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,GACvD,MAAM,GAAG,IAAI,CAUf;AAED,gFAAgF;AAChF,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAS;IAEhB,QAAQ,IAAI,OAAO;IAMnB,MAAM,IAAI,IAAI;IAId,QAAQ,IAAI,OAAO;CAG3B;AAsLD,yEAAyE;AACzE,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,SAA2B;CAI/C;AAcD,kFAAkF;AAClF,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAE9E;AAID;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,YAAY,GAAE,MAAM,CAAC,YAA2B,EAChD,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,eAAe,GAAE,MAAM,OAMtB,GACA,OAAO,CAeT;AA8BD,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE/E;AAsDD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAe7D;AAitED,wBAAgB,WAAW,CACzB,IAAI,SAAO,EACX,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAClC,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,CAAC,CA0BxC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AA+C5B,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AA4EjF,eAAO,MAAM,GAAG,4EAAa,CAAC;AAc9B,mGAAmG;AACnG,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,GACvD,MAAM,GAAG,IAAI,CAUf;AAED,gFAAgF;AAChF,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAS;IAEhB,QAAQ,IAAI,OAAO;IAMnB,MAAM,IAAI,IAAI;IAId,QAAQ,IAAI,OAAO;CAG3B;AAgMD,yEAAyE;AACzE,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,SAA2B;CAI/C;AAcD,kFAAkF;AAClF,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAE9E;AAID;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,YAAY,GAAE,MAAM,CAAC,YAA2B,EAChD,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,eAAe,GAAE,MAAM,OAMtB,GACA,OAAO,CAeT;AA8BD,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE/E;AAsDD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAe7D;AAktED,wBAAgB,WAAW,CACzB,IAAI,SAAO,EACX,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAClC,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,CAAC,CA0BxC"}
package/dist/server.js CHANGED
@@ -161,12 +161,23 @@ app.get('/ws', async (c, next) => {
161
161
  return;
162
162
  }
163
163
  let session;
164
+ const model = ProviderRegistry.resolveModel(provider, payload.model);
165
+ if (model === null) {
166
+ ws.send(JSON.stringify({
167
+ type: 'error',
168
+ message: `The selected model is not available for ${provider.name}. Choose a model advertised by this provider or use Automatic.`,
169
+ }));
170
+ return;
171
+ }
164
172
  if (payload.sessionId !== undefined && payload.sessionId !== null) {
165
173
  if (!isValidSessionUuid(payload.sessionId)) {
166
174
  ws.send(JSON.stringify({ type: 'error', message: 'Invalid session id.' }));
167
175
  return;
168
176
  }
169
- session = { id: payload.sessionId, resume: Boolean(payload.resume) };
177
+ session = { id: payload.sessionId, resume: Boolean(payload.resume), model };
178
+ }
179
+ else if (model) {
180
+ session = { id: crypto.randomUUID(), resume: false, model };
170
181
  }
171
182
  const startedAgent = provider.createInstance();
172
183
  agent = startedAgent;
@@ -500,10 +511,11 @@ app.post('/api/adapters/status/refresh', async (c) => {
500
511
  return c.json({ error: 'A local browser origin is required.' }, 403);
501
512
  }
502
513
  const body = await c.req.json().catch(() => null);
503
- if (body?.providerId !== 'claude-cli' && body?.providerId !== 'codex-cli') {
514
+ const providerId = typeof body?.providerId === 'string' ? body.providerId : '';
515
+ if (!['claude-cli', 'codex-cli', 'claude-sdk', 'codex-sdk'].includes(providerId)) {
504
516
  return c.json({ error: 'Only Claude Code and Codex status can be refreshed.' }, 400);
505
517
  }
506
- return c.json(ProviderRegistry.getAllStatus({ refreshProviderId: body.providerId }));
518
+ return c.json(ProviderRegistry.getAllStatus({ refreshProviderId: providerId }));
507
519
  });
508
520
  // 1. Get current configuration
509
521
  app.get('/api/config', async (c) => {