@overlordai/server 1.0.177 → 1.0.179

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 (152) hide show
  1. package/dist/adapters/help-text.d.ts.map +1 -1
  2. package/dist/adapters/help-text.js +3 -2
  3. package/dist/adapters/help-text.js.map +1 -1
  4. package/dist/adapters/nlu.service.js +4 -4
  5. package/dist/connectors/connector.controller.d.ts.map +1 -1
  6. package/dist/connectors/connector.controller.js +2 -0
  7. package/dist/connectors/connector.controller.js.map +1 -1
  8. package/dist/database/repositories/connector.repository.d.ts +2 -0
  9. package/dist/database/repositories/connector.repository.d.ts.map +1 -1
  10. package/dist/database/repositories/connector.repository.js +8 -0
  11. package/dist/database/repositories/connector.repository.js.map +1 -1
  12. package/dist/dispatcher/scheduler.service.d.ts.map +1 -1
  13. package/dist/dispatcher/scheduler.service.js +6 -1
  14. package/dist/dispatcher/scheduler.service.js.map +1 -1
  15. package/dist/dispatcher/task-creation.service.d.ts.map +1 -1
  16. package/dist/dispatcher/task-creation.service.js +3 -1
  17. package/dist/dispatcher/task-creation.service.js.map +1 -1
  18. package/dist/web/admin/admin-connector.controller.d.ts +6 -0
  19. package/dist/web/admin/admin-connector.controller.d.ts.map +1 -1
  20. package/dist/web/admin/admin-connector.controller.js +88 -12
  21. package/dist/web/admin/admin-connector.controller.js.map +1 -1
  22. package/dist/web/project.controller.d.ts +1 -3
  23. package/dist/web/project.controller.d.ts.map +1 -1
  24. package/dist/web/project.controller.js +3 -2
  25. package/dist/web/project.controller.js.map +1 -1
  26. package/package.json +4 -4
  27. package/public/assets/{AccessTokensPage-BhRmma33.js → AccessTokensPage-BbryzvnM.js} +1 -1
  28. package/public/assets/AdminPage-BultWF7a.js +1 -0
  29. package/public/assets/AgentCliPage-SW_JKwzo.js +5 -0
  30. package/public/assets/{ApiReferencePage-Wcyoo5XT.js → ApiReferencePage-BawqrcYL.js} +1 -1
  31. package/public/assets/{ArchitecturePage-DgwFpJ3c.js → ArchitecturePage-FWLevT4m.js} +1 -1
  32. package/public/assets/{AuditLogPage-ByFVvlFb.js → AuditLogPage-DrxyZ_N_.js} +1 -1
  33. package/public/assets/{AutomationCreatePage-Cx-FCZEr.js → AutomationCreatePage-CWA--vuT.js} +1 -1
  34. package/public/assets/{AutomationDetailPage-BDh7SFeh.js → AutomationDetailPage-BFNJn9l0.js} +3 -8
  35. package/public/assets/{AutomationEditPage-D76Ybtpz.js → AutomationEditPage-y5p6I8v9.js} +1 -1
  36. package/public/assets/{AutomationListPage-bNDDFN0Y.js → AutomationListPage-Bhgxxu6_.js} +3 -3
  37. package/public/assets/{AutomationRunDetailPage-BEWaGMai.js → AutomationRunDetailPage-eRVHSPgi.js} +1 -1
  38. package/public/assets/{BindPlatformPage-CgfAbUal.js → BindPlatformPage-JgPH-GyV.js} +1 -1
  39. package/public/assets/{BotIntegrationPage-D1A10L4d.js → BotIntegrationPage-yO7OUlpc.js} +1 -1
  40. package/public/assets/BotManage-BwplAxcP.js +1 -0
  41. package/public/assets/{BotSetupPage-DIUSFgGv.js → BotSetupPage-vF-1zbQt.js} +1 -1
  42. package/public/assets/ChangelogPage-Dvz1CT1l.js +1 -0
  43. package/public/assets/{Checkbox-Drx9oKpj.js → Checkbox-Cv1IaY0N.js} +1 -1
  44. package/public/assets/{CliReferencePage-BQ6Eyq2_.js → CliReferencePage-CcCgOSoY.js} +3 -3
  45. package/public/assets/{ConfirmStageDialog-BjjJNcLJ.js → ConfirmStageDialog-pDcoEYGK.js} +1 -1
  46. package/public/assets/ConnectorsManage-B8aIKAfR.js +6 -0
  47. package/public/assets/{ConnectorsPage-BgBXQlwq.js → ConnectorsPage-DpvBzw0u.js} +1 -1
  48. package/public/assets/{DeploymentPage-Cbmb8KKs.js → DeploymentPage-2CGTHVvc.js} +1 -1
  49. package/public/assets/{DevWorkflowPage-Dur0zn7L.js → DevWorkflowPage-C9dwRqkd.js} +1 -1
  50. package/public/assets/{DeveloperManage-BmFhmcbZ.js → DeveloperManage-CP4AFGVd.js} +2 -2
  51. package/public/assets/{DeveloperSetupPage-G9amle-q.js → DeveloperSetupPage-CAUfLPib.js} +1 -1
  52. package/public/assets/{DocsIndexPage-CAPCKH_C.js → DocsIndexPage-_KFl66Pi.js} +6 -11
  53. package/public/assets/{DocsLayout-gVsQBlHm.js → DocsLayout-yhAysfLb.js} +1 -1
  54. package/public/assets/{DocsPrimitives-VBA7lZhS.js → DocsPrimitives-BLjrk7dq.js} +1 -1
  55. package/public/assets/{EditProjectPage-Dn-MgU4f.js → EditProjectPage-C-i9mvrD.js} +2 -2
  56. package/public/assets/{EmptyState-B0pdsOsA.js → EmptyState-DCvtEuqr.js} +1 -1
  57. package/public/assets/{EnvVariablesPage-DXaJ3Ejc.js → EnvVariablesPage-DHlRltEG.js} +1 -1
  58. package/public/assets/HomePage-zVLfdxgB.js +1 -0
  59. package/public/assets/{InfoRow-DTHohr5Y.js → InfoRow-0V76rcDX.js} +1 -1
  60. package/public/assets/{InstallationPage-BVY5fIOG.js → InstallationPage-CF5KJSiH.js} +1 -1
  61. package/public/assets/{LandingPage-DAP65IzR.js → LandingPage-BZ2OW2Tp.js} +1 -1
  62. package/public/assets/{LocalDevelopmentPage-C9pD5y0c.js → LocalDevelopmentPage-CHzphJ7-.js} +1 -1
  63. package/public/assets/{LoginPage-BToTW-qz.js → LoginPage-BvkNtbOH.js} +1 -1
  64. package/public/assets/{MetricBar-DA42IEeN.js → MetricBar-8IDBuyjQ.js} +1 -1
  65. package/public/assets/{MultiSelect-5hKAHK2N.js → MultiSelect-DqMAwXWW.js} +1 -1
  66. package/public/assets/{NotFoundPage-BQbQRjCC.js → NotFoundPage-3hbcgIgf.js} +1 -1
  67. package/public/assets/{OnboardingGuide-or_CwmfY.js → OnboardingGuide-BZhFBXTO.js} +1 -1
  68. package/public/assets/{PermissionsPage-D867c8K5.js → PermissionsPage-CrRmJEWi.js} +1 -1
  69. package/public/assets/{PipelineConfigPage-DYL-Eg8a.js → PipelineConfigPage-QOFAuIzF.js} +1 -1
  70. package/public/assets/{PipelineEditorPage-D6EpDvPI.js → PipelineEditorPage-BiDBe2GM.js} +1 -1
  71. package/public/assets/{PlanPage-Bfgn9hdf.js → PlanPage-Bi6aA-yb.js} +1 -1
  72. package/public/assets/{ProfilePage-DydZ_JO_.js → ProfilePage-D3BwamWo.js} +1 -1
  73. package/public/assets/{ProjectDetailPage-BLSkZmV0.js → ProjectDetailPage-Crv53lJf.js} +3 -3
  74. package/public/assets/{ProjectListPage-KWBq3v71.js → ProjectListPage-BHkBlY4i.js} +1 -1
  75. package/public/assets/{PtyTerminal-DZ-tRh7i.js → PtyTerminal-fX-mJfnE.js} +1 -1
  76. package/public/assets/{QuickAuth-D_2JnzxW.js → QuickAuth-Bg6-rI5M.js} +1 -1
  77. package/public/assets/RemoveMemberConfirmDialog-DCvjYeqR.js +6 -0
  78. package/public/assets/{ReviewAggregatePage-D-sgcTHd.js → ReviewAggregatePage-vilyKtbQ.js} +2 -2
  79. package/public/assets/ReviewPage-B1moD3qH.js +1 -0
  80. package/public/assets/Select-Buxh6kTz.js +1 -0
  81. package/public/assets/{SettingsPage-DgNCPUzP.js → SettingsPage-e_KlSeOd.js} +1 -1
  82. package/public/assets/{Skeleton-C9OmZNVj.js → Skeleton-Cxko1u3z.js} +1 -1
  83. package/public/assets/{SkillPage-jXi2VAvG.js → SkillPage-BLXLZ_br.js} +1 -1
  84. package/public/assets/TaskDetailPage-DSf2vDDR.js +21 -0
  85. package/public/assets/{TaskGuidePage-C2VJEOGp.js → TaskGuidePage-BW1rBO-9.js} +1 -1
  86. package/public/assets/TaskListPage-hB72kn3H.js +1 -0
  87. package/public/assets/{TaskStatusBadge-Ieecwysj.js → TaskStatusBadge-C_WHXkor.js} +1 -1
  88. package/public/assets/{TerminalHomePage-wxZHwphZ.js → TerminalHomePage-DQ7h-pKm.js} +1 -1
  89. package/public/assets/{TokenManage-D_fRhfSC.js → TokenManage-BS68pVIn.js} +1 -1
  90. package/public/assets/Tooltip-CoGldvyP.js +1 -0
  91. package/public/assets/{TotpSetupPage-DPv5zEkr.js → TotpSetupPage-DSO6vRsM.js} +1 -1
  92. package/public/assets/{WorkerDetailPage-BNHh3G4i.js → WorkerDetailPage-CtSdGuiT.js} +1 -1
  93. package/public/assets/{WorkerListPage-CnUaksv5.js → WorkerListPage-BPjiOimX.js} +1 -1
  94. package/public/assets/{WorkerOperationsPage-BF-j3TGV.js → WorkerOperationsPage-S0sYpBVA.js} +1 -1
  95. package/public/assets/{WorkerSetupGuidePage-CgoXTtvB.js → WorkerSetupGuidePage-Cz8jZzlP.js} +1 -1
  96. package/public/assets/{WorkerSetupPage-C9FJdEtx.js → WorkerSetupPage-DP-Gua4N.js} +1 -1
  97. package/public/assets/agent-type-options-BO0L8qFm.js +1 -0
  98. package/public/assets/{arrow-left-CMC8xPNU.js → arrow-left-DsnDpdp1.js} +1 -1
  99. package/public/assets/{arrow-right-CzgMaKkq.js → arrow-right-SYbE07-f.js} +1 -1
  100. package/public/assets/{bot-DZNbJaal.js → bot-Te-gb92X.js} +1 -1
  101. package/public/assets/{chevron-down-Byw_H7qa.js → chevron-down-BOM9LZkG.js} +1 -1
  102. package/public/assets/{chevron-left-B9OwsObK.js → chevron-left-D9tS8E5I.js} +1 -1
  103. package/public/assets/{chevron-right-BDxmkY05.js → chevron-right-Cjz_w39s.js} +1 -1
  104. package/public/assets/{chevron-up-qpQChOEd.js → chevron-up-DP7_Tzsv.js} +1 -1
  105. package/public/assets/{circle-alert-qjGQBuvk.js → circle-alert-7ekwM0mg.js} +1 -1
  106. package/public/assets/{clock-RH0F7m7Y.js → clock-BSGAvAVI.js} +1 -1
  107. package/public/assets/{copy-sq8YNzps.js → copy-CYXyA9yV.js} +1 -1
  108. package/public/assets/developer-options-DMIpNxfA.js +1 -0
  109. package/public/assets/{download-BILbhyFl.js → download-BiTSnXRZ.js} +1 -1
  110. package/public/assets/{external-link-6-aTSDMz.js → external-link-BjNbjJjr.js} +1 -1
  111. package/public/assets/{git-fork-Tz0-ma48.js → git-fork-Cl-h0DTv.js} +1 -1
  112. package/public/assets/{index-CqgRY3L6.js → index--5cyM8L1.js} +15 -15
  113. package/public/assets/index-CTXH5Ib6.css +1 -0
  114. package/public/assets/{key-D8a2ymYq.js → key-BzsEyvw2.js} +1 -1
  115. package/public/assets/link-2-CmHbsrSO.js +6 -0
  116. package/public/assets/{loader-circle-CRxnDWNg.js → loader-circle-DgwRTB3H.js} +1 -1
  117. package/public/assets/{pencil-BB-LZCT2.js → pencil-CxmtoC0o.js} +1 -1
  118. package/public/assets/{play-DP6MNxNf.js → play-Ba8VDpNy.js} +1 -1
  119. package/public/assets/plug-B19phlnq.js +6 -0
  120. package/public/assets/{plus-DSLmbw91.js → plus-jUKyQIr2.js} +1 -1
  121. package/public/assets/power-DQyycfkW.js +6 -0
  122. package/public/assets/{rotate-ccw-DkPBqmSU.js → rotate-ccw-EMxH_to4.js} +1 -1
  123. package/public/assets/{scroll-text-Cn9LA-xo.js → scroll-text-pA_y69Ov.js} +1 -1
  124. package/public/assets/{settings-DQCRnFRi.js → settings-DAb4HsMD.js} +1 -1
  125. package/public/assets/{skip-forward-ZkknEL37.js → skip-forward-CqSyF3tK.js} +1 -1
  126. package/public/assets/status-colors-B460F2ZH.js +1 -0
  127. package/public/assets/{task-agent-knUib-IL.js → task-agent-Cx6Aibwn.js} +1 -1
  128. package/public/assets/{task-constants-DiU1z_dP.js → task-constants-BNLUt-jR.js} +1 -1
  129. package/public/assets/{task.store-BfdxbFUg.js → task.store-DzA1A6GX.js} +1 -1
  130. package/public/assets/{timer-BJw0BmGT.js → timer-DSCxqEFg.js} +1 -1
  131. package/public/assets/{trash-2-DLdIg5hq.js → trash-2-DKVPzjZC.js} +1 -1
  132. package/public/assets/{useFetch-cT1ib8kh.js → useFetch-O3XBp_Gw.js} +1 -1
  133. package/public/assets/{users-D2JV7gxB.js → users-2xZaXYNg.js} +1 -1
  134. package/public/assets/{wifi-Jy12B8KN.js → wifi-BJaHHkkn.js} +1 -1
  135. package/public/assets/{workflow-BmBIBEn9.js → workflow-D7dtHNTX.js} +1 -1
  136. package/public/assets/{zap-oNjSxQ6J.js → zap-BLh2ptQ-.js} +1 -1
  137. package/public/index.html +10 -2
  138. package/public/sw.js +1 -1
  139. package/public/assets/AdminPage-ByfD-Bj7.js +0 -1
  140. package/public/assets/AgentCliPage-DyJnRmFm.js +0 -3
  141. package/public/assets/BotManage-IJm4jT-7.js +0 -6
  142. package/public/assets/ChangelogPage-D3R17QQT.js +0 -1
  143. package/public/assets/HomePage-B4ION8nK.js +0 -1
  144. package/public/assets/RemoveMemberConfirmDialog-B1T8FRls.js +0 -6
  145. package/public/assets/ReviewPage-DLXr5nmf.js +0 -1
  146. package/public/assets/Select-PNbJCK1d.js +0 -1
  147. package/public/assets/TaskDetailPage-Dy0CSg-i.js +0 -21
  148. package/public/assets/TaskListPage-63cj9-Gf.js +0 -1
  149. package/public/assets/Tooltip-hO7lE45q.js +0 -1
  150. package/public/assets/agent-type-options-DPcGCrTV.js +0 -1
  151. package/public/assets/index-B40ZH6vh.css +0 -1
  152. package/public/assets/status-colors-CpKIU449.js +0 -1
@@ -23,6 +23,8 @@ const project_repository_1 = require("../../database/repositories/project.reposi
23
23
  const audit_log_repository_1 = require("../../database/repositories/audit-log.repository");
24
24
  const crypto_service_1 = require("../../common/crypto.service");
25
25
  const connector_registry_1 = require("../../connectors/connector.registry");
26
+ const rate_limit_guard_1 = require("../../common/rate-limit.guard");
27
+ const VALID_CONNECTOR_STATUSES = new Set(['active', 'disabled']);
26
28
  // Only accept platforms that have a registered connector implementation.
27
29
  // ConnectorPlatform enum includes 'linear' but no Linear connector exists yet.
28
30
  const VALID_PLATFORMS = new Set([protocol_1.ConnectorPlatform.JIRA, protocol_1.ConnectorPlatform.SENTRY, protocol_1.ConnectorPlatform.FIGMA]);
@@ -45,15 +47,33 @@ let AdminConnectorController = class AdminConnectorController {
45
47
  if (!body.name?.trim()) {
46
48
  throw new common_1.BadRequestException('name must be a non-empty string');
47
49
  }
50
+ if (body.baseUrl) {
51
+ try {
52
+ new URL(body.baseUrl);
53
+ }
54
+ catch {
55
+ throw new common_1.BadRequestException('baseUrl must be a valid URL');
56
+ }
57
+ }
48
58
  if (!body.credentials || typeof body.credentials !== 'object') {
49
59
  throw new common_1.BadRequestException('credentials must be a non-empty object');
50
60
  }
61
+ // Trim all credential values to prevent whitespace-only entries
62
+ for (const key of Object.keys(body.credentials)) {
63
+ if (typeof body.credentials[key] === 'string') {
64
+ body.credentials[key] = body.credentials[key].trim();
65
+ }
66
+ }
51
67
  // Platform-specific credential validation
52
68
  if (body.platform === 'sentry' && (!body.credentials.authToken || !body.credentials.org)) {
53
69
  throw new common_1.BadRequestException('Sentry credentials must include "authToken" and "org" (organization slug)');
54
70
  }
55
- if (body.platform === 'jira' && (!body.credentials.email || !body.credentials.apiToken)) {
56
- throw new common_1.BadRequestException('Jira credentials must include "email" and "apiToken"');
71
+ if (body.platform === 'jira') {
72
+ const hasCloud = body.credentials.email && body.credentials.apiToken;
73
+ const hasPat = body.credentials.personalAccessToken;
74
+ if (!hasCloud && !hasPat) {
75
+ throw new common_1.BadRequestException('Jira credentials must include either "email" + "apiToken" (Cloud) or "personalAccessToken" (Server/DC)');
76
+ }
57
77
  }
58
78
  if (body.platform === 'figma') {
59
79
  if (!body.credentials.personalAccessToken) {
@@ -89,25 +109,57 @@ let AdminConnectorController = class AdminConnectorController {
89
109
  const instance = this.connectorRepo.findInstanceById(id);
90
110
  if (!instance)
91
111
  throw new common_1.NotFoundException(`Connector #${id} not found`);
92
- // Validate credentials if being updated
112
+ // Merge partial credentials with existing ones, then validate completeness.
113
+ let mergedCredentials;
93
114
  if (body.credentials) {
94
- if (instance.platform === 'sentry' && (!body.credentials.authToken || !body.credentials.org)) {
115
+ let existing = {};
116
+ try {
117
+ existing = JSON.parse(this.cryptoService.decryptAes(instance.credentials));
118
+ }
119
+ catch {
120
+ // If decryption fails, treat as empty — the new values will need to be complete.
121
+ }
122
+ mergedCredentials = { ...existing, ...body.credentials };
123
+ // When switching Jira auth method, strip the conflicting credentials
124
+ // to prevent stale Cloud creds taking priority over new PAT (or vice versa).
125
+ if (instance.platform === 'jira') {
126
+ if (body.credentials.personalAccessToken) {
127
+ delete mergedCredentials.email;
128
+ delete mergedCredentials.apiToken;
129
+ }
130
+ else if (body.credentials.email || body.credentials.apiToken) {
131
+ delete mergedCredentials.personalAccessToken;
132
+ }
133
+ }
134
+ if (instance.platform === 'sentry' && (!mergedCredentials.authToken || !mergedCredentials.org)) {
95
135
  throw new common_1.BadRequestException('Sentry credentials must include "authToken" and "org" (organization slug)');
96
136
  }
97
- if (instance.platform === 'jira' && (!body.credentials.email || !body.credentials.apiToken)) {
98
- throw new common_1.BadRequestException('Jira credentials must include "email" and "apiToken"');
137
+ if (instance.platform === 'jira') {
138
+ const hasCloud = mergedCredentials.email && mergedCredentials.apiToken;
139
+ const hasPat = mergedCredentials.personalAccessToken;
140
+ if (!hasCloud && !hasPat) {
141
+ throw new common_1.BadRequestException('Jira credentials must include either "email" + "apiToken" (Cloud) or "personalAccessToken" (Server/DC)');
142
+ }
99
143
  }
100
- if (instance.platform === 'figma' && !body.credentials.personalAccessToken) {
144
+ if (instance.platform === 'figma' && !mergedCredentials.personalAccessToken) {
101
145
  throw new common_1.BadRequestException('Figma credentials must include "personalAccessToken"');
102
146
  }
103
147
  }
148
+ if (body.baseUrl && body.baseUrl.trim()) {
149
+ try {
150
+ new URL(body.baseUrl.trim());
151
+ }
152
+ catch {
153
+ throw new common_1.BadRequestException('baseUrl must be a valid URL');
154
+ }
155
+ }
104
156
  const updates = {};
105
157
  if (body.name !== undefined)
106
158
  updates.name = body.name.trim();
107
159
  if (body.baseUrl !== undefined)
108
160
  updates.baseUrl = body.baseUrl?.trim() || null;
109
- if (body.credentials)
110
- updates.credentials = this.cryptoService.encryptAes(JSON.stringify(body.credentials));
161
+ if (mergedCredentials)
162
+ updates.credentials = this.cryptoService.encryptAes(JSON.stringify(mergedCredentials));
111
163
  if (body.webhookSecret !== undefined) {
112
164
  if (!body.webhookSecret && instance.platform === 'figma') {
113
165
  throw new common_1.BadRequestException('Figma connectors require a webhookSecret (passcode)');
@@ -116,10 +168,14 @@ let AdminConnectorController = class AdminConnectorController {
116
168
  ? this.cryptoService.encryptAes(body.webhookSecret)
117
169
  : null;
118
170
  }
119
- if (body.status !== undefined)
171
+ if (body.status !== undefined) {
172
+ if (!VALID_CONNECTOR_STATUSES.has(body.status)) {
173
+ throw new common_1.BadRequestException(`Invalid status. Must be one of: ${[...VALID_CONNECTOR_STATUSES].join(', ')}`);
174
+ }
120
175
  updates.status = body.status;
176
+ }
121
177
  if (body.mentionKeyword !== undefined)
122
- updates.mentionKeyword = body.mentionKeyword;
178
+ updates.mentionKeyword = body.mentionKeyword?.trim() ?? '';
123
179
  this.connectorRepo.updateInstance(id, updates);
124
180
  this.auditLogRepo.create({
125
181
  userId: req.user.sub,
@@ -149,7 +205,13 @@ let AdminConnectorController = class AdminConnectorController {
149
205
  const connector = this.connectorRegistry.get(instance.platform);
150
206
  if (!connector)
151
207
  throw new common_1.BadRequestException(`No connector handler for platform '${instance.platform}'`);
152
- const credentials = JSON.parse(this.cryptoService.decryptAes(instance.credentials));
208
+ let credentials;
209
+ try {
210
+ credentials = JSON.parse(this.cryptoService.decryptAes(instance.credentials));
211
+ }
212
+ catch {
213
+ return { valid: false, error: 'Failed to decrypt stored credentials' };
214
+ }
153
215
  const valid = await connector.validateCredentials(credentials, instance.baseUrl ?? undefined);
154
216
  return { valid };
155
217
  }
@@ -210,9 +272,19 @@ let AdminConnectorController = class AdminConnectorController {
210
272
  const binding = this.connectorRepo.findBindingById(bindingId);
211
273
  if (!binding)
212
274
  throw new common_1.NotFoundException('Binding not found');
275
+ // Enforce single default per instance
276
+ if (body.isDefault && !binding.isDefault) {
277
+ const existingBindings = this.connectorRepo.findBindingsByInstanceId(binding.connectorInstanceId);
278
+ const existingDefault = existingBindings.find((b) => b.isDefault && b.id !== bindingId);
279
+ if (existingDefault) {
280
+ throw new common_1.ConflictException(`Connector already has a default binding (project '${existingDefault.projectKey}'). Remove or update the existing default first.`);
281
+ }
282
+ }
213
283
  this.connectorRepo.updateBinding(bindingId, {
214
284
  autoDesignReview: body.autoDesignReview,
215
285
  statusMapping: body.statusMapping,
286
+ externalProjectKey: typeof body.externalProjectKey === 'string' ? body.externalProjectKey.trim() || null : body.externalProjectKey,
287
+ isDefault: body.isDefault,
216
288
  });
217
289
  this.auditLogRepo.create({
218
290
  userId: req.user.sub,
@@ -245,6 +317,7 @@ __decorate([
245
317
  ], AdminConnectorController.prototype, "listConnectors", null);
246
318
  __decorate([
247
319
  (0, common_1.Post)(),
320
+ (0, rate_limit_guard_1.RateLimit)({ limit: 10, windowMs: 60_000 }),
248
321
  __param(0, (0, common_1.Body)()),
249
322
  __param(1, (0, common_1.Req)()),
250
323
  __metadata("design:type", Function),
@@ -253,6 +326,7 @@ __decorate([
253
326
  ], AdminConnectorController.prototype, "createConnector", null);
254
327
  __decorate([
255
328
  (0, common_1.Put)(':id'),
329
+ (0, rate_limit_guard_1.RateLimit)({ limit: 20, windowMs: 60_000 }),
256
330
  __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
257
331
  __param(1, (0, common_1.Body)()),
258
332
  __param(2, (0, common_1.Req)()),
@@ -262,6 +336,7 @@ __decorate([
262
336
  ], AdminConnectorController.prototype, "updateConnector", null);
263
337
  __decorate([
264
338
  (0, common_1.Delete)(':id'),
339
+ (0, rate_limit_guard_1.RateLimit)({ limit: 10, windowMs: 60_000 }),
265
340
  __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
266
341
  __param(1, (0, common_1.Req)()),
267
342
  __metadata("design:type", Function),
@@ -270,6 +345,7 @@ __decorate([
270
345
  ], AdminConnectorController.prototype, "deleteConnector", null);
271
346
  __decorate([
272
347
  (0, common_1.Post)(':id/validate'),
348
+ (0, rate_limit_guard_1.RateLimit)({ limit: 5, windowMs: 60_000 }),
273
349
  __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
274
350
  __metadata("design:type", Function),
275
351
  __metadata("design:paramtypes", [Number]),
@@ -1 +1 @@
1
- {"version":3,"file":"admin-connector.controller.js","sourceRoot":"","sources":["../../../src/web/admin/admin-connector.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin-connector.controller.js","sourceRoot":"","sources":["../../../src/web/admin/admin-connector.controller.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { DeveloperRole } from '@overlordai/protocol';
2
1
  import { ProjectRepository } from '../database/repositories/project.repository';
3
2
  import { ProjectMemberRepository } from '../database/repositories/project-member.repository';
4
3
  import { DeveloperRepository } from '../database/repositories/developer.repository';
@@ -49,8 +48,7 @@ export declare class ProjectController {
49
48
  listDevelopers(): {
50
49
  id: number;
51
50
  name: string;
52
- gitEmail: string;
53
- role: DeveloperRole;
51
+ status: import("@overlordai/protocol").DeveloperStatus;
54
52
  }[];
55
53
  getProject(key: string, req: AuthenticatedRequest): {
56
54
  gitTokenMasked: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"project.controller.d.ts","sourceRoot":"","sources":["../../src/web/project.controller.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAe,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAKlE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oDAAoD,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,qBAEa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBANb,WAAW,EAAE,iBAAiB,EAC9B,iBAAiB,EAAE,uBAAuB,EAC1C,aAAa,EAAE,mBAAmB,EAClC,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,kBAAkB,EAChC,oBAAoB,EAAE,oBAAoB,EAC1C,aAAa,EAAE,aAAa;IAK/C,YAAY,CAAQ,GAAG,EAAE,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0B7C,cAAc;;;;;;IAUd,UAAU,CAAe,GAAG,EAAE,MAAM,EAAS,GAAG,EAAE,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;IA8BtE,aAAa,CACU,GAAG,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,EAAE,oBAAoB;IAwBlC,WAAW,CAAsB,GAAG,EAAE,MAAM;IAO5C,SAAS,CACc,GAAG,EAAE,MAAM,EACxB,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAC7C,GAAG,EAAE,oBAAoB;IAQlC,YAAY,CACW,GAAG,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,EAClC,GAAG,EAAE,oBAAoB;;;IASlC,WAAW,CACY,GAAG,EAAE,MAAM,EACxB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EACxB,GAAG,EAAE,oBAAoB;;;;IA6BlC,cAAc,CACS,GAAG,EAAE,MAAM,EACzB,GAAG,EAAE,oBAAoB;;;CAkBnC"}
1
+ {"version":3,"file":"project.controller.d.ts","sourceRoot":"","sources":["../../src/web/project.controller.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oDAAoD,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,qBAEa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBANb,WAAW,EAAE,iBAAiB,EAC9B,iBAAiB,EAAE,uBAAuB,EAC1C,aAAa,EAAE,mBAAmB,EAClC,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,kBAAkB,EAChC,oBAAoB,EAAE,oBAAoB,EAC1C,aAAa,EAAE,aAAa;IAK/C,YAAY,CAAQ,GAAG,EAAE,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0B7C,cAAc;;;;;IAWd,UAAU,CAAe,GAAG,EAAE,MAAM,EAAS,GAAG,EAAE,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;IA8BtE,aAAa,CACU,GAAG,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,EAAE,oBAAoB;IAwBlC,WAAW,CAAsB,GAAG,EAAE,MAAM;IAO5C,SAAS,CACc,GAAG,EAAE,MAAM,EACxB,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAC7C,GAAG,EAAE,oBAAoB;IAQlC,YAAY,CACW,GAAG,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,EAClC,GAAG,EAAE,oBAAoB;;;IASlC,WAAW,CACY,GAAG,EAAE,MAAM,EACxB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EACxB,GAAG,EAAE,oBAAoB;;;;IA6BlC,cAAc,CACS,GAAG,EAAE,MAAM,EACzB,GAAG,EAAE,oBAAoB;;;CAkBnC"}
@@ -60,11 +60,12 @@ let ProjectController = class ProjectController {
60
60
  }));
61
61
  }
62
62
  listDevelopers() {
63
+ // Minimal fields for filter dropdowns (task list, review page).
64
+ // gitEmail omitted to limit exposure on this unauthenticated-role endpoint.
63
65
  return this.developerRepo.findAll().map((d) => ({
64
66
  id: d.id,
65
67
  name: d.name,
66
- gitEmail: d.gitEmail,
67
- role: d.role,
68
+ status: d.status,
68
69
  }));
69
70
  }
70
71
  getProject(key, req) {
@@ -1 +1 @@
1
- {"version":3,"file":"project.controller.js","sourceRoot":"","sources":["../../src/web/project.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.controller.js","sourceRoot":"","sources":["../../src/web/project.controller.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@overlordai/server",
3
- "version": "1.0.177",
3
+ "version": "1.0.179",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "dist",
@@ -28,9 +28,9 @@
28
28
  "@nestjs/platform-express": "^10.4.0",
29
29
  "@nestjs/platform-ws": "^10.4.0",
30
30
  "@nestjs/websockets": "^10.4.0",
31
- "@overlordai/command-parser": "1.0.177",
32
- "@overlordai/protocol": "1.0.177",
33
- "@overlordai/validation": "1.0.177",
31
+ "@overlordai/command-parser": "1.0.179",
32
+ "@overlordai/protocol": "1.0.179",
33
+ "@overlordai/validation": "1.0.179",
34
34
  "@slack/web-api": "^7.15.0",
35
35
  "bcrypt": "^6.0.0",
36
36
  "better-sqlite3": "^11.0.0",
@@ -1 +1 @@
1
- import{a as _,v as C,r as c,j as e,h as k,s as T,x as S,J as A,a6 as D,a8 as f,t as g}from"./index-CqgRY3L6.js";import{S as E}from"./Select-PNbJCK1d.js";import{E as L}from"./EmptyState-B0pdsOsA.js";import{T as I}from"./Skeleton-C9OmZNVj.js";import{t as N}from"./date-CmcdoD87.js";import{u as R}from"./useFetch-cT1ib8kh.js";import{P}from"./plus-DSLmbw91.js";import{C as O}from"./copy-sq8YNzps.js";import{T as w}from"./trash-2-DLdIg5hq.js";import"./chevron-down-Byw_H7qa.js";function V({isOpen:s,onClose:u,onCreated:i}){const{t:a}=_();C(s);const[d,o]=c.useState(""),[x,n]=c.useState("never"),[m,p]=c.useState(!1),[v,l]=c.useState(""),j=[{value:"never",label:a("access_tokens.no_expiry")},{value:"30",label:a("access_tokens.days_30")},{value:"90",label:a("access_tokens.days_90")},{value:"365",label:a("access_tokens.days_365")}];function h(){o(""),n("never"),l(""),u()}async function b(){if(l(""),!d.trim()){l(a("access_tokens.token_label_required"));return}try{p(!0);const r=await k.post("web/profile/tokens",{json:{label:d.trim(),...x!=="never"&&{expiresAt:new Date(Date.now()+parseInt(x,10)*864e5).toISOString()}}}).json();o(""),n("never"),i({token:r.token,name:r.name})}catch(r){const y=r instanceof Error?r.message:a("access_tokens.failed_to_create_token");l(y)}finally{p(!1)}}return s?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"fixed inset-0 z-40 bg-[var(--modal-backdrop)]"}),e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:e.jsxs("div",{className:"w-full max-w-[480px] rounded-[4px] border border-[var(--border)] bg-[var(--bg-card)] shadow-lg",onClick:r=>r.stopPropagation(),children:[e.jsxs("div",{className:"border-b border-[var(--border)] px-5 py-4",children:[e.jsx("h2",{className:"text-sm font-semibold text-[var(--text-primary)]",children:a("access_tokens.create_personal_access_token")}),e.jsx("p",{className:"mt-1 text-xs text-[var(--text-muted)]",children:a("access_tokens.tokens_authenticate_desc")})]}),e.jsxs("div",{className:"space-y-4 px-5 py-5",children:[v&&e.jsx("div",{className:"rounded-[4px] border border-[var(--destructive)]/30 bg-[var(--destructive)]/5 px-3 py-2 text-xs text-[var(--destructive)]",children:v}),e.jsxs("div",{children:[e.jsx("label",{className:"mb-1.5 block text-xs text-[var(--text-muted)]",children:a("access_tokens.token_name")}),e.jsx("input",{type:"text",placeholder:a("access_tokens.token_name_placeholder"),value:d,onChange:r=>o(r.target.value),onKeyDown:r=>{r.key==="Enter"&&b()},className:"w-full rounded-[4px] border border-[var(--border)] bg-[var(--bg-input)] px-3 py-2 text-xs text-[var(--text-primary)] outline-none focus:border-[var(--accent)]"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"mb-1.5 block text-xs text-[var(--text-muted)]",children:a("access_tokens.expires")}),e.jsx(E,{value:x,onChange:n,options:j})]})]}),e.jsxs("div",{className:"flex justify-end gap-2 border-t border-[var(--border)] px-5 py-4",children:[e.jsx("button",{onClick:h,className:"rounded-[4px] border border-[var(--border)] bg-transparent px-4 py-2 text-xs text-[var(--text-secondary)] hover:text-[var(--text-primary)] transition-colors",children:a("common.cancel")}),e.jsx("button",{onClick:b,disabled:m,className:"rounded-[4px] bg-[var(--accent)] px-4 py-2 text-xs font-medium text-black hover:opacity-90 transition-opacity disabled:opacity-50",children:a(m?"common.creating":"access_tokens.create_token")})]})]})})]}):null}function U({isOpen:s,onClose:u,onConfirm:i,tokenLabel:a,isLoading:d}){const{t:o}=_();return e.jsx(T,{isOpen:s,onClose:u,onConfirm:i,title:o("access_tokens.revoke_token_title"),message:o("access_tokens.revoke_confirm",{name:a}),confirmLabel:o("access_tokens.revoke"),confirmVariant:"danger",isLoading:d})}function Q(){const{t:s}=_(),[u,i]=c.useState(!1),[a,d]=c.useState(null),[o,x]=c.useState(!1),[n,m]=c.useState(null),[p,v]=c.useState(null),{data:l,loading:j,refetch:h}=R(()=>k.get("web/profile/tokens").json(),[]);S(c.useMemo(()=>e.jsxs("button",{onClick:()=>i(!0),className:"flex items-center gap-1.5 rounded-[4px] bg-[var(--accent)] px-3 py-1.5 text-xs text-black transition-opacity hover:opacity-90",children:[e.jsx(P,{className:"h-3.5 w-3.5"}),s("access_tokens.create_token")]}),[s]));function b(t){i(!1),d(t.token),x(!1),h()}async function r(){if(a)try{await navigator.clipboard.writeText(a),x(!0),setTimeout(()=>x(!1),2e3)}catch{}}async function y(){if(n)try{v(n.id),await k.post(`web/profile/tokens/${n.id}/revoke`),g.success(s("access_tokens.token_revoked")),m(null),h()}catch{g.error(s("access_tokens.failed_to_revoke_token"))}finally{v(null)}}return e.jsxs("div",{className:"mx-auto max-w-4xl px-4 md:px-6 py-8 font-mono lowercase",children:[a&&e.jsxs("div",{className:"mb-6 rounded-[4px] border border-[var(--warning)] bg-[var(--bg-card)] px-4 py-3",children:[e.jsx("p",{className:"mb-2 text-xs font-medium text-[var(--warning)]",children:s("access_tokens.copy_token_warning")}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("code",{className:"flex-1 break-all rounded-[4px] bg-[var(--bg-primary)] px-3 py-2 text-xs text-[var(--text-primary)]",children:a}),e.jsxs("button",{onClick:r,className:"flex items-center gap-1 rounded-[4px] border border-[var(--border)] px-2 py-1.5 text-xs text-[var(--text-secondary)] hover:text-[var(--text-primary)] transition-colors",children:[o?e.jsx(A,{className:"h-3.5 w-3.5 text-[var(--accent)]"}):e.jsx(O,{className:"h-3.5 w-3.5"}),s(o?"common.copied":"common.copy")]})]}),e.jsx("div",{className:"mt-2 flex justify-end",children:e.jsx("button",{onClick:()=>d(null),className:"text-xs text-[var(--text-muted)] hover:text-[var(--text-secondary)]",children:s("common.dismiss")})})]}),e.jsx("div",{className:"rounded-[4px] border border-[var(--border)] bg-[var(--bg-card)]",children:j?e.jsx("div",{className:"p-4",children:e.jsx(I,{rows:3})}):!l||l.length===0?e.jsx(L,{icon:D,title:s("access_tokens.no_tokens"),description:s("access_tokens.create_token_desc"),actionLabel:s("access_tokens.create_token"),onAction:()=>i(!0)}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"md:hidden divide-y divide-[var(--border)]",children:l.map(t=>e.jsxs("div",{className:"px-4 py-3 space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"truncate text-xs text-[var(--text-primary)] font-medium",children:t.label}),e.jsx("span",{className:`text-xs shrink-0 ml-2 ${t.status===f.ACTIVE?"text-green-400":"text-[var(--text-muted)]"}`,children:t.status})]}),e.jsxs("div",{className:"flex flex-wrap gap-x-4 gap-y-1 text-[11px] text-[var(--text-secondary)]",children:[e.jsxs("span",{children:[s("access_tokens.created"),": ",new Date(t.createdAt).toLocaleDateString()]}),e.jsxs("span",{children:[s("access_tokens.expires"),": ",t.expiresAt?new Date(t.expiresAt).toLocaleDateString():s("common.never")]}),e.jsxs("span",{children:[s("access_tokens.last_used"),": ",t.lastUsedAt?N(t.lastUsedAt):s("common.never")]})]}),t.status===f.ACTIVE&&e.jsx("div",{className:"flex justify-end",children:e.jsxs("button",{onClick:()=>m(t),disabled:p===t.id,className:"inline-flex items-center gap-1 text-xs text-[var(--destructive)] hover:underline disabled:opacity-50",children:[e.jsx(w,{className:"h-3 w-3"}),s("access_tokens.revoke")]})})]},t.id))}),e.jsxs("table",{className:"hidden md:table w-full text-xs",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-[var(--border)] text-left text-[var(--text-muted)]",children:[e.jsx("th",{className:"px-4 py-2.5 font-normal",children:s("common.name")}),e.jsx("th",{className:"px-4 py-2.5 font-normal",children:s("common.status")}),e.jsx("th",{className:"px-4 py-2.5 font-normal",children:s("access_tokens.created")}),e.jsx("th",{className:"px-4 py-2.5 font-normal",children:s("access_tokens.last_used")}),e.jsx("th",{className:"px-4 py-2.5 font-normal",children:s("access_tokens.expires")}),e.jsx("th",{className:"px-4 py-2.5 font-normal text-right",children:s("common.actions")})]})}),e.jsx("tbody",{children:l.map(t=>e.jsxs("tr",{className:"border-b border-[var(--border-row)] last:border-b-0 hover:bg-white/[0.02] transition-colors",children:[e.jsx("td",{className:"px-4 py-3 text-[var(--text-primary)]",children:e.jsx("span",{className:"truncate block max-w-[100px] md:max-w-[200px]",children:t.label})}),e.jsx("td",{className:"px-4 py-3",children:e.jsx("span",{className:t.status===f.ACTIVE?"text-green-400":"text-[var(--text-muted)]",children:t.status})}),e.jsx("td",{className:"px-4 py-3 text-[var(--text-secondary)]",children:new Date(t.createdAt).toLocaleDateString()}),e.jsx("td",{className:"px-4 py-3 text-[var(--text-secondary)]",children:t.lastUsedAt?N(t.lastUsedAt):s("common.never")}),e.jsx("td",{className:"px-4 py-3 text-[var(--text-secondary)]",children:t.expiresAt?new Date(t.expiresAt).toLocaleDateString():s("common.never")}),e.jsx("td",{className:"px-4 py-3 text-right",children:t.status===f.ACTIVE&&e.jsxs("button",{onClick:()=>m(t),disabled:p===t.id,className:"inline-flex items-center gap-1 text-xs text-[var(--destructive)] hover:underline disabled:opacity-50",children:[e.jsx(w,{className:"h-3 w-3"}),s("access_tokens.revoke")]})})]},t.id))})]})]})}),e.jsx(V,{isOpen:u,onClose:()=>i(!1),onCreated:b}),e.jsx(U,{isOpen:!!n,onClose:()=>m(null),onConfirm:y,tokenLabel:(n==null?void 0:n.label)??"",isLoading:p!==null})]})}export{Q as default};
1
+ import{a as _,v as C,r as c,j as e,h as k,s as T,x as S,J as A,a7 as D,a9 as f,t as g}from"./index--5cyM8L1.js";import{S as E}from"./Select-Buxh6kTz.js";import{E as L}from"./EmptyState-DCvtEuqr.js";import{T as I}from"./Skeleton-Cxko1u3z.js";import{t as N}from"./date-CmcdoD87.js";import{u as R}from"./useFetch-O3XBp_Gw.js";import{P}from"./plus-jUKyQIr2.js";import{C as O}from"./copy-CYXyA9yV.js";import{T as w}from"./trash-2-DKVPzjZC.js";import"./chevron-down-BOM9LZkG.js";function V({isOpen:s,onClose:u,onCreated:i}){const{t:a}=_();C(s);const[d,o]=c.useState(""),[x,n]=c.useState("never"),[m,p]=c.useState(!1),[v,l]=c.useState(""),j=[{value:"never",label:a("access_tokens.no_expiry")},{value:"30",label:a("access_tokens.days_30")},{value:"90",label:a("access_tokens.days_90")},{value:"365",label:a("access_tokens.days_365")}];function h(){o(""),n("never"),l(""),u()}async function b(){if(l(""),!d.trim()){l(a("access_tokens.token_label_required"));return}try{p(!0);const r=await k.post("web/profile/tokens",{json:{label:d.trim(),...x!=="never"&&{expiresAt:new Date(Date.now()+parseInt(x,10)*864e5).toISOString()}}}).json();o(""),n("never"),i({token:r.token,name:r.name})}catch(r){const y=r instanceof Error?r.message:a("access_tokens.failed_to_create_token");l(y)}finally{p(!1)}}return s?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"fixed inset-0 z-40 bg-[var(--modal-backdrop)]"}),e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:e.jsxs("div",{className:"w-full max-w-[480px] rounded-[4px] border border-[var(--border)] bg-[var(--bg-card)] shadow-lg",onClick:r=>r.stopPropagation(),children:[e.jsxs("div",{className:"border-b border-[var(--border)] px-5 py-4",children:[e.jsx("h2",{className:"text-sm font-semibold text-[var(--text-primary)]",children:a("access_tokens.create_personal_access_token")}),e.jsx("p",{className:"mt-1 text-xs text-[var(--text-muted)]",children:a("access_tokens.tokens_authenticate_desc")})]}),e.jsxs("div",{className:"space-y-4 px-5 py-5",children:[v&&e.jsx("div",{className:"rounded-[4px] border border-[var(--destructive)]/30 bg-[var(--destructive)]/5 px-3 py-2 text-xs text-[var(--destructive)]",children:v}),e.jsxs("div",{children:[e.jsx("label",{className:"mb-1.5 block text-xs text-[var(--text-muted)]",children:a("access_tokens.token_name")}),e.jsx("input",{type:"text",placeholder:a("access_tokens.token_name_placeholder"),value:d,onChange:r=>o(r.target.value),onKeyDown:r=>{r.key==="Enter"&&b()},className:"w-full rounded-[4px] border border-[var(--border)] bg-[var(--bg-input)] px-3 py-2 text-xs text-[var(--text-primary)] outline-none focus:border-[var(--accent)]"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"mb-1.5 block text-xs text-[var(--text-muted)]",children:a("access_tokens.expires")}),e.jsx(E,{value:x,onChange:n,options:j})]})]}),e.jsxs("div",{className:"flex justify-end gap-2 border-t border-[var(--border)] px-5 py-4",children:[e.jsx("button",{onClick:h,className:"rounded-[4px] border border-[var(--border)] bg-transparent px-4 py-2 text-xs text-[var(--text-secondary)] hover:text-[var(--text-primary)] transition-colors",children:a("common.cancel")}),e.jsx("button",{onClick:b,disabled:m,className:"rounded-[4px] bg-[var(--accent)] px-4 py-2 text-xs font-medium text-black hover:opacity-90 transition-opacity disabled:opacity-50",children:a(m?"common.creating":"access_tokens.create_token")})]})]})})]}):null}function U({isOpen:s,onClose:u,onConfirm:i,tokenLabel:a,isLoading:d}){const{t:o}=_();return e.jsx(T,{isOpen:s,onClose:u,onConfirm:i,title:o("access_tokens.revoke_token_title"),message:o("access_tokens.revoke_confirm",{name:a}),confirmLabel:o("access_tokens.revoke"),confirmVariant:"danger",isLoading:d})}function Q(){const{t:s}=_(),[u,i]=c.useState(!1),[a,d]=c.useState(null),[o,x]=c.useState(!1),[n,m]=c.useState(null),[p,v]=c.useState(null),{data:l,loading:j,refetch:h}=R(()=>k.get("web/profile/tokens").json(),[]);S(c.useMemo(()=>e.jsxs("button",{onClick:()=>i(!0),className:"flex items-center gap-1.5 rounded-[4px] bg-[var(--accent)] px-3 py-1.5 text-xs text-black transition-opacity hover:opacity-90",children:[e.jsx(P,{className:"h-3.5 w-3.5"}),s("access_tokens.create_token")]}),[s]));function b(t){i(!1),d(t.token),x(!1),h()}async function r(){if(a)try{await navigator.clipboard.writeText(a),x(!0),setTimeout(()=>x(!1),2e3)}catch{}}async function y(){if(n)try{v(n.id),await k.post(`web/profile/tokens/${n.id}/revoke`),g.success(s("access_tokens.token_revoked")),m(null),h()}catch{g.error(s("access_tokens.failed_to_revoke_token"))}finally{v(null)}}return e.jsxs("div",{className:"mx-auto max-w-4xl px-4 md:px-6 py-8 font-mono lowercase",children:[a&&e.jsxs("div",{className:"mb-6 rounded-[4px] border border-[var(--warning)] bg-[var(--bg-card)] px-4 py-3",children:[e.jsx("p",{className:"mb-2 text-xs font-medium text-[var(--warning)]",children:s("access_tokens.copy_token_warning")}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("code",{className:"flex-1 break-all rounded-[4px] bg-[var(--bg-primary)] px-3 py-2 text-xs text-[var(--text-primary)]",children:a}),e.jsxs("button",{onClick:r,className:"flex items-center gap-1 rounded-[4px] border border-[var(--border)] px-2 py-1.5 text-xs text-[var(--text-secondary)] hover:text-[var(--text-primary)] transition-colors",children:[o?e.jsx(A,{className:"h-3.5 w-3.5 text-[var(--accent)]"}):e.jsx(O,{className:"h-3.5 w-3.5"}),s(o?"common.copied":"common.copy")]})]}),e.jsx("div",{className:"mt-2 flex justify-end",children:e.jsx("button",{onClick:()=>d(null),className:"text-xs text-[var(--text-muted)] hover:text-[var(--text-secondary)]",children:s("common.dismiss")})})]}),e.jsx("div",{className:"rounded-[4px] border border-[var(--border)] bg-[var(--bg-card)]",children:j?e.jsx("div",{className:"p-4",children:e.jsx(I,{rows:3})}):!l||l.length===0?e.jsx(L,{icon:D,title:s("access_tokens.no_tokens"),description:s("access_tokens.create_token_desc"),actionLabel:s("access_tokens.create_token"),onAction:()=>i(!0)}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"md:hidden divide-y divide-[var(--border)]",children:l.map(t=>e.jsxs("div",{className:"px-4 py-3 space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"truncate text-xs text-[var(--text-primary)] font-medium",children:t.label}),e.jsx("span",{className:`text-xs shrink-0 ml-2 ${t.status===f.ACTIVE?"text-green-400":"text-[var(--text-muted)]"}`,children:t.status})]}),e.jsxs("div",{className:"flex flex-wrap gap-x-4 gap-y-1 text-[11px] text-[var(--text-secondary)]",children:[e.jsxs("span",{children:[s("access_tokens.created"),": ",new Date(t.createdAt).toLocaleDateString()]}),e.jsxs("span",{children:[s("access_tokens.expires"),": ",t.expiresAt?new Date(t.expiresAt).toLocaleDateString():s("common.never")]}),e.jsxs("span",{children:[s("access_tokens.last_used"),": ",t.lastUsedAt?N(t.lastUsedAt):s("common.never")]})]}),t.status===f.ACTIVE&&e.jsx("div",{className:"flex justify-end",children:e.jsxs("button",{onClick:()=>m(t),disabled:p===t.id,className:"inline-flex items-center gap-1 text-xs text-[var(--destructive)] hover:underline disabled:opacity-50",children:[e.jsx(w,{className:"h-3 w-3"}),s("access_tokens.revoke")]})})]},t.id))}),e.jsxs("table",{className:"hidden md:table w-full text-xs",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-[var(--border)] text-left text-[var(--text-muted)]",children:[e.jsx("th",{className:"px-4 py-2.5 font-normal",children:s("common.name")}),e.jsx("th",{className:"px-4 py-2.5 font-normal",children:s("common.status")}),e.jsx("th",{className:"px-4 py-2.5 font-normal",children:s("access_tokens.created")}),e.jsx("th",{className:"px-4 py-2.5 font-normal",children:s("access_tokens.last_used")}),e.jsx("th",{className:"px-4 py-2.5 font-normal",children:s("access_tokens.expires")}),e.jsx("th",{className:"px-4 py-2.5 font-normal text-right",children:s("common.actions")})]})}),e.jsx("tbody",{children:l.map(t=>e.jsxs("tr",{className:"border-b border-[var(--border-row)] last:border-b-0 hover:bg-white/[0.02] transition-colors",children:[e.jsx("td",{className:"px-4 py-3 text-[var(--text-primary)]",children:e.jsx("span",{className:"truncate block max-w-[100px] md:max-w-[200px]",children:t.label})}),e.jsx("td",{className:"px-4 py-3",children:e.jsx("span",{className:t.status===f.ACTIVE?"text-green-400":"text-[var(--text-muted)]",children:t.status})}),e.jsx("td",{className:"px-4 py-3 text-[var(--text-secondary)]",children:new Date(t.createdAt).toLocaleDateString()}),e.jsx("td",{className:"px-4 py-3 text-[var(--text-secondary)]",children:t.lastUsedAt?N(t.lastUsedAt):s("common.never")}),e.jsx("td",{className:"px-4 py-3 text-[var(--text-secondary)]",children:t.expiresAt?new Date(t.expiresAt).toLocaleDateString():s("common.never")}),e.jsx("td",{className:"px-4 py-3 text-right",children:t.status===f.ACTIVE&&e.jsxs("button",{onClick:()=>m(t),disabled:p===t.id,className:"inline-flex items-center gap-1 text-xs text-[var(--destructive)] hover:underline disabled:opacity-50",children:[e.jsx(w,{className:"h-3 w-3"}),s("access_tokens.revoke")]})})]},t.id))})]})]})}),e.jsx(V,{isOpen:u,onClose:()=>i(!1),onCreated:b}),e.jsx(U,{isOpen:!!n,onClose:()=>m(null),onConfirm:y,tokenLabel:(n==null?void 0:n.label)??"",isLoading:p!==null})]})}export{Q as default};
@@ -0,0 +1 @@
1
+ import{a as i,a7 as m,j as t,aa as d,ab as l}from"./index--5cyM8L1.js";import{U as c}from"./users-2xZaXYNg.js";import{B as b}from"./bot-Te-gb92X.js";import{P as p}from"./plug-B19phlnq.js";import{S as x}from"./scroll-text-pA_y69Ov.js";import{S as v}from"./settings-DAb4HsMD.js";function y(){const{t:a}=i(),e=[{to:"/admin/developers",label:a("admin.tab_developers"),icon:c},{to:"/admin/bots",label:a("admin.tab_bots"),icon:b},{to:"/admin/tokens",label:a("admin.tab_tokens"),icon:m},{to:"/admin/connectors",label:a("admin.tab_connectors"),icon:p},{to:"/admin/audit-logs",label:a("admin.tab_audit_logs"),icon:x},{to:"/admin/settings",label:a("admin.tab_settings"),icon:v}];return t.jsxs("div",{children:[t.jsx("div",{className:"mb-6 flex flex-nowrap gap-2 overflow-x-auto border-b border-[var(--border)] no-scrollbar pr-4 md:pr-0",children:e.map(({to:o,label:r,icon:s})=>t.jsxs(d,{to:o,className:({isActive:n})=>`flex shrink-0 whitespace-nowrap items-center gap-2 border-b-2 px-4 py-3 md:py-2 text-sm transition-colors ${n?"border-[var(--accent)] text-[var(--accent)]":"border-transparent text-[var(--text-secondary)] hover:text-[var(--text-primary)]"}`,children:[t.jsx(s,{size:16}),r]},o))}),t.jsx(l,{})]})}export{y as default};
@@ -0,0 +1,5 @@
1
+ import{j as e}from"./index--5cyM8L1.js";import{a as s}from"./DocsPrimitives-BLjrk7dq.js";import"./copy-CYXyA9yV.js";function d(){return e.jsx("div",{className:"mx-auto max-w-4xl px-4 md:px-6 py-8 font-mono lowercase",children:e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsx("h2",{className:"text-sm text-[var(--text-primary)]",children:"// agent cli integration"}),e.jsxs("p",{className:"text-xs text-[var(--text-muted)]",children:["overlord supports multiple ai agent clis. each project configures an ",e.jsx("code",{className:"text-[var(--accent)]",children:"agent_type"})," that determines which cli the worker uses to execute tasks. the prompt is written to pty stdin after the cli starts — not passed as a cli argument."]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h2",{className:"text-sm text-[var(--text-primary)]",children:"// supported agents"}),e.jsx("div",{className:"rounded-[4px] border border-[var(--border)] overflow-x-auto",children:e.jsxs("table",{className:"w-full text-xs",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-[var(--border)] bg-[var(--bg-card)]",children:[e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"agent"}),e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"cli binary"}),e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"config value"}),e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"subscription"})]})}),e.jsxs("tbody",{className:"text-[var(--text-secondary)]",children:[e.jsxs("tr",{className:"border-b border-[var(--border)]",children:[e.jsx("td",{className:"px-3 py-2",children:"claude code"}),e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"claude"})}),e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"claude"})}),e.jsx("td",{className:"px-3 py-2",children:"anthropic / claude"})]}),e.jsxs("tr",{className:"border-b border-[var(--border)]",children:[e.jsx("td",{className:"px-3 py-2",children:"cursor agent"}),e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"agent"})}),e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"cursor"})}),e.jsx("td",{className:"px-3 py-2",children:"cursor"})]}),e.jsxs("tr",{className:"border-b border-[var(--border)]",children:[e.jsx("td",{className:"px-3 py-2",children:"openai codex"}),e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"codex"})}),e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"codex"})}),e.jsx("td",{className:"px-3 py-2",children:"openai"})]}),e.jsxs("tr",{className:"border-b border-[var(--border)]",children:[e.jsx("td",{className:"px-3 py-2",children:"pi (glm)"}),e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"pi"})}),e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"pi"})}),e.jsx("td",{className:"px-3 py-2",children:"zhipu"})]}),e.jsxs("tr",{children:[e.jsx("td",{className:"px-3 py-2",children:"qoder"}),e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"qodercli"})}),e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"qoder"})}),e.jsx("td",{className:"px-3 py-2",children:"qoder"})]})]})]})}),e.jsx("div",{className:"rounded-[4px] border border-[var(--border)] bg-[var(--bg-card)] px-3 py-2",children:e.jsxs("p",{className:"text-xs text-[var(--text-secondary)]",children:["// the cursor agent cli binary is ",e.jsx("code",{className:"text-[var(--accent)]",children:"agent"}),", not ",e.jsx("code",{className:"text-[var(--accent)]",children:"cursor"}),". the config value ",e.jsx("code",{className:"text-[var(--accent)]",children:"cursor"})," maps to the ",e.jsx("code",{className:"text-[var(--accent)]",children:"agent"})," binary."]})})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h2",{className:"text-sm text-[var(--text-primary)]",children:"// permission strategy"}),e.jsxs("p",{className:"text-xs text-[var(--text-muted)]",children:["all agents run in fully automated mode by default. the ",e.jsx("code",{className:"text-[var(--accent)]",children:"allowedTools"})," project config controls the permission level:"]}),e.jsx("div",{className:"rounded-[4px] border border-[var(--border)] overflow-x-auto",children:e.jsxs("table",{className:"w-full text-xs",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-[var(--border)] bg-[var(--bg-card)]",children:[e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"allowedTools"}),e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"claude"}),e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"cursor"}),e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"codex"}),e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"qoder"})]})}),e.jsxs("tbody",{className:"text-[var(--text-secondary)]",children:[e.jsxs("tr",{className:"border-b border-[var(--border)]",children:[e.jsx("td",{className:"px-3 py-2 text-[var(--text-muted)]",children:"null (default)"}),e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"--dangerously-skip-permissions"})}),e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"--yolo --approve-mcps"})}),e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"--dangerously-bypass-approvals-and-sandbox"})}),e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"--dangerously-skip-permissions"})})]}),e.jsxs("tr",{children:[e.jsx("td",{className:"px-3 py-2 text-[var(--text-muted)]",children:"specific value"}),e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"--allowedTools <value>"})}),e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"--yolo --approve-mcps"})}),e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"--full-auto"})}),e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"--allowed-tools <value>"})})]})]})]})})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsx("h2",{className:"text-sm text-[var(--text-primary)]",children:"// cli flag mapping"}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h3",{className:"text-xs font-semibold text-[var(--accent)]",children:"claude code"}),e.jsx(s,{code:"claude --dangerously-skip-permissions [--allowedTools <tools>] [--plugin-dir <path>]"}),e.jsx("div",{className:"rounded-[4px] border border-[var(--border)] overflow-x-auto",children:e.jsxs("table",{className:"w-full text-xs",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-[var(--border)] bg-[var(--bg-card)]",children:[e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"config field"}),e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"cli flag"}),e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"notes"})]})}),e.jsxs("tbody",{className:"text-[var(--text-secondary)]",children:[e.jsxs("tr",{className:"border-b border-[var(--border)]",children:[e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"allowedTools"})}),e.jsxs("td",{className:"px-3 py-2",children:[e.jsx("code",{children:"--allowedTools"})," or ",e.jsx("code",{children:"--dangerously-skip-permissions"})]}),e.jsx("td",{className:"px-3 py-2",children:"see permission strategy"})]}),e.jsxs("tr",{children:[e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"skillsPath"})}),e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{children:"--plugin-dir <path>"})}),e.jsx("td",{className:"px-3 py-2",children:"load custom skills/plugins"})]})]})]})}),e.jsxs("p",{className:"text-xs text-[var(--text-muted)]",children:["environment: symlinks ",e.jsx("code",{className:"text-[var(--accent)]",children:".claude.json"}),", ",e.jsx("code",{className:"text-[var(--accent)]",children:".credentials.json"}),", ",e.jsx("code",{className:"text-[var(--accent)]",children:"settings.json"})," from real home. pre-trusts worktree in ",e.jsx("code",{className:"text-[var(--accent)]",children:"trustedDirectories"}),"."]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h3",{className:"text-xs font-semibold text-[var(--accent)]",children:"cursor agent"}),e.jsx("div",{className:"rounded-[4px] border border-[var(--warning)]/30 bg-[var(--warning)]/5 px-3 py-2",children:e.jsx("p",{className:"text-xs text-[var(--warning)]",children:'⚠ macos limitation: cursor agent stores auth tokens in macos keychain, which requires a gui login session. headless workers (launchd/ssh) cannot access keychain and will fail with "keychain operation timed out". cursor agent is currently only supported on linux workers.'})}),e.jsx(s,{code:"agent --yolo --approve-mcps"}),e.jsx("div",{className:"rounded-[4px] border border-[var(--border)] overflow-x-auto",children:e.jsxs("table",{className:"w-full text-xs",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-[var(--border)] bg-[var(--bg-card)]",children:[e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"flag"}),e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"purpose"})]})}),e.jsxs("tbody",{className:"text-[var(--text-secondary)]",children:[e.jsxs("tr",{className:"border-b border-[var(--border)]",children:[e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{children:"--yolo"})}),e.jsx("td",{className:"px-3 py-2",children:"skip all confirmation prompts (alias for --force)"})]}),e.jsxs("tr",{className:"border-b border-[var(--border)]",children:[e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"line-through opacity-50",children:"--trust"})}),e.jsx("td",{className:"px-3 py-2",children:"removed — only works in headless/print mode. trust is auto-accepted via pty."})]}),e.jsxs("tr",{children:[e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{children:"--approve-mcps"})}),e.jsx("td",{className:"px-3 py-2",children:"auto-approve mcp servers"})]})]})]})}),e.jsxs("p",{className:"text-xs text-[var(--text-muted)]",children:["environment: relies on workspace-manager's xdg ",e.jsx("code",{className:"text-[var(--accent)]",children:".config/"})," symlink."]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h3",{className:"text-xs font-semibold text-[var(--accent)]",children:"openai codex"}),e.jsx(s,{code:"codex --dangerously-bypass-approvals-and-sandbox"}),e.jsx("div",{className:"rounded-[4px] border border-[var(--border)] overflow-x-auto",children:e.jsxs("table",{className:"w-full text-xs",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-[var(--border)] bg-[var(--bg-card)]",children:[e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"config field"}),e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"cli flag"}),e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"notes"})]})}),e.jsx("tbody",{className:"text-[var(--text-secondary)]",children:e.jsxs("tr",{children:[e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"allowedTools"})}),e.jsxs("td",{className:"px-3 py-2",children:[e.jsx("code",{children:"--dangerously-bypass-approvals-and-sandbox"})," or ",e.jsx("code",{children:"--full-auto"})]}),e.jsx("td",{className:"px-3 py-2",children:"see permission strategy"})]})})]})}),e.jsxs("p",{className:"text-xs text-[var(--text-muted)]",children:["environment: symlinks ",e.jsx("code",{className:"text-[var(--accent)]",children:"~/.codex"})," directory if it exists."]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h3",{className:"text-xs font-semibold text-[var(--accent)]",children:"qoder"}),e.jsx(s,{code:"qodercli --dangerously-skip-permissions --with-claude-config -w <workspace>"}),e.jsx("div",{className:"rounded-[4px] border border-[var(--border)] overflow-x-auto",children:e.jsxs("table",{className:"w-full text-xs",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-[var(--border)] bg-[var(--bg-card)]",children:[e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"config field"}),e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"cli flag"}),e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"notes"})]})}),e.jsx("tbody",{className:"text-[var(--text-secondary)]",children:e.jsxs("tr",{children:[e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"allowedTools"})}),e.jsxs("td",{className:"px-3 py-2",children:[e.jsx("code",{children:"--dangerously-skip-permissions"})," or ",e.jsx("code",{children:"--allowed-tools"})]}),e.jsx("td",{className:"px-3 py-2",children:"see permission strategy"})]})})]})}),e.jsxs("p",{className:"text-xs text-[var(--text-muted)]",children:["environment: symlinks ",e.jsx("code",{className:"text-[var(--accent)]",children:"~/.qoder"})," directory for auth. ",e.jsx("code",{className:"text-[var(--accent)]",children:"--with-claude-config"})," loads repo-local ",e.jsx("code",{className:"text-[var(--accent)]",children:".claude/"})," config if present."]})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h2",{className:"text-sm text-[var(--text-primary)]",children:"// configsnapshot fields"}),e.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"project-level config fields passed to executors:"}),e.jsx("div",{className:"rounded-[4px] border border-[var(--border)] overflow-x-auto",children:e.jsxs("table",{className:"w-full text-xs",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-[var(--border)] bg-[var(--bg-card)]",children:[e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"field"}),e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"type"}),e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"used by"}),e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"description"})]})}),e.jsxs("tbody",{className:"text-[var(--text-secondary)]",children:[e.jsxs("tr",{className:"border-b border-[var(--border)]",children:[e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"agentType"})}),e.jsx("td",{className:"px-3 py-2",children:"claude | cursor | codex | pi | qoder"}),e.jsx("td",{className:"px-3 py-2",children:"all"}),e.jsx("td",{className:"px-3 py-2",children:"which cli to spawn"})]}),e.jsxs("tr",{className:"border-b border-[var(--border)]",children:[e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"allowedTools"})}),e.jsx("td",{className:"px-3 py-2",children:"string | null"}),e.jsx("td",{className:"px-3 py-2",children:"claude, codex, qoder"}),e.jsx("td",{className:"px-3 py-2",children:"permission strategy control"})]}),e.jsxs("tr",{className:"border-b border-[var(--border)]",children:[e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"skillsPath"})}),e.jsx("td",{className:"px-3 py-2",children:"string | null"}),e.jsx("td",{className:"px-3 py-2",children:"claude"}),e.jsx("td",{className:"px-3 py-2",children:"plugin directory path"})]}),e.jsxs("tr",{className:"border-b border-[var(--border)]",children:[e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"maxTurns"})}),e.jsx("td",{className:"px-3 py-2",children:"number"}),e.jsx("td",{className:"px-3 py-2",children:"stage monitor"}),e.jsx("td",{className:"px-3 py-2",children:"max stage retry loops"})]}),e.jsxs("tr",{className:"border-b border-[var(--border)]",children:[e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"pipeline"})}),e.jsx("td",{className:"px-3 py-2",children:"string | null"}),e.jsx("td",{className:"px-3 py-2",children:"pipeline compiler"}),e.jsx("td",{className:"px-3 py-2",children:"custom pipeline json (null = default 6-stage)"})]}),e.jsxs("tr",{className:"border-b border-[var(--border)]",children:[e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"agentEnv"})}),e.jsx("td",{className:"px-3 py-2",children:"string | null"}),e.jsx("td",{className:"px-3 py-2",children:"worker"}),e.jsx("td",{className:"px-3 py-2",children:"extra env vars json merged into pty env"})]}),e.jsxs("tr",{children:[e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:"setupCommands"})}),e.jsx("td",{className:"px-3 py-2",children:"string | null"}),e.jsx("td",{className:"px-3 py-2",children:"worker"}),e.jsx("td",{className:"px-3 py-2",children:"json array of shell commands run before agent starts (120s timeout each)"})]})]})]})})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h2",{className:"text-sm text-[var(--text-primary)]",children:"// git hooks"}),e.jsxs("p",{className:"text-xs text-[var(--text-muted)]",children:["worker creates isolated git worktrees for each task. by default, project-level git hooks (husky, lefthook, etc.) are not installed because ",e.jsx("code",{className:"text-[var(--accent)]",children:"npm install"})," is not run automatically. use the project's ",e.jsx("code",{className:"text-[var(--accent)]",children:"setupCommands"})," field to install hooks before the agent starts."]}),e.jsx("div",{className:"rounded-[4px] border border-[var(--border)] overflow-x-auto",children:e.jsxs("table",{className:"w-full text-xs",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-[var(--border)] bg-[var(--bg-card)]",children:[e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"hook tool"}),e.jsx("th",{className:"px-3 py-2 text-left text-[var(--text-muted)]",children:"setupCommands"})]})}),e.jsxs("tbody",{className:"text-[var(--text-secondary)]",children:[e.jsxs("tr",{className:"border-b border-[var(--border)]",children:[e.jsx("td",{className:"px-3 py-2",children:"husky"}),e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:'["npm install", "npx husky install"]'})})]}),e.jsxs("tr",{className:"border-b border-[var(--border)]",children:[e.jsx("td",{className:"px-3 py-2",children:"lefthook"}),e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:'["npm install", "npx lefthook install"]'})})]}),e.jsxs("tr",{className:"border-b border-[var(--border)]",children:[e.jsx("td",{className:"px-3 py-2",children:"simple-git-hooks"}),e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:'["npm install", "npx simple-git-hooks"]'})})]}),e.jsxs("tr",{children:[e.jsx("td",{className:"px-3 py-2",children:"native (.githooks/)"}),e.jsx("td",{className:"px-3 py-2",children:e.jsx("code",{className:"text-[var(--accent)]",children:'["git config core.hooksPath .githooks"]'})})]})]})]})}),e.jsxs("p",{className:"text-xs text-[var(--text-muted)]",children:["the lightest option is native git hooks — commit hook scripts to a ",e.jsx("code",{className:"text-[var(--accent)]",children:".githooks/"})," directory in your repo, then use a single ",e.jsx("code",{className:"text-[var(--accent)]",children:"git config"})," command. no ",e.jsx("code",{className:"text-[var(--accent)]",children:"npm install"})," needed."]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h2",{className:"text-sm text-[var(--text-primary)]",children:"// capability detection"}),e.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"workers auto-detect installed agent clis on startup and report capabilities to the server. if a capability degrades at runtime (auth failure, rate limit), the server temporarily removes it. it auto-recovers when the next task execution succeeds."}),e.jsx(s,{code:`which claude && claude --version → capability: 'claude'
2
+ which agent && agent --version → capability: 'cursor'
3
+ which codex && codex --version → capability: 'codex'
4
+ which pi && pi --version → capability: 'pi'
5
+ which qodercli && qodercli --version → capability: 'qoder'`})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h2",{className:"text-sm text-[var(--text-primary)]",children:"// default pipeline"}),e.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"the default pipeline has 7 stages:"}),e.jsx("div",{className:"flex flex-wrap items-center gap-1 text-xs",children:["implement","test","verify","review","simplify","rebase","submit"].map((a,t)=>e.jsxs("span",{children:[e.jsx("code",{className:"rounded-[4px] bg-[var(--bg-primary)] px-2 py-0.5 text-[var(--accent)]",children:a}),t<6&&e.jsx("span",{className:"mx-1 text-[var(--text-muted)]",children:"→"})]},a))}),e.jsxs("p",{className:"text-xs text-[var(--text-muted)]",children:["the ",e.jsx("code",{className:"text-[var(--accent)]",children:"verify"})," and ",e.jsx("code",{className:"text-[var(--accent)]",children:"review"})," stages loop back to ",e.jsx("code",{className:"text-[var(--accent)]",children:"implement"})," on failure (max 3 loops). the ",e.jsx("code",{className:"text-[var(--accent)]",children:"simplify"})," and ",e.jsx("code",{className:"text-[var(--accent)]",children:"rebase"})," stages loop back to themselves on failure (max 3 loops)."]})]})]})})}export{d as default};
@@ -1 +1 @@
1
- import{f as d,a as o,x as p,r as n,j as t}from"./index-CqgRY3L6.js";import{Q as c}from"./QuickAuth-D_2JnzxW.js";import{P as h}from"./plus-DSLmbw91.js";import"./copy-sq8YNzps.js";const l={GET:"text-green-400",POST:"text-blue-400",PUT:"text-yellow-400",DELETE:"text-red-400"},m=[{title:"authentication",prefix:"/api/auth",endpoints:[{method:"POST",path:"/login",description:"authenticate with username + password (optional totpCode)",auth:"none",body:'{ "username": "string", "password": "string", "totpCode?": "string" }',response:'{ "accessToken": "string", "refreshToken": "string" }'},{method:"POST",path:"/refresh",description:"refresh access token (rotates refresh token)",auth:"none",body:'{ "refreshToken": "string" }',response:'{ "accessToken": "string", "refreshToken": "string" }'},{method:"POST",path:"/logout",description:"invalidate refresh token",auth:"jwt",body:'{ "refreshToken": "string" }'}]},{title:"tasks",prefix:"/api/web/tasks",endpoints:[{method:"GET",path:"",description:"list tasks with optional filters",auth:"jwt",response:'[ { "id": 1, "description": "...", "status": "RUNNING", ... } ]'},{method:"POST",path:"",description:"create a new task (name is AI-generated if LLM is configured, otherwise null)",auth:"jwt",body:'{ "projectKey": "string", "description": "string", "workerId?": "string", "taskType?": "feat|fix|refactor|docs|chore", "branchSlug?": "string", "targetBranch?": "string" }',response:'{ "id": 1, "description": "...", "name": "string | null", "branchSlug": "string | null", "status": "PENDING", ... }'},{method:"GET",path:"/:id",description:"get task details",auth:"jwt"},{method:"POST",path:"/:id/cancel",description:"cancel a running task",auth:"jwt"},{method:"POST",path:"/:id/retry",description:"retry a failed or cancelled task",auth:"jwt"},{method:"POST",path:"/:id/confirm-stage",description:"confirm/choose/input for suspended stage",auth:"jwt",body:'{ "stageIndex": "number", "result": "string" }'},{method:"POST",path:"/:id/pty-token",description:"get pty websocket token",auth:"jwt"}]},{title:"workers",prefix:"/api/web/workers",endpoints:[{method:"GET",path:"",description:"list all workers",auth:"jwt"},{method:"GET",path:"/:id",description:"get worker details",auth:"jwt"},{method:"GET",path:"/:id/tasks",description:"list tasks assigned to a worker",auth:"jwt"},{method:"POST",path:"/:id/drain",description:"start draining a worker",auth:"jwt"},{method:"POST",path:"/:id/undrain",description:"cancel worker drain",auth:"jwt"}]},{title:"projects",prefix:"/api/web/projects",endpoints:[{method:"GET",path:"",description:"list all projects",auth:"jwt"},{method:"GET",path:"/:key",description:"get project details",auth:"jwt"}]},{title:"profile",prefix:"/api/web/profile",endpoints:[{method:"GET",path:"",description:"get current user profile",auth:"jwt"},{method:"PUT",path:"",description:"update profile (gitName, gitEmail)",auth:"jwt",body:'{ "gitName?": "string", "gitEmail?": "string" }'},{method:"PUT",path:"/password",description:"change password",auth:"jwt",body:'{ "currentPassword": "string", "newPassword": "string" }'},{method:"POST",path:"/totp/setup",description:"initialize totp setup",auth:"jwt"},{method:"POST",path:"/totp/verify",description:"verify totp setup code",auth:"jwt",body:'{ "code": "string" }'},{method:"GET",path:"/tokens",description:"list personal access tokens",auth:"jwt"},{method:"POST",path:"/tokens",description:"create a personal access token",auth:"jwt",body:'{ "label": "string", "expiresAt?": "string" }'},{method:"POST",path:"/tokens/:id/revoke",description:"revoke a token",auth:"jwt"},{method:"POST",path:"/bind-platform",description:"link a chat platform account using a one-time bind token",auth:"jwt",body:'{ "token": "string" }',response:'{ "success": true, "platform": "lark" }'}]},{title:"workspaces & tunnels",prefix:"/api/web",endpoints:[{method:"GET",path:"/workspaces/:taskId",description:"get workspace for a task",auth:"jwt"},{method:"POST",path:"/workspace-tunnel/:taskId/start",description:"start a cursor remote tunnel",auth:"jwt"},{method:"POST",path:"/workspace-tunnel/:taskId/stop",description:"stop a running tunnel",auth:"jwt"},{method:"GET",path:"/workspace-tunnel/:taskId/status",description:"get tunnel status",auth:"jwt"}]},{title:"dashboard",prefix:"/api/web/dashboard",endpoints:[{method:"GET",path:"/stats",description:"get dashboard statistics",auth:"jwt"},{method:"GET",path:"/recent-tasks",description:"get recent tasks for dashboard",auth:"jwt"},{method:"GET",path:"/recent-activity",description:"get recent activity feed",auth:"jwt"}]},{title:"notifications",prefix:"/api/web/notifications",endpoints:[{method:"GET",path:"",description:"list notifications with cursor pagination",auth:"jwt"},{method:"POST",path:"/:id/read",description:"mark a notification as read",auth:"jwt"},{method:"POST",path:"/read-all",description:"mark all notifications as read",auth:"jwt"}]},{title:"search",prefix:"/api/web",endpoints:[{method:"GET",path:"/search?q=query",description:"global search across tasks, workers, projects",auth:"jwt"}]},{title:"admin — developers",prefix:"/api/admin/developers",endpoints:[{method:"GET",path:"",description:"list all developers",auth:"jwt"},{method:"POST",path:"",description:"create a developer",auth:"jwt",body:'{ "name": "string", "password": "string", "role": "string", "gitName": "string", "gitEmail": "string" }'},{method:"PUT",path:"/:id",description:"update developer",auth:"jwt"},{method:"PUT",path:"/:id/reset-totp",description:"reset developer totp",auth:"jwt"}]},{title:"admin — projects",prefix:"/api/admin/projects",endpoints:[{method:"GET",path:"",description:"list all projects",auth:"jwt"},{method:"POST",path:"",description:"create a project",auth:"jwt"},{method:"PUT",path:"/:key",description:"update project (including pipeline)",auth:"jwt"},{method:"DELETE",path:"/:key",description:"delete a project",auth:"jwt"},{method:"GET",path:"/:key/members",description:"get project members",auth:"jwt"},{method:"POST",path:"/:key/members",description:"add project member",auth:"jwt"},{method:"DELETE",path:"/:key/members?developerId=N",description:"remove project member",auth:"jwt"}]},{title:"admin — worker tokens",prefix:"/api/admin/worker-tokens",endpoints:[{method:"GET",path:"",description:"list all worker enrollment tokens",auth:"jwt"},{method:"POST",path:"",description:"generate a new worker token",auth:"jwt"},{method:"POST",path:"/:id/revoke",description:"revoke a worker token",auth:"jwt"},{method:"GET",path:"/:id/status",description:"get token status and linked worker",auth:"jwt"}]},{title:"admin — workers",prefix:"/api/admin/workers",endpoints:[{method:"GET",path:"",description:"list all workers (admin)",auth:"jwt"},{method:"PUT",path:"/:id",description:"update worker status",auth:"jwt",body:'{ "status?": "string" }'}]},{title:"admin — bots",prefix:"/api/admin/bots",endpoints:[{method:"GET",path:"",description:"list bot instances",auth:"jwt"},{method:"POST",path:"",description:"create a bot instance",auth:"jwt"},{method:"GET",path:"/:id/bindings",description:"get group bindings for a bot",auth:"jwt"},{method:"POST",path:"/:id/bindings",description:"create a group binding",auth:"jwt"},{method:"DELETE",path:"/:id/bindings",description:"delete a group binding",auth:"jwt"},{method:"PUT",path:"/:id/bindings/default",description:"set the default project for command routing in one chat",auth:"jwt",body:'{ "platformChatId": "string", "projectKey": "string" }'},{method:"PUT",path:"/:id/bindings/notification-default",description:"set the notify-default chat for automation summaries for one project",auth:"jwt",body:'{ "platformChatId": "string", "projectKey": "string" }'}]},{title:"admin — audit & settings",prefix:"/api/admin",endpoints:[{method:"GET",path:"/audit-logs",description:"query audit log with filters",auth:"jwt"},{method:"GET",path:"/settings",description:"get all system settings",auth:"jwt"},{method:"PUT",path:"/settings",description:"update system settings",auth:"jwt"}]},{title:"websocket",prefix:"",endpoints:[{method:"GET",path:"WS /ws/pty/:taskId",description:'pty terminal websocket — first obtain a channel token via POST /api/web/tasks/:taskId/pty-token, then send an auth frame after connection: { type: "auth", token: "<jwt>", channelToken: "<channel-token>" }',auth:"jwt"},{method:"GET",path:"WS /api/workers/pty/:taskId",description:'worker pty websocket — auth via frame: { type: "auth", workerJwt: "<worker-jwt>", channelToken: "<channel-token>" }',auth:"worker-token"}]}];function u({ep:e,prefix:a}){const[s,i]=n.useState(!1),{t:r}=o();return t.jsxs("div",{className:"border-b border-[var(--border-row)] last:border-b-0",children:[t.jsxs("button",{type:"button",className:"flex w-full items-center gap-2 sm:gap-3 px-3 md:px-4 py-2.5 text-left transition-colors hover:bg-[var(--bg-input)] min-w-0",onClick:()=>i(!s),children:[t.jsx("span",{className:`w-12 shrink-0 text-xs font-bold ${l[e.method]}`,children:e.method}),t.jsxs("code",{className:"flex-1 text-xs text-[var(--text-primary)] truncate min-w-0",children:[a,e.path]}),t.jsxs("span",{className:"text-xs text-[var(--text-muted)] hidden sm:inline truncate max-w-[200px]",children:["// ",e.description]})]}),s&&t.jsxs("div",{className:"border-t border-[var(--border-row)] bg-[var(--bg-primary)] px-3 md:px-4 py-3 space-y-2",children:[t.jsxs("p",{className:"text-xs text-[var(--text-secondary)]",children:["// ",e.description]}),t.jsxs("div",{className:"flex items-center gap-2 text-[11px]",children:[t.jsx("span",{className:"text-[var(--text-muted)]",children:"auth:"}),t.jsx("span",{className:e.auth==="none"?"text-[var(--text-muted)]":"text-[var(--accent)]",children:e.auth})]}),e.body&&t.jsxs("div",{children:[t.jsx("p",{className:"text-[11px] uppercase tracking-wider text-[var(--text-muted)] mb-1",children:r("docs.request_body")}),t.jsx("pre",{className:"rounded-[4px] bg-[var(--bg-card)] px-3 py-2 text-xs text-[var(--text-secondary)] overflow-x-auto",children:e.body})]}),e.response&&t.jsxs("div",{children:[t.jsx("p",{className:"text-[11px] uppercase tracking-wider text-[var(--text-muted)] mb-1",children:r("docs.response")}),t.jsx("pre",{className:"rounded-[4px] bg-[var(--bg-card)] px-3 py-2 text-xs text-[var(--text-secondary)] overflow-x-auto",children:e.response})]})]})]})}function g(){const e=d(),{t:a}=o();return p(n.useMemo(()=>t.jsxs("button",{onClick:()=>e("/access-tokens"),className:"flex items-center gap-1.5 rounded-[4px] bg-[var(--accent)] px-3 py-1.5 text-xs font-mono text-black transition-opacity hover:opacity-90",children:[t.jsx(h,{className:"h-3.5 w-3.5"}),a("access_tokens.create_token")]}),[e,a])),t.jsxs("div",{className:"mx-auto max-w-4xl px-4 md:px-6 py-8 font-mono lowercase",children:[t.jsx("div",{className:"mb-8",children:t.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:a("docs.api_base_url_desc",{url:"http://localhost:9000"})})}),t.jsx(c,{mode:"api"}),t.jsxs("div",{className:"mb-8 rounded-[4px] border border-[var(--border)] bg-[var(--bg-card)] p-4 space-y-2",children:[t.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:a("docs.authentication")}),t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx("code",{className:"shrink-0 text-xs text-[var(--accent)]",children:"jwt"}),t.jsxs("span",{className:"text-xs text-[var(--text-secondary)]",children:["obtained via /api/auth/login — pass as ",t.jsx("code",{children:"authorization: bearer <token>"})]})]}),t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx("code",{className:"shrink-0 text-xs text-[var(--accent)]",children:"pat"}),t.jsx("span",{className:"text-xs text-[var(--text-secondary)]",children:"personal access token — same header format, for cli/api usage"})]}),t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx("code",{className:"shrink-0 text-xs text-yellow-400",children:"worker-token"}),t.jsx("span",{className:"text-xs text-[var(--text-secondary)]",children:"enrollment token for worker registration — used during initial handshake"})]})]}),t.jsx("div",{className:"space-y-6",children:m.map(s=>t.jsxs("div",{children:[t.jsxs("h2",{className:"mb-2 text-sm text-[var(--accent)]",children:["> ",s.title]}),t.jsx("div",{className:"rounded-[4px] border border-[var(--border)] bg-[var(--bg-card)]",children:s.endpoints.map((i,r)=>t.jsx(u,{ep:i,prefix:s.prefix},`${i.method}-${i.path}-${r}`))})]},s.title))})]})}export{g as default};
1
+ import{f as d,a as o,x as p,r as n,j as t}from"./index--5cyM8L1.js";import{Q as c}from"./QuickAuth-Bg6-rI5M.js";import{P as h}from"./plus-jUKyQIr2.js";import"./copy-CYXyA9yV.js";const l={GET:"text-green-400",POST:"text-blue-400",PUT:"text-yellow-400",DELETE:"text-red-400"},m=[{title:"authentication",prefix:"/api/auth",endpoints:[{method:"POST",path:"/login",description:"authenticate with username + password (optional totpCode)",auth:"none",body:'{ "username": "string", "password": "string", "totpCode?": "string" }',response:'{ "accessToken": "string", "refreshToken": "string" }'},{method:"POST",path:"/refresh",description:"refresh access token (rotates refresh token)",auth:"none",body:'{ "refreshToken": "string" }',response:'{ "accessToken": "string", "refreshToken": "string" }'},{method:"POST",path:"/logout",description:"invalidate refresh token",auth:"jwt",body:'{ "refreshToken": "string" }'}]},{title:"tasks",prefix:"/api/web/tasks",endpoints:[{method:"GET",path:"",description:"list tasks with optional filters",auth:"jwt",response:'[ { "id": 1, "description": "...", "status": "RUNNING", ... } ]'},{method:"POST",path:"",description:"create a new task (name is AI-generated if LLM is configured, otherwise null)",auth:"jwt",body:'{ "projectKey": "string", "description": "string", "workerId?": "string", "taskType?": "feat|fix|refactor|docs|chore", "branchSlug?": "string", "targetBranch?": "string" }',response:'{ "id": 1, "description": "...", "name": "string | null", "branchSlug": "string | null", "status": "PENDING", ... }'},{method:"GET",path:"/:id",description:"get task details",auth:"jwt"},{method:"POST",path:"/:id/cancel",description:"cancel a running task",auth:"jwt"},{method:"POST",path:"/:id/retry",description:"retry a failed or cancelled task",auth:"jwt"},{method:"POST",path:"/:id/confirm-stage",description:"confirm/choose/input for suspended stage",auth:"jwt",body:'{ "stageIndex": "number", "result": "string" }'},{method:"POST",path:"/:id/pty-token",description:"get pty websocket token",auth:"jwt"}]},{title:"workers",prefix:"/api/web/workers",endpoints:[{method:"GET",path:"",description:"list all workers",auth:"jwt"},{method:"GET",path:"/:id",description:"get worker details",auth:"jwt"},{method:"GET",path:"/:id/tasks",description:"list tasks assigned to a worker",auth:"jwt"},{method:"POST",path:"/:id/drain",description:"start draining a worker",auth:"jwt"},{method:"POST",path:"/:id/undrain",description:"cancel worker drain",auth:"jwt"}]},{title:"projects",prefix:"/api/web/projects",endpoints:[{method:"GET",path:"",description:"list all projects",auth:"jwt"},{method:"GET",path:"/:key",description:"get project details",auth:"jwt"}]},{title:"profile",prefix:"/api/web/profile",endpoints:[{method:"GET",path:"",description:"get current user profile",auth:"jwt"},{method:"PUT",path:"",description:"update profile (gitName, gitEmail)",auth:"jwt",body:'{ "gitName?": "string", "gitEmail?": "string" }'},{method:"PUT",path:"/password",description:"change password",auth:"jwt",body:'{ "currentPassword": "string", "newPassword": "string" }'},{method:"POST",path:"/totp/setup",description:"initialize totp setup",auth:"jwt"},{method:"POST",path:"/totp/verify",description:"verify totp setup code",auth:"jwt",body:'{ "code": "string" }'},{method:"GET",path:"/tokens",description:"list personal access tokens",auth:"jwt"},{method:"POST",path:"/tokens",description:"create a personal access token",auth:"jwt",body:'{ "label": "string", "expiresAt?": "string" }'},{method:"POST",path:"/tokens/:id/revoke",description:"revoke a token",auth:"jwt"},{method:"POST",path:"/bind-platform",description:"link a chat platform account using a one-time bind token",auth:"jwt",body:'{ "token": "string" }',response:'{ "success": true, "platform": "lark" }'}]},{title:"workspaces & tunnels",prefix:"/api/web",endpoints:[{method:"GET",path:"/workspaces/:taskId",description:"get workspace for a task",auth:"jwt"},{method:"POST",path:"/workspace-tunnel/:taskId/start",description:"start a cursor remote tunnel",auth:"jwt"},{method:"POST",path:"/workspace-tunnel/:taskId/stop",description:"stop a running tunnel",auth:"jwt"},{method:"GET",path:"/workspace-tunnel/:taskId/status",description:"get tunnel status",auth:"jwt"}]},{title:"dashboard",prefix:"/api/web/dashboard",endpoints:[{method:"GET",path:"/stats",description:"get dashboard statistics",auth:"jwt"},{method:"GET",path:"/recent-tasks",description:"get recent tasks for dashboard",auth:"jwt"},{method:"GET",path:"/recent-activity",description:"get recent activity feed",auth:"jwt"}]},{title:"notifications",prefix:"/api/web/notifications",endpoints:[{method:"GET",path:"",description:"list notifications with cursor pagination",auth:"jwt"},{method:"POST",path:"/:id/read",description:"mark a notification as read",auth:"jwt"},{method:"POST",path:"/read-all",description:"mark all notifications as read",auth:"jwt"}]},{title:"search",prefix:"/api/web",endpoints:[{method:"GET",path:"/search?q=query",description:"global search across tasks, workers, projects",auth:"jwt"}]},{title:"admin — developers",prefix:"/api/admin/developers",endpoints:[{method:"GET",path:"",description:"list all developers",auth:"jwt"},{method:"POST",path:"",description:"create a developer",auth:"jwt",body:'{ "name": "string", "password": "string", "role": "string", "gitName": "string", "gitEmail": "string" }'},{method:"PUT",path:"/:id",description:"update developer",auth:"jwt"},{method:"PUT",path:"/:id/reset-totp",description:"reset developer totp",auth:"jwt"}]},{title:"admin — projects",prefix:"/api/admin/projects",endpoints:[{method:"GET",path:"",description:"list all projects",auth:"jwt"},{method:"POST",path:"",description:"create a project",auth:"jwt"},{method:"PUT",path:"/:key",description:"update project (including pipeline)",auth:"jwt"},{method:"DELETE",path:"/:key",description:"delete a project",auth:"jwt"},{method:"GET",path:"/:key/members",description:"get project members",auth:"jwt"},{method:"POST",path:"/:key/members",description:"add project member",auth:"jwt"},{method:"DELETE",path:"/:key/members?developerId=N",description:"remove project member",auth:"jwt"}]},{title:"admin — worker tokens",prefix:"/api/admin/worker-tokens",endpoints:[{method:"GET",path:"",description:"list all worker enrollment tokens",auth:"jwt"},{method:"POST",path:"",description:"generate a new worker token",auth:"jwt"},{method:"POST",path:"/:id/revoke",description:"revoke a worker token",auth:"jwt"},{method:"GET",path:"/:id/status",description:"get token status and linked worker",auth:"jwt"}]},{title:"admin — workers",prefix:"/api/admin/workers",endpoints:[{method:"GET",path:"",description:"list all workers (admin)",auth:"jwt"},{method:"PUT",path:"/:id",description:"update worker status",auth:"jwt",body:'{ "status?": "string" }'}]},{title:"admin — bots",prefix:"/api/admin/bots",endpoints:[{method:"GET",path:"",description:"list bot instances",auth:"jwt"},{method:"POST",path:"",description:"create a bot instance",auth:"jwt"},{method:"GET",path:"/:id/bindings",description:"get group bindings for a bot",auth:"jwt"},{method:"POST",path:"/:id/bindings",description:"create a group binding",auth:"jwt"},{method:"DELETE",path:"/:id/bindings",description:"delete a group binding",auth:"jwt"},{method:"PUT",path:"/:id/bindings/default",description:"set the default project for command routing in one chat",auth:"jwt",body:'{ "platformChatId": "string", "projectKey": "string" }'},{method:"PUT",path:"/:id/bindings/notification-default",description:"set the notify-default chat for automation summaries for one project",auth:"jwt",body:'{ "platformChatId": "string", "projectKey": "string" }'}]},{title:"admin — audit & settings",prefix:"/api/admin",endpoints:[{method:"GET",path:"/audit-logs",description:"query audit log with filters",auth:"jwt"},{method:"GET",path:"/settings",description:"get all system settings",auth:"jwt"},{method:"PUT",path:"/settings",description:"update system settings",auth:"jwt"}]},{title:"websocket",prefix:"",endpoints:[{method:"GET",path:"WS /ws/pty/:taskId",description:'pty terminal websocket — first obtain a channel token via POST /api/web/tasks/:taskId/pty-token, then send an auth frame after connection: { type: "auth", token: "<jwt>", channelToken: "<channel-token>" }',auth:"jwt"},{method:"GET",path:"WS /api/workers/pty/:taskId",description:'worker pty websocket — auth via frame: { type: "auth", workerJwt: "<worker-jwt>", channelToken: "<channel-token>" }',auth:"worker-token"}]}];function u({ep:e,prefix:a}){const[s,i]=n.useState(!1),{t:r}=o();return t.jsxs("div",{className:"border-b border-[var(--border-row)] last:border-b-0",children:[t.jsxs("button",{type:"button",className:"flex w-full items-center gap-2 sm:gap-3 px-3 md:px-4 py-2.5 text-left transition-colors hover:bg-[var(--bg-input)] min-w-0",onClick:()=>i(!s),children:[t.jsx("span",{className:`w-12 shrink-0 text-xs font-bold ${l[e.method]}`,children:e.method}),t.jsxs("code",{className:"flex-1 text-xs text-[var(--text-primary)] truncate min-w-0",children:[a,e.path]}),t.jsxs("span",{className:"text-xs text-[var(--text-muted)] hidden sm:inline truncate max-w-[200px]",children:["// ",e.description]})]}),s&&t.jsxs("div",{className:"border-t border-[var(--border-row)] bg-[var(--bg-primary)] px-3 md:px-4 py-3 space-y-2",children:[t.jsxs("p",{className:"text-xs text-[var(--text-secondary)]",children:["// ",e.description]}),t.jsxs("div",{className:"flex items-center gap-2 text-[11px]",children:[t.jsx("span",{className:"text-[var(--text-muted)]",children:"auth:"}),t.jsx("span",{className:e.auth==="none"?"text-[var(--text-muted)]":"text-[var(--accent)]",children:e.auth})]}),e.body&&t.jsxs("div",{children:[t.jsx("p",{className:"text-[11px] uppercase tracking-wider text-[var(--text-muted)] mb-1",children:r("docs.request_body")}),t.jsx("pre",{className:"rounded-[4px] bg-[var(--bg-card)] px-3 py-2 text-xs text-[var(--text-secondary)] overflow-x-auto",children:e.body})]}),e.response&&t.jsxs("div",{children:[t.jsx("p",{className:"text-[11px] uppercase tracking-wider text-[var(--text-muted)] mb-1",children:r("docs.response")}),t.jsx("pre",{className:"rounded-[4px] bg-[var(--bg-card)] px-3 py-2 text-xs text-[var(--text-secondary)] overflow-x-auto",children:e.response})]})]})]})}function g(){const e=d(),{t:a}=o();return p(n.useMemo(()=>t.jsxs("button",{onClick:()=>e("/access-tokens"),className:"flex items-center gap-1.5 rounded-[4px] bg-[var(--accent)] px-3 py-1.5 text-xs font-mono text-black transition-opacity hover:opacity-90",children:[t.jsx(h,{className:"h-3.5 w-3.5"}),a("access_tokens.create_token")]}),[e,a])),t.jsxs("div",{className:"mx-auto max-w-4xl px-4 md:px-6 py-8 font-mono lowercase",children:[t.jsx("div",{className:"mb-8",children:t.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:a("docs.api_base_url_desc",{url:"http://localhost:9000"})})}),t.jsx(c,{mode:"api"}),t.jsxs("div",{className:"mb-8 rounded-[4px] border border-[var(--border)] bg-[var(--bg-card)] p-4 space-y-2",children:[t.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:a("docs.authentication")}),t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx("code",{className:"shrink-0 text-xs text-[var(--accent)]",children:"jwt"}),t.jsxs("span",{className:"text-xs text-[var(--text-secondary)]",children:["obtained via /api/auth/login — pass as ",t.jsx("code",{children:"authorization: bearer <token>"})]})]}),t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx("code",{className:"shrink-0 text-xs text-[var(--accent)]",children:"pat"}),t.jsx("span",{className:"text-xs text-[var(--text-secondary)]",children:"personal access token — same header format, for cli/api usage"})]}),t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx("code",{className:"shrink-0 text-xs text-yellow-400",children:"worker-token"}),t.jsx("span",{className:"text-xs text-[var(--text-secondary)]",children:"enrollment token for worker registration — used during initial handshake"})]})]}),t.jsx("div",{className:"space-y-6",children:m.map(s=>t.jsxs("div",{children:[t.jsxs("h2",{className:"mb-2 text-sm text-[var(--accent)]",children:["> ",s.title]}),t.jsx("div",{className:"rounded-[4px] border border-[var(--border)] bg-[var(--bg-card)]",children:s.endpoints.map((i,r)=>t.jsx(u,{ep:i,prefix:s.prefix},`${i.method}-${i.path}-${r}`))})]},s.title))})]})}export{g as default};
@@ -1,4 +1,4 @@
1
- import{j as e}from"./index-CqgRY3L6.js";import{C as s}from"./DocsPrimitives-VBA7lZhS.js";import"./copy-sq8YNzps.js";const r=` ┌──────────────────┐
1
+ import{j as e}from"./index--5cyM8L1.js";import{C as s}from"./DocsPrimitives-BLjrk7dq.js";import"./copy-CYXyA9yV.js";const r=` ┌──────────────────┐
2
2
  │ Developer │
3
3
  │ (create / attach) │
4
4
  └──┬─────┬──────┬──┘