@overlordai/server 1.0.38 → 1.0.40
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.
- package/dist/database/repositories/machine.repository.d.ts +2 -0
- package/dist/database/repositories/machine.repository.d.ts.map +1 -1
- package/dist/database/repositories/machine.repository.js +4 -0
- package/dist/database/repositories/machine.repository.js.map +1 -1
- package/dist/database/repositories/task.repository.d.ts +11 -1
- package/dist/database/repositories/task.repository.d.ts.map +1 -1
- package/dist/database/repositories/task.repository.js +55 -6
- package/dist/database/repositories/task.repository.js.map +1 -1
- package/dist/dispatcher/dispatcher.service.d.ts +1 -0
- package/dist/dispatcher/dispatcher.service.d.ts.map +1 -1
- package/dist/dispatcher/dispatcher.service.js +3 -0
- package/dist/dispatcher/dispatcher.service.js.map +1 -1
- package/dist/dispatcher/heartbeat.service.d.ts +2 -1
- package/dist/dispatcher/heartbeat.service.d.ts.map +1 -1
- package/dist/dispatcher/heartbeat.service.js +4 -1
- package/dist/dispatcher/heartbeat.service.js.map +1 -1
- package/dist/web/dashboard.controller.d.ts +12 -2
- package/dist/web/dashboard.controller.d.ts.map +1 -1
- package/dist/web/dashboard.controller.js +18 -6
- package/dist/web/dashboard.controller.js.map +1 -1
- package/dist/web/dashboard.service.d.ts +6 -1
- package/dist/web/dashboard.service.d.ts.map +1 -1
- package/dist/web/dashboard.service.js +17 -4
- package/dist/web/dashboard.service.js.map +1 -1
- package/dist/web/task.controller.d.ts +14 -4
- package/dist/web/task.controller.d.ts.map +1 -1
- package/dist/web/task.controller.js +34 -29
- package/dist/web/task.controller.js.map +1 -1
- package/dist/web/worker-channel.gateway.d.ts.map +1 -1
- package/dist/web/worker-channel.gateway.js +1 -1
- package/dist/web/worker-channel.gateway.js.map +1 -1
- package/package.json +2 -2
- package/public/assets/{AccessTokensPage-oPweGG_z.js → AccessTokensPage-DuICKFJy.js} +1 -1
- package/public/assets/{AdminPage-Dw1ng1n4.js → AdminPage-B8Yq8GnM.js} +1 -1
- package/public/assets/{ApiReferencePage-FUskCdjw.js → ApiReferencePage-DZDCJQI4.js} +1 -1
- package/public/assets/{AuditLogPage-nwiONLEk.js → AuditLogPage-MoCRMzqP.js} +1 -1
- package/public/assets/{BotManage-D2QsEBCS.js → BotManage-CVWwoYy3.js} +1 -1
- package/public/assets/{CliReferencePage-BdzdHAsN.js → CliReferencePage-DVB7E2Jv.js} +1 -1
- package/public/assets/{DeveloperManage-C8-2MMwr.js → DeveloperManage-BtO-lkvD.js} +1 -1
- package/public/assets/{EditProjectPage-DPTc1yRc.js → EditProjectPage-Bl2LyAeT.js} +1 -1
- package/public/assets/{EmptyState-CEWQv5SU.js → EmptyState-Bvs1SJo_.js} +1 -1
- package/public/assets/{HomePage-BkKwaAgJ.js → HomePage-BSubk1iR.js} +1 -1
- package/public/assets/{LandingPage-BBF_PnWk.js → LandingPage-COmKh2PR.js} +1 -1
- package/public/assets/{LoginPage-BXdJBXbE.js → LoginPage-DFIy5_AG.js} +1 -1
- package/public/assets/{MachineDetailPage-DeLR95cj.js → MachineDetailPage-BLOhWYiw.js} +1 -1
- package/public/assets/MachineListPage-CIqrEM7O.js +6 -0
- package/public/assets/{NotFoundPage-CDsk2FBZ.js → NotFoundPage-BqLQpkaf.js} +1 -1
- package/public/assets/{PipelineEditorPage-DRxoetje.js → PipelineEditorPage-CyOhoLwR.js} +1 -1
- package/public/assets/{ProfilePage-DYw8NzPC.js → ProfilePage-D8UfMNDf.js} +1 -1
- package/public/assets/{ProjectDetailPage-BVi8nkb1.js → ProjectDetailPage-8DxQkhBt.js} +1 -1
- package/public/assets/{ProjectListPage-BJxuXui-.js → ProjectListPage-Dwcp60o1.js} +1 -1
- package/public/assets/{QuickAuth-CAi3n0Qs.js → QuickAuth-CWpVD-8o.js} +1 -1
- package/public/assets/{RemoveMemberConfirmDialog-sqtFnOvO.js → RemoveMemberConfirmDialog-DQ3dXuC6.js} +1 -1
- package/public/assets/{Select-CRpdafWl.js → Select-GhXJ5uKF.js} +1 -1
- package/public/assets/{SettingsPage-B9lw8C-c.js → SettingsPage-DDsctH7X.js} +1 -1
- package/public/assets/{Skeleton-CbeWT2zl.js → Skeleton-CSAb9g25.js} +1 -1
- package/public/assets/{SkillPage-Bq35rago.js → SkillPage-CtZTtfF8.js} +1 -1
- package/public/assets/{TaskDetailPage-C4ICC3OM.js → TaskDetailPage-CgT_txYn.js} +1 -1
- package/public/assets/{TaskListPage-CUHGBvyU.js → TaskListPage-D_tZ75c7.js} +1 -1
- package/public/assets/{TaskStatusBadge-C6DS5OWP.js → TaskStatusBadge-yxoaV45g.js} +1 -1
- package/public/assets/{TokenManage-B4uqYclW.js → TokenManage-DWk-4hAE.js} +1 -1
- package/public/assets/{TotpSetupPage-CEGN1xn8.js → TotpSetupPage-C3IixO0t.js} +1 -1
- package/public/assets/{WorkerSetupGuidePage-CwuvVUoB.js → WorkerSetupGuidePage-CuXz1Cp5.js} +1 -1
- package/public/assets/{arrow-left-BXI8dEuv.js → arrow-left-tpTJv4kJ.js} +1 -1
- package/public/assets/{arrow-right-BvAzhW8L.js → arrow-right-DpePBWE7.js} +1 -1
- package/public/assets/{bot-BsTtqvxQ.js → bot-BChGjdPm.js} +1 -1
- package/public/assets/{chevron-right-CHP2kF25.js → chevron-right-B-JssgBf.js} +1 -1
- package/public/assets/{copy-CTHNYjlv.js → copy-MDuQXvvx.js} +1 -1
- package/public/assets/{external-link-CAJ7Idcz.js → external-link-ExQuyXwZ.js} +1 -1
- package/public/assets/{index-BwKDWAeG.js → index-CtAu_XZ5.js} +2 -2
- package/public/assets/{key-BgCZ-y1U.js → key-Cix4k6UI.js} +1 -1
- package/public/assets/{loader-circle-DfGhh0Ty.js → loader-circle-COcLl-bl.js} +1 -1
- package/public/assets/{pencil-Bq3Z1U82.js → pencil-KZjOYmxG.js} +1 -1
- package/public/assets/{plus-kyLBS24g.js → plus-B1SMCBOe.js} +1 -1
- package/public/assets/{rotate-ccw-DSGQ_NEe.js → rotate-ccw-DpBJ4jZw.js} +1 -1
- package/public/assets/{scroll-text-D2EdgNAO.js → scroll-text-CrlR_VG0.js} +1 -1
- package/public/assets/{settings-CZ6ELt0Z.js → settings-H-4c0_mh.js} +1 -1
- package/public/assets/{task.store-DT4yU2EV.js → task.store-ATNoa4p7.js} +1 -1
- package/public/assets/{trash-2-CNnnORdj.js → trash-2-BzT2LBkf.js} +1 -1
- package/public/assets/{users-DbVTGZbU.js → users-BsLS_-Dg.js} +1 -1
- package/public/index.html +1 -1
- package/public/assets/MachineListPage-D79p6rD6.js +0 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.controller.js","sourceRoot":"","sources":["../../src/web/dashboard.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"dashboard.controller.js","sourceRoot":"","sources":["../../src/web/dashboard.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAMwB;AACxB,kEAA6D;AAC7D,2DAAuD;AACvD,qDAAiD;AACjD,kGAA6F;AAQtF,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAEX;IACA;IACA;IAHnB,YACmB,gBAAkC,EAClC,aAA4B,EAC5B,iBAA0C;QAF1C,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,kBAAa,GAAb,aAAa,CAAe;QAC5B,sBAAiB,GAAjB,iBAAiB,CAAyB;IAC1D,CAAC;IAGJ,QAAQ;QACN,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;IAC1C,CAAC;IAGD,cAAc,CACL,GAAyB,EAChB,KAAc;QAE9B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QAErE,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzE,MAAM,qBAAqB,GAAG,WAAW;aACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC;aACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAE5B,OAAO,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAChD,WAAW,EACX,GAAG,CAAC,IAAI,CAAC,GAAG,EACZ,qBAAqB,CACtB,CAAC;IACJ,CAAC;IAGD,iBAAiB,CAAiB,KAAc;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC9D,CAAC;IAGD,MAAM,CACQ,CAAU,EACN,KAAc;QAE9B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;CACF,CAAA;AAjDY,kDAAmB;AAQ9B;IADC,IAAA,YAAG,EAAC,iBAAiB,CAAC;;;;mDAGtB;AAGD;IADC,IAAA,YAAG,EAAC,wBAAwB,CAAC;IAE3B,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,cAAK,EAAC,OAAO,CAAC,CAAA;;;;yDAkBhB;AAGD;IADC,IAAA,YAAG,EAAC,2BAA2B,CAAC;IACd,WAAA,IAAA,cAAK,EAAC,OAAO,CAAC,CAAA;;;;4DAGhC;AAGD;IADC,IAAA,YAAG,EAAC,QAAQ,CAAC;IAEX,WAAA,IAAA,cAAK,EAAC,GAAG,CAAC,CAAA;IACV,WAAA,IAAA,cAAK,EAAC,OAAO,CAAC,CAAA;;;;iDAIhB;8BAhDU,mBAAmB;IAF/B,IAAA,mBAAU,EAAC,SAAS,CAAC;IACrB,IAAA,kBAAS,EAAC,6BAAY,CAAC;qCAGe,oCAAgB;QACnB,8BAAa;QACT,mDAAuB;GAJlD,mBAAmB,CAiD/B"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { OnModuleInit, OnModuleDestroy } from '@nestjs/common';
|
|
2
2
|
import type { Task } from '@overlordai/protocol';
|
|
3
3
|
import { DatabaseService } from '../database/database.service';
|
|
4
|
+
export interface EnrichedRecentTask extends Task {
|
|
5
|
+
creatorName: string | null;
|
|
6
|
+
machineName: string | null;
|
|
7
|
+
}
|
|
4
8
|
export interface DashboardStats {
|
|
5
9
|
active_tasks: number;
|
|
6
10
|
queued_tasks: number;
|
|
@@ -27,7 +31,8 @@ export declare class DashboardService implements OnModuleInit, OnModuleDestroy {
|
|
|
27
31
|
onModuleInit(): void;
|
|
28
32
|
onModuleDestroy(): void;
|
|
29
33
|
getStats(): DashboardStats;
|
|
30
|
-
getRecentTasks(limit?: number):
|
|
34
|
+
getRecentTasks(limit?: number): EnrichedRecentTask[];
|
|
35
|
+
getRecentTasksForUser(limit: number, developerId: number, maintainerProjectKeys: string[]): EnrichedRecentTask[];
|
|
31
36
|
getRecentActivity(limit?: number): Array<{
|
|
32
37
|
id: number;
|
|
33
38
|
timestamp: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.service.d.ts","sourceRoot":"","sources":["../../src/web/dashboard.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EACZ,eAAe,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,WAAW,EAAE,KAAK,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"dashboard.service.d.ts","sourceRoot":"","sources":["../../src/web/dashboard.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EACZ,eAAe,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,WAAW,kBAAmB,SAAQ,IAAI;IAC9C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,WAAW,EAAE,KAAK,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CACJ;AAqCD,qBACa,gBAAiB,YAAW,YAAY,EAAE,eAAe;IAMxD,OAAO,CAAC,QAAQ,CAAC,EAAE;IAL/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;IAC5D,OAAO,CAAC,KAAK,CAAuC;IACpD,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,YAAY,CAAkB;gBAET,EAAE,EAAE,eAAe;IAEhD,YAAY,IAAI,IAAI;IAYpB,eAAe,IAAI,IAAI;IAIvB,QAAQ,IAAI,cAAc;IAI1B,cAAc,CAAC,KAAK,SAAK,GAAG,kBAAkB,EAAE;IAIhD,qBAAqB,CACnB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,qBAAqB,EAAE,MAAM,EAAE,GAC9B,kBAAkB,EAAE;IAUvB,iBAAiB,CAAC,KAAK,SAAK,GAAG,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IA6BxF,YAAY,IAAI,IAAI;IAuKpB,OAAO,CAAC,YAAY;CAcrB"}
|
|
@@ -14,7 +14,7 @@ exports.DashboardService = void 0;
|
|
|
14
14
|
const common_1 = require("@nestjs/common");
|
|
15
15
|
const protocol_1 = require("@overlordai/protocol");
|
|
16
16
|
const database_service_1 = require("../database/database.service");
|
|
17
|
-
function
|
|
17
|
+
function mapEnrichedTaskRow(row) {
|
|
18
18
|
return {
|
|
19
19
|
id: row.id,
|
|
20
20
|
description: row.description,
|
|
@@ -44,6 +44,8 @@ function mapTaskRow(row) {
|
|
|
44
44
|
startedAt: row.started_at ?? null,
|
|
45
45
|
completedAt: row.completed_at ?? null,
|
|
46
46
|
updatedAt: row.updated_at,
|
|
47
|
+
creatorName: row.creator_name ?? null,
|
|
48
|
+
machineName: row.machine_name ?? null,
|
|
47
49
|
};
|
|
48
50
|
}
|
|
49
51
|
let DashboardService = DashboardService_1 = class DashboardService {
|
|
@@ -73,6 +75,13 @@ let DashboardService = DashboardService_1 = class DashboardService {
|
|
|
73
75
|
getRecentTasks(limit = 10) {
|
|
74
76
|
return this.recentTasks.slice(0, limit);
|
|
75
77
|
}
|
|
78
|
+
getRecentTasksForUser(limit, developerId, maintainerProjectKeys) {
|
|
79
|
+
return this.recentTasks
|
|
80
|
+
.filter((t) => t.createdBy === developerId ||
|
|
81
|
+
t.developerId === developerId ||
|
|
82
|
+
maintainerProjectKeys.includes(t.projectKey))
|
|
83
|
+
.slice(0, limit);
|
|
84
|
+
}
|
|
76
85
|
getRecentActivity(limit = 20) {
|
|
77
86
|
try {
|
|
78
87
|
const database = this.db.getDb();
|
|
@@ -187,9 +196,13 @@ let DashboardService = DashboardService_1 = class DashboardService {
|
|
|
187
196
|
active_slots: row.active_slots,
|
|
188
197
|
max_slots: row.max_slots,
|
|
189
198
|
}));
|
|
190
|
-
// Recent tasks
|
|
199
|
+
// Recent tasks (enriched with creator and machine names)
|
|
191
200
|
const recentRows = database
|
|
192
|
-
.prepare(`SELECT
|
|
201
|
+
.prepare(`SELECT t.*, d.name AS creator_name, m.name AS machine_name
|
|
202
|
+
FROM tasks t
|
|
203
|
+
LEFT JOIN developers d ON t.created_by = d.id
|
|
204
|
+
LEFT JOIN machines m ON t.machine_id = m.id
|
|
205
|
+
ORDER BY t.updated_at DESC LIMIT 10`)
|
|
193
206
|
.all();
|
|
194
207
|
this.stats = {
|
|
195
208
|
active_tasks: activeRow.cnt,
|
|
@@ -203,7 +216,7 @@ let DashboardService = DashboardService_1 = class DashboardService {
|
|
|
203
216
|
failure_distribution: failureDistribution,
|
|
204
217
|
worker_load: workerLoad,
|
|
205
218
|
};
|
|
206
|
-
this.recentTasks = recentRows.map(
|
|
219
|
+
this.recentTasks = recentRows.map(mapEnrichedTaskRow);
|
|
207
220
|
this.logger.debug(`Dashboard stats refreshed: active=${this.stats.active_tasks}, queued=${this.stats.queued_tasks}, online=${this.stats.online_workers}`);
|
|
208
221
|
}
|
|
209
222
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.service.js","sourceRoot":"","sources":["../../src/web/dashboard.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAKwB;AAExB,mDAAkD;AAClD,mEAA+D;
|
|
1
|
+
{"version":3,"file":"dashboard.service.js","sourceRoot":"","sources":["../../src/web/dashboard.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAKwB;AAExB,mDAAkD;AAClD,mEAA+D;AAwB/D,SAAS,kBAAkB,CAAC,GAA4B;IACtD,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAY;QACpB,WAAW,EAAE,GAAG,CAAC,WAAqB;QACtC,WAAW,EAAG,GAAG,CAAC,WAAsB,IAAI,IAAI;QAChD,MAAM,EAAE,GAAG,CAAC,MAAoB;QAChC,UAAU,EAAE,GAAG,CAAC,WAAqB;QACrC,SAAS,EAAG,GAAG,CAAC,UAAqB,IAAI,IAAI;QAC7C,WAAW,EAAG,GAAG,CAAC,YAAuB,IAAI,IAAI;QACjD,GAAG,EAAG,GAAG,CAAC,GAAc,IAAI,IAAI;QAChC,MAAM,EAAG,GAAG,CAAC,MAAiB,IAAI,IAAI;QACtC,KAAK,EAAG,GAAG,CAAC,MAAiB,IAAI,IAAI;QACrC,QAAQ,EAAG,GAAG,CAAC,SAAoB,IAAI,IAAI;QAC3C,YAAY,EAAG,GAAG,CAAC,aAAwB,IAAI,IAAI;QACnD,gBAAgB,EAAG,GAAG,CAAC,kBAA6B,IAAI,IAAI;QAC5D,YAAY,EAAG,GAAG,CAAC,aAAwB,IAAI,IAAI;QACnD,UAAU,EAAE,GAAG,CAAC,WAAqB;QACrC,QAAQ,EAAE,GAAG,CAAC,QAAkB;QAChC,cAAc,EAAG,GAAG,CAAC,eAA0B,IAAI,IAAI;QACvD,cAAc,EAAG,GAAG,CAAC,eAA0B,IAAI,IAAI;QACvD,WAAW,EAAG,GAAG,CAAC,aAAwB,IAAI,IAAI;QAClD,iBAAiB,EAAG,GAAG,CAAC,mBAA8B,IAAI,IAAI;QAC9D,YAAY,EAAG,GAAG,CAAC,cAAyB,IAAI,IAAI;QACpD,WAAW,EAAG,GAAG,CAAC,aAAwB,IAAI,IAAI;QAClD,SAAS,EAAG,GAAG,CAAC,UAAqB,IAAI,IAAI;QAC7C,SAAS,EAAE,GAAG,CAAC,UAAoB;QACnC,UAAU,EAAG,GAAG,CAAC,WAAsB,IAAI,IAAI;QAC/C,SAAS,EAAG,GAAG,CAAC,UAAqB,IAAI,IAAI;QAC7C,WAAW,EAAG,GAAG,CAAC,YAAuB,IAAI,IAAI;QACjD,SAAS,EAAE,GAAG,CAAC,UAAoB;QACnC,WAAW,EAAG,GAAG,CAAC,YAAuB,IAAI,IAAI;QACjD,WAAW,EAAG,GAAG,CAAC,YAAuB,IAAI,IAAI;KAClD,CAAC;AACJ,CAAC;AAGM,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAME;IALZ,MAAM,GAAG,IAAI,eAAM,CAAC,kBAAgB,CAAC,IAAI,CAAC,CAAC;IACpD,KAAK,GAAmB,IAAI,CAAC,YAAY,EAAE,CAAC;IAC5C,WAAW,GAAyB,EAAE,CAAC;IACvC,YAAY,CAAkB;IAEtC,YAA6B,EAAmB;QAAnB,OAAE,GAAF,EAAE,CAAiB;IAAG,CAAC;IAEpD,YAAY;QACV,kBAAkB;QAClB,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,2BAA2B;QAC3B,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;YACnC,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,EAAE,MAAM,CAAC,CAAC;QAEX,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,eAAe;QACb,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,cAAc,CAAC,KAAK,GAAG,EAAE;QACvB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,qBAAqB,CACnB,KAAa,EACb,WAAmB,EACnB,qBAA+B;QAE/B,OAAO,IAAI,CAAC,WAAW;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACZ,CAAC,CAAC,SAAS,KAAK,WAAW;YAC3B,CAAC,CAAC,WAAW,KAAK,WAAW;YAC7B,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAC7C;aACA,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,iBAAiB,CAAC,KAAK,GAAG,EAAE;QAC1B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,QAAQ;iBAClB,OAAO,CACN;;;;mBAIS,CACV;iBACA,GAAG,CAAC,KAAK,CAMV,CAAC;YAEH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACxB,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,SAAS,EAAE,GAAG,CAAC,UAAU;gBACzB,OAAO,EAAE,SAAS,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;aAC/F,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,YAAY;QACV,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAEjC,wCAAwC;YACxC,MAAM,SAAS,GAAG,QAAQ;iBACvB,OAAO,CACN,0DAA0D,CAC3D;iBACA,GAAG,CAAC,qBAAU,CAAC,QAAQ,EAAE,qBAAU,CAAC,OAAO,CAAoB,CAAC;YAEnE,kBAAkB;YAClB,MAAM,SAAS,GAAG,QAAQ;iBACvB,OAAO,CACN,oDAAoD,CACrD;iBACA,GAAG,CAAC,qBAAU,CAAC,MAAM,CAAoB,CAAC;YAE7C,oBAAoB;YACpB,MAAM,SAAS,GAAG,QAAQ;iBACvB,OAAO,CACN,uDAAuD,CACxD;iBACA,GAAG,CAAC,QAAQ,CAAoB,CAAC;YAEpC,qBAAqB;YACrB,MAAM,iBAAiB,GAAG,QAAQ;iBAC/B,OAAO,CACN,oFAAoF,CACrF;iBACA,GAAG,CAAC,qBAAU,CAAC,SAAS,CAAoB,CAAC;YAEhD,qBAAqB;YACrB,MAAM,cAAc,GAAG,QAAQ;iBAC5B,OAAO,CACN;;;;;;;2DAOiD,CAClD;iBACA,GAAG,CAAC,qBAAU,CAAC,SAAS,EAAE,qBAAU,CAAC,SAAS,EAAE,qBAAU,CAAC,MAAM,CAAqB,CAAC;YAE1F,qDAAqD;YACrD,MAAM,aAAa,GAAG,QAAQ;iBAC3B,OAAO,CACN;;;;;;;;;;;2BAWiB,CAClB;iBACA,GAAG,CAAC,qBAAU,CAAC,SAAS,EAAE,qBAAU,CAAC,SAAS,EAAE,qBAAU,CAAC,MAAM,CAAyC,CAAC;YAE9G,sEAAsE;YACtE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACpF,MAAM,gBAAgB,GAAa,EAAE,CAAC;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;gBACrB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC3B,MAAM,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACpD,CAAC;YAED,+CAA+C;YAC/C,MAAM,UAAU,GAAG,QAAQ;iBACxB,OAAO,CACN;;;;;;2DAMiD,CAClD;iBACA,GAAG,EAA0B,CAAC;YAEjC,iDAAiD;YACjD,MAAM,WAAW,GAAG,QAAQ;iBACzB,OAAO,CACN;;;;;;;;mBAQS,CACV;iBACA,GAAG,CAAC,qBAAU,CAAC,MAAM,CAAmD,CAAC;YAE5E,MAAM,mBAAmB,GAA2B,EAAE,CAAC;YACvD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC9B,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;YACpD,CAAC;YAED,cAAc;YACd,MAAM,cAAc,GAAG,QAAQ;iBAC5B,OAAO,CACN;;;;;oCAK0B,CAC3B;iBACA,GAAG,EAIJ,CAAC;YAEH,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC9C,SAAS,EAAE,GAAG,CAAC,UAAU;gBACzB,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,SAAS,EAAE,GAAG,CAAC,SAAS;aACzB,CAAC,CAAC,CAAC;YAEJ,yDAAyD;YACzD,MAAM,UAAU,GAAG,QAAQ;iBACxB,OAAO,CACN;;;;+CAIqC,CACtC;iBACA,GAAG,EAA+B,CAAC;YAEtC,IAAI,CAAC,KAAK,GAAG;gBACX,YAAY,EAAE,SAAS,CAAC,GAAG;gBAC3B,YAAY,EAAE,SAAS,CAAC,GAAG;gBAC3B,cAAc,EAAE,SAAS,CAAC,GAAG;gBAC7B,eAAe,EAAE,iBAAiB,CAAC,GAAG;gBACtC,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG;gBACjE,kBAAkB,EAAE,gBAAgB;gBACpC,kBAAkB,EAAE,EAAE,EAAE,sDAAsD;gBAC9E,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAClD,oBAAoB,EAAE,mBAAmB;gBACzC,WAAW,EAAE,UAAU;aACxB,CAAC;YAEF,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAEtD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,qCAAqC,IAAI,CAAC,KAAK,CAAC,YAAY,YAAY,IAAI,CAAC,KAAK,CAAC,YAAY,YAAY,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CACvI,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,2DAA2D,EAC3D,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAC/C,CAAC;YACF,6CAA6C;QAC/C,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,OAAO;YACL,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,CAAC;YACf,cAAc,EAAE,CAAC;YACjB,eAAe,EAAE,CAAC;YAClB,oBAAoB,EAAE,CAAC;YACvB,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACzC,kBAAkB,EAAE,EAAE;YACtB,iBAAiB,EAAE,CAAC;YACpB,oBAAoB,EAAE,EAAE;YACxB,WAAW,EAAE,EAAE;SAChB,CAAC;IACJ,CAAC;CACF,CAAA;AAhQY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;qCAOsB,kCAAe;GANrC,gBAAgB,CAgQ5B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { CreateTaskRequest, PtyTokenResponse } from '@overlordai/protocol';
|
|
2
|
+
import type { Task } from '@overlordai/protocol';
|
|
2
3
|
import { DispatcherService } from '../dispatcher/dispatcher.service';
|
|
3
4
|
import { DedupService } from '../dispatcher/dedup.service';
|
|
4
5
|
import { TaskLogBatcher } from '../dispatcher/task-log-batcher';
|
|
@@ -16,7 +17,16 @@ export declare class TaskController {
|
|
|
16
17
|
private readonly projectMemberRepo;
|
|
17
18
|
private readonly taskLogBatcher;
|
|
18
19
|
constructor(dispatcher: DispatcherService, dedupService: DedupService, projectMemberRepo: ProjectMemberRepository, taskLogBatcher: TaskLogBatcher);
|
|
19
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Check whether the authenticated user may access a given task.
|
|
22
|
+
* Allowed when any of the following is true:
|
|
23
|
+
* - user is admin
|
|
24
|
+
* - user created the task
|
|
25
|
+
* - user is assigned to the task (developerId)
|
|
26
|
+
* - user is a maintainer of the task's project
|
|
27
|
+
*/
|
|
28
|
+
private assertTaskAccess;
|
|
29
|
+
listTasks(req: AuthenticatedRequest, limit?: string, cursor?: string, status?: string, projectKey?: string): import("@overlordai/protocol").PaginatedResult<Task>;
|
|
20
30
|
getTaskEvents(req: AuthenticatedRequest, id: number, limit?: string, offset?: string, type?: string, search?: string): {
|
|
21
31
|
events: Array<{
|
|
22
32
|
id: number;
|
|
@@ -32,15 +42,15 @@ export declare class TaskController {
|
|
|
32
42
|
getPendingConfirm(id: number, req: AuthenticatedRequest): Promise<{
|
|
33
43
|
confirm: object | null;
|
|
34
44
|
}>;
|
|
35
|
-
getTask(id: number, req: AuthenticatedRequest):
|
|
45
|
+
getTask(id: number, req: AuthenticatedRequest): Task;
|
|
36
46
|
createTask(body: CreateTaskRequest, req: AuthenticatedRequest): Promise<{
|
|
37
|
-
task:
|
|
47
|
+
task: Task;
|
|
38
48
|
}>;
|
|
39
49
|
cancelTask(id: number, req: AuthenticatedRequest): Promise<{
|
|
40
50
|
success: boolean;
|
|
41
51
|
}>;
|
|
42
52
|
retryTask(id: number, req: AuthenticatedRequest): Promise<{
|
|
43
|
-
task:
|
|
53
|
+
task: Task;
|
|
44
54
|
}>;
|
|
45
55
|
issuePtyToken(id: number, req: AuthenticatedRequest): PtyTokenResponse;
|
|
46
56
|
confirmStage(id: number, body: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.controller.d.ts","sourceRoot":"","sources":["../../src/web/task.controller.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAiB,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"task.controller.d.ts","sourceRoot":"","sources":["../../src/web/task.controller.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAiB,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC/F,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,sBAAsB,CAAC;AAG7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oDAAoD,CAAC;AAE7F,UAAU,oBAAoB;IAC5B,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD;AAED,qBAEa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAHd,UAAU,EAAE,iBAAiB,EAC7B,YAAY,EAAE,YAAY,EAC1B,iBAAiB,EAAE,uBAAuB,EAC1C,cAAc,EAAE,cAAc;IAGjD;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IAmBxB,SAAS,CACA,GAAG,EAAE,oBAAoB,EAChB,KAAK,CAAC,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,MAAM;IAiB1C,aAAa,CACJ,GAAG,EAAE,oBAAoB,EACL,EAAE,EAAE,MAAM,EACrB,KAAK,CAAC,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM;;;;;;;;;IAqBlC,WAAW,CACF,GAAG,EAAE,oBAAoB,EACL,EAAE,EAAE,MAAM,EACrB,KAAK,CAAC,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM;;;IAgB5B,iBAAiB,CACM,EAAE,EAAE,MAAM,EAC9B,GAAG,EAAE,oBAAoB;;;IAkBlC,OAAO,CACsB,EAAE,EAAE,MAAM,EAC9B,GAAG,EAAE,oBAAoB;IAY5B,UAAU,CACN,IAAI,EAAE,iBAAiB,EACxB,GAAG,EAAE,oBAAoB;;;IAoB5B,UAAU,CACa,EAAE,EAAE,MAAM,EAC9B,GAAG,EAAE,oBAAoB;;;IAa5B,SAAS,CACc,EAAE,EAAE,MAAM,EAC9B,GAAG,EAAE,oBAAoB;;;IAalC,aAAa,CACgB,EAAE,EAAE,MAAM,EAC9B,GAAG,EAAE,oBAAoB,GAC/B,gBAAgB;IAWb,YAAY,CACW,EAAE,EAAE,MAAM,EAC7B,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAC7C,GAAG,EAAE,oBAAoB;;;CAmBnC"}
|
|
@@ -31,24 +31,46 @@ let TaskController = class TaskController {
|
|
|
31
31
|
this.projectMemberRepo = projectMemberRepo;
|
|
32
32
|
this.taskLogBatcher = taskLogBatcher;
|
|
33
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Check whether the authenticated user may access a given task.
|
|
36
|
+
* Allowed when any of the following is true:
|
|
37
|
+
* - user is admin
|
|
38
|
+
* - user created the task
|
|
39
|
+
* - user is assigned to the task (developerId)
|
|
40
|
+
* - user is a maintainer of the task's project
|
|
41
|
+
*/
|
|
42
|
+
assertTaskAccess(task, req) {
|
|
43
|
+
if (req.user.role === 'admin')
|
|
44
|
+
return;
|
|
45
|
+
if (req.user.sub === task.createdBy)
|
|
46
|
+
return;
|
|
47
|
+
if (req.user.sub === task.developerId)
|
|
48
|
+
return;
|
|
49
|
+
if (task.projectKey) {
|
|
50
|
+
const membership = this.projectMemberRepo.findByProjectAndDeveloper(task.projectKey, req.user.sub);
|
|
51
|
+
if (membership && membership.role === 'maintainer')
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
throw new common_1.ForbiddenException('You do not have access to this task');
|
|
55
|
+
}
|
|
34
56
|
listTasks(req, limit, cursor, status, projectKey) {
|
|
35
57
|
const query = {
|
|
36
58
|
limit: limit ? Math.min(Math.max(parseInt(limit, 10) || 20, 1), 100) : undefined,
|
|
37
59
|
cursor: cursor || undefined,
|
|
38
60
|
status: status || undefined,
|
|
39
61
|
projectKey: projectKey || undefined,
|
|
40
|
-
...(req.user.role !== 'admin' ? { createdBy: req.user.sub } : {}),
|
|
41
62
|
};
|
|
42
|
-
|
|
63
|
+
if (req.user.role === 'admin') {
|
|
64
|
+
return this.dispatcher.listTasks(query);
|
|
65
|
+
}
|
|
66
|
+
return this.dispatcher.listVisibleTasks(req.user.sub, query);
|
|
43
67
|
}
|
|
44
68
|
getTaskEvents(req, id, limit, offset, type, search) {
|
|
45
69
|
const task = this.dispatcher.getTask(id);
|
|
46
70
|
if (!task) {
|
|
47
71
|
throw new common_1.NotFoundException(`Task #${id} not found`);
|
|
48
72
|
}
|
|
49
|
-
|
|
50
|
-
throw new common_1.ForbiddenException('Only the task owner or an admin can view task events');
|
|
51
|
-
}
|
|
73
|
+
this.assertTaskAccess(task, req);
|
|
52
74
|
const parsedLimit = Math.min(limit ? parseInt(limit, 10) || 50 : 50, 200);
|
|
53
75
|
const parsedOffset = Math.max(0, offset ? parseInt(offset, 10) || 0 : 0);
|
|
54
76
|
const result = this.taskLogBatcher.getStructuredLogs(id, {
|
|
@@ -64,9 +86,7 @@ let TaskController = class TaskController {
|
|
|
64
86
|
if (!task) {
|
|
65
87
|
throw new common_1.NotFoundException(`Task #${id} not found`);
|
|
66
88
|
}
|
|
67
|
-
|
|
68
|
-
throw new common_1.ForbiddenException('Only the task owner or an admin can view task logs');
|
|
69
|
-
}
|
|
89
|
+
this.assertTaskAccess(task, req);
|
|
70
90
|
const parsedLimit = Math.min(limit ? parseInt(limit, 10) || 100 : 100, 1000);
|
|
71
91
|
const parsedOffset = Math.max(0, offset ? parseInt(offset, 10) || 0 : 0);
|
|
72
92
|
const lines = this.taskLogBatcher.getTaskLogs(id, parsedLimit, parsedOffset);
|
|
@@ -77,9 +97,7 @@ let TaskController = class TaskController {
|
|
|
77
97
|
if (!task) {
|
|
78
98
|
throw new common_1.NotFoundException(`Task #${id} not found`);
|
|
79
99
|
}
|
|
80
|
-
|
|
81
|
-
throw new common_1.ForbiddenException('Only the task owner or an admin can view pending confirms');
|
|
82
|
-
}
|
|
100
|
+
this.assertTaskAccess(task, req);
|
|
83
101
|
if (task.status !== 'SUSPENDED') {
|
|
84
102
|
return { confirm: null };
|
|
85
103
|
}
|
|
@@ -92,9 +110,7 @@ let TaskController = class TaskController {
|
|
|
92
110
|
if (!task) {
|
|
93
111
|
throw new common_1.NotFoundException(`Task #${id} not found`);
|
|
94
112
|
}
|
|
95
|
-
|
|
96
|
-
throw new common_1.ForbiddenException('Only the task owner or an admin can view this task');
|
|
97
|
-
}
|
|
113
|
+
this.assertTaskAccess(task, req);
|
|
98
114
|
return task;
|
|
99
115
|
}
|
|
100
116
|
async createTask(body, req) {
|
|
@@ -109,26 +125,20 @@ let TaskController = class TaskController {
|
|
|
109
125
|
return { task };
|
|
110
126
|
}
|
|
111
127
|
async cancelTask(id, req) {
|
|
112
|
-
// Owner-or-admin check
|
|
113
128
|
const task = this.dispatcher.getTask(id);
|
|
114
129
|
if (!task) {
|
|
115
130
|
throw new common_1.NotFoundException(`Task #${id} not found`);
|
|
116
131
|
}
|
|
117
|
-
|
|
118
|
-
throw new common_1.ForbiddenException('Only the task owner or an admin can cancel this task');
|
|
119
|
-
}
|
|
132
|
+
this.assertTaskAccess(task, req);
|
|
120
133
|
await this.dispatcher.cancelTask(id, req.user.sub);
|
|
121
134
|
return { success: true };
|
|
122
135
|
}
|
|
123
136
|
async retryTask(id, req) {
|
|
124
|
-
// Owner-or-admin check
|
|
125
137
|
const task = this.dispatcher.getTask(id);
|
|
126
138
|
if (!task) {
|
|
127
139
|
throw new common_1.NotFoundException(`Task #${id} not found`);
|
|
128
140
|
}
|
|
129
|
-
|
|
130
|
-
throw new common_1.ForbiddenException('Only the task owner or an admin can retry this task');
|
|
131
|
-
}
|
|
141
|
+
this.assertTaskAccess(task, req);
|
|
132
142
|
const retried = await this.dispatcher.retryTask(id, req.user.sub);
|
|
133
143
|
return { task: retried };
|
|
134
144
|
}
|
|
@@ -137,9 +147,7 @@ let TaskController = class TaskController {
|
|
|
137
147
|
if (!task) {
|
|
138
148
|
throw new common_1.NotFoundException(`Task #${id} not found`);
|
|
139
149
|
}
|
|
140
|
-
|
|
141
|
-
throw new common_1.ForbiddenException('Only the task owner or an admin can obtain a PTY token');
|
|
142
|
-
}
|
|
150
|
+
this.assertTaskAccess(task, req);
|
|
143
151
|
const channelToken = this.dispatcher.issuePtyToken(id, 'web');
|
|
144
152
|
return { channelToken };
|
|
145
153
|
}
|
|
@@ -151,14 +159,11 @@ let TaskController = class TaskController {
|
|
|
151
159
|
if (typeof body.result !== 'string') {
|
|
152
160
|
throw new common_1.BadRequestException('result must be a string');
|
|
153
161
|
}
|
|
154
|
-
// Owner-or-admin check
|
|
155
162
|
const task = this.dispatcher.getTask(id);
|
|
156
163
|
if (!task) {
|
|
157
164
|
throw new common_1.NotFoundException(`Task #${id} not found`);
|
|
158
165
|
}
|
|
159
|
-
|
|
160
|
-
throw new common_1.ForbiddenException('Only the task owner or an admin can confirm stages');
|
|
161
|
-
}
|
|
166
|
+
this.assertTaskAccess(task, req);
|
|
162
167
|
await this.dispatcher.confirmStage(id, body.stageIndex, body.result);
|
|
163
168
|
return { success: true };
|
|
164
169
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.controller.js","sourceRoot":"","sources":["../../src/web/task.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAawB;AAGxB,kEAA6D;AAC7D,iEAAuD;AACvD,yEAAqE;AACrE,+DAA2D;AAC3D,qEAAgE;AAChE,kGAA6F;AAQtF,IAAM,cAAc,GAApB,MAAM,cAAc;IAEN;IACA;IACA;IACA;IAJnB,YACmB,UAA6B,EAC7B,YAA0B,EAC1B,iBAA0C,EAC1C,cAA8B;QAH9B,eAAU,GAAV,UAAU,CAAmB;QAC7B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,sBAAiB,GAAjB,iBAAiB,CAAyB;QAC1C,mBAAc,GAAd,cAAc,CAAgB;IAC9C,CAAC;
|
|
1
|
+
{"version":3,"file":"task.controller.js","sourceRoot":"","sources":["../../src/web/task.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-channel.gateway.d.ts","sourceRoot":"","sources":["../../src/web/worker-channel.gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAqB/B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAW/D,qBACa,oBACX,YAAW,mBAAmB,EAAE,mBAAmB;IAOjD,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAdlC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyC;IAChE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6C;IAC3E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;gBAGvB,WAAW,EAAE,WAAW,EACxB,uBAAuB,EAAE,uBAAuB,EAChD,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,iBAAiB,EAC9B,QAAQ,EAAE,cAAc,EACxB,eAAe,EAAE,qBAAqB,EACtC,eAAe,EAAE,eAAe;IAGnD,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI;IAsEhE,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAUzC,OAAO,CAAC,UAAU;IAuElB,OAAO,CAAC,eAAe;
|
|
1
|
+
{"version":3,"file":"worker-channel.gateway.d.ts","sourceRoot":"","sources":["../../src/web/worker-channel.gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAqB/B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAW/D,qBACa,oBACX,YAAW,mBAAmB,EAAE,mBAAmB;IAOjD,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAdlC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyC;IAChE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6C;IAC3E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;gBAGvB,WAAW,EAAE,WAAW,EACxB,uBAAuB,EAAE,uBAAuB,EAChD,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,iBAAiB,EAC9B,QAAQ,EAAE,cAAc,EACxB,eAAe,EAAE,qBAAqB,EACtC,eAAe,EAAE,eAAe;IAGnD,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI;IAsEhE,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAUzC,OAAO,CAAC,UAAU;IAuElB,OAAO,CAAC,eAAe;IA8BvB,OAAO,CAAC,SAAS;YAIH,eAAe;IAe7B,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,uBAAuB;YASjB,yBAAyB;IAmCvC;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;CA6C5B"}
|
|
@@ -180,7 +180,7 @@ let WorkerChannelGateway = WorkerChannelGateway_1 = class WorkerChannelGateway {
|
|
|
180
180
|
memoryUsage: frame.metrics.memoryUsage,
|
|
181
181
|
diskUsage: frame.metrics.diskUsage,
|
|
182
182
|
activeSlots: frame.metrics.activeSlots,
|
|
183
|
-
}, frame.capabilities, frame.workerVersion);
|
|
183
|
+
}, frame.capabilities, frame.workerVersion, frame.cpuModel, frame.maxSlots);
|
|
184
184
|
// Send heartbeat_ack
|
|
185
185
|
const ack = {
|
|
186
186
|
type: 'heartbeat_ack',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-channel.gateway.js","sourceRoot":"","sources":["../../src/web/worker-channel.gateway.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"worker-channel.gateway.js","sourceRoot":"","sources":["../../src/web/worker-channel.gateway.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.
|
|
3
|
+
"version": "1.0.40",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"@nestjs/platform-express": "^10.4.0",
|
|
27
27
|
"@nestjs/platform-ws": "^10.4.0",
|
|
28
28
|
"@nestjs/websockets": "^10.4.0",
|
|
29
|
-
"@overlordai/protocol": "1.0.
|
|
29
|
+
"@overlordai/protocol": "1.0.40",
|
|
30
30
|
"bcrypt": "^6.0.0",
|
|
31
31
|
"better-sqlite3": "^11.0.0",
|
|
32
32
|
"bullmq": "^5.0.0",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as _,r as o,j as e,f as j,l as w,h as C,t as y,o as T,K as S}from"./index-
|
|
1
|
+
import{a as _,r as o,j as e,f as j,l as w,h as C,t as y,o as T,K as S}from"./index-CtAu_XZ5.js";import{S as D}from"./Select-GhXJ5uKF.js";import{E as A}from"./EmptyState-Bvs1SJo_.js";import{T as E}from"./Skeleton-CSAb9g25.js";import{P as L}from"./plus-B1SMCBOe.js";import{C as R}from"./copy-MDuQXvvx.js";import{T as M}from"./trash-2-BzT2LBkf.js";function O({isOpen:t,onClose:d,onCreated:l}){const{t:s}=_(),[n,i]=o.useState(""),[x,m]=o.useState("never"),[u,v]=o.useState(!1),[p,c]=o.useState(""),b=[{value:"never",label:s("access_tokens.no_expiry")},{value:"30",label:s("access_tokens.days_30")},{value:"90",label:s("access_tokens.days_90")},{value:"365",label:s("access_tokens.days_365")}],h=()=>{i(""),m("never"),c(""),d()},f=async()=>{if(c(""),!n.trim()){c(s("access_tokens.token_label_required"));return}try{v(!0);const a=await j.post("web/profile/tokens",{json:{label:n.trim(),...x!=="never"&&{expiresAt:new Date(Date.now()+parseInt(x,10)*864e5).toISOString()}}}).json();i(""),m("never"),l({token:a.token,name:a.name})}catch(a){const k=a instanceof Error?a.message:s("access_tokens.failed_to_create_token");c(k)}finally{v(!1)}};return t?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"fixed inset-0 z-40 bg-[var(--modal-backdrop)]",onClick:h}),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:a=>a.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:s("access_tokens.create_personal_access_token")}),e.jsx("p",{className:"mt-1 text-xs text-[var(--text-muted)]",children:s("access_tokens.tokens_authenticate_desc")})]}),e.jsxs("div",{className:"space-y-4 px-5 py-5",children:[p&&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:p}),e.jsxs("div",{children:[e.jsx("label",{className:"mb-1.5 block text-xs text-[var(--text-muted)]",children:s("access_tokens.token_name")}),e.jsx("input",{type:"text",placeholder:s("access_tokens.token_name_placeholder"),value:n,onChange:a=>i(a.target.value),onKeyDown:a=>{a.key==="Enter"&&f()},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:s("access_tokens.expires")}),e.jsx(D,{value:x,onChange:m,options:b})]})]}),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:s("common.cancel")}),e.jsx("button",{onClick:f,disabled:u,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:s(u?"common.creating":"access_tokens.create_token")})]})]})})]}):null}function P({isOpen:t,onClose:d,onConfirm:l,tokenLabel:s,isLoading:n}){const{t:i}=_();return e.jsx(w,{isOpen:t,onClose:d,onConfirm:l,title:i("access_tokens.revoke_token_title"),message:i("access_tokens.revoke_confirm",{name:s}),confirmLabel:i("access_tokens.revoke"),confirmVariant:"danger",isLoading:n})}function $(t){const d=Date.now()-new Date(t).getTime(),l=Math.floor(d/1e3);if(l<60)return`${l}s ago`;const s=Math.floor(l/60);if(s<60)return`${s}m ago`;const n=Math.floor(s/60);return n<24?`${n} hours ago`:`${Math.floor(n/24)}d ago`}function V(){const{t}=_(),[d,l]=o.useState([]),[s,n]=o.useState(!0),[i,x]=o.useState(!1),[m,u]=o.useState(null),[v,p]=o.useState(!1),[c,b]=o.useState(null),[h,f]=o.useState(null);C(o.useMemo(()=>e.jsxs("button",{onClick:()=>x(!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(L,{className:"h-3.5 w-3.5"}),t("access_tokens.create_token")]}),[t]));const a=o.useCallback(async()=>{try{n(!0);const r=await j.get("web/profile/tokens").json();l(r)}catch{y.error(t("access_tokens.failed_to_load_tokens"))}finally{n(!1)}},[t]);o.useEffect(()=>{a()},[a]);const k=r=>{x(!1),u(r.token),p(!1),a()},g=async()=>{if(m)try{await navigator.clipboard.writeText(m),p(!0),setTimeout(()=>p(!1),2e3)}catch{}},N=async()=>{if(c)try{f(c.id),await j.post(`web/profile/tokens/${c.id}/revoke`),y.success(t("access_tokens.token_revoked")),b(null),a()}catch{y.error(t("access_tokens.failed_to_revoke_token"))}finally{f(null)}};return e.jsxs("div",{className:"mx-auto max-w-4xl px-6 py-8 font-mono lowercase",children:[m&&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:t("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:m}),e.jsxs("button",{onClick:g,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:[v?e.jsx(T,{className:"h-3.5 w-3.5 text-[var(--accent)]"}):e.jsx(R,{className:"h-3.5 w-3.5"}),t(v?"common.copied":"common.copy")]})]}),e.jsx("div",{className:"mt-2 flex justify-end",children:e.jsx("button",{onClick:()=>u(null),className:"text-xs text-[var(--text-muted)] hover:text-[var(--text-secondary)]",children:t("common.dismiss")})})]}),e.jsx("div",{className:"rounded-[4px] border border-[var(--border)] bg-[var(--bg-card)]",children:s?e.jsx("div",{className:"p-4",children:e.jsx(E,{rows:3})}):d.length===0?e.jsx(A,{icon:S,title:t("access_tokens.no_tokens"),description:t("access_tokens.create_token_desc"),actionLabel:t("access_tokens.create_token"),onAction:()=>x(!0)}):e.jsxs("table",{className:"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:t("common.name")}),e.jsx("th",{className:"px-4 py-2.5 font-normal",children:t("common.status")}),e.jsx("th",{className:"px-4 py-2.5 font-normal",children:t("access_tokens.created")}),e.jsx("th",{className:"px-4 py-2.5 font-normal",children:t("access_tokens.last_used")}),e.jsx("th",{className:"px-4 py-2.5 font-normal",children:t("access_tokens.expires")}),e.jsx("th",{className:"px-4 py-2.5 font-normal text-right",children:t("common.actions")})]})}),e.jsx("tbody",{children:d.map(r=>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:r.label}),e.jsx("td",{className:"px-4 py-3",children:e.jsx("span",{className:r.status==="active"?"text-green-400":"text-[var(--text-muted)]",children:r.status})}),e.jsx("td",{className:"px-4 py-3 text-[var(--text-secondary)]",children:new Date(r.createdAt).toLocaleDateString()}),e.jsx("td",{className:"px-4 py-3 text-[var(--text-secondary)]",children:r.lastUsedAt?$(r.lastUsedAt):t("common.never")}),e.jsx("td",{className:"px-4 py-3 text-[var(--text-secondary)]",children:r.expiresAt?new Date(r.expiresAt).toLocaleDateString():t("common.never")}),e.jsx("td",{className:"px-4 py-3 text-right",children:r.status==="active"&&e.jsxs("button",{onClick:()=>b(r),disabled:h===r.id,className:"inline-flex items-center gap-1 text-xs text-[var(--destructive)] hover:underline disabled:opacity-50",children:[e.jsx(M,{className:"h-3 w-3"}),t("access_tokens.revoke")]})})]},r.id))})]})}),e.jsx(O,{isOpen:i,onClose:()=>x(!1),onCreated:k}),e.jsx(P,{isOpen:!!c,onClose:()=>b(null),onConfirm:N,tokenLabel:(c==null?void 0:c.label)??"",isLoading:h!==null})]})}export{V as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as d,e as l,d as c,K as p,r as b,j as e,w as x,O as v}from"./index-
|
|
1
|
+
import{a as d,e as l,d as c,K as p,r as b,j as e,w as x,O as v}from"./index-CtAu_XZ5.js";import{U as f}from"./users-BsLS_-Dg.js";import{B as u}from"./bot-BChGjdPm.js";import{S as g}from"./scroll-text-CrlR_VG0.js";import{S as h}from"./settings-H-4c0_mh.js";function S(){const{t:a}=d(),t=l(),o=c(),r=[{to:"/admin/developers",label:a("admin.tab_developers"),icon:f},{to:"/admin/bots",label:a("admin.tab_bots"),icon:u},{to:"/admin/tokens",label:a("admin.tab_tokens"),icon:p},{to:"/admin/audit-logs",label:a("admin.tab_audit_logs"),icon:g},{to:"/admin/settings",label:a("admin.tab_settings"),icon:h}];return b.useEffect(()=>{(t.pathname==="/admin"||t.pathname==="/admin/")&&o("/admin/developers",{replace:!0})},[t.pathname,o]),e.jsxs("div",{children:[e.jsx("div",{className:"mb-6 flex flex-nowrap gap-2 overflow-x-auto border-b border-[var(--border)] no-scrollbar",children:r.map(({to:s,label:n,icon:i})=>e.jsxs(x,{to:s,className:({isActive:m})=>`flex shrink-0 items-center gap-2 border-b-2 px-4 py-2 text-sm transition-colors ${m?"border-[var(--accent)] text-[var(--accent)]":"border-transparent text-[var(--text-secondary)] hover:text-[var(--text-primary)]"}`,children:[e.jsx(i,{size:16}),n]},s))}),e.jsx(v,{})]})}export{S as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d,a as n,h as p,r as o,j as t}from"./index-BwKDWAeG.js";import{Q as c}from"./QuickAuth-CAi3n0Qs.js";import{P as h}from"./plus-kyLBS24g.js";import"./copy-CTHNYjlv.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",auth:"jwt",body:'{ "projectKey": "string", "description": "string", "machineId?": "string" }'},{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 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:"machines",prefix:"/api/web/machines",endpoints:[{method:"GET",path:"",description:"list all machines",auth:"jwt"},{method:"GET",path:"/:id",description:"get machine details",auth:"jwt"},{method:"GET",path:"/:id/tasks",description:"list tasks assigned to a machine",auth:"jwt"},{method:"POST",path:"/:id/drain",description:"start draining a machine",auth:"jwt"},{method:"POST",path:"/:id/undrain",description:"cancel machine 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"}]},{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, machines, 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 machine",auth:"jwt"}]},{title:"admin — machines",prefix:"/api/admin/machines",endpoints:[{method:"GET",path:"",description:"list all machines (admin)",auth:"jwt"},{method:"PUT",path:"/:id",description:"update machine 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 chat bindings for a bot",auth:"jwt"},{method:"POST",path:"/:id/bindings",description:"create a chat binding",auth:"jwt"},{method:"DELETE",path:"/:id/bindings",description:"delete a chat binding",auth:"jwt"}]},{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 x({ep:e,prefix:s}){const[a,i]=o.useState(!1),{t:r}=n();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-3 px-4 py-2.5 text-left transition-colors hover:bg-[var(--bg-input)]",onClick:()=>i(!a),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",children:[s,e.path]}),t.jsxs("span",{className:"text-xs text-[var(--text-muted)] hidden sm:inline truncate max-w-[200px]",children:["// ",e.description]})]}),a&&t.jsxs("div",{className:"border-t border-[var(--border-row)] bg-[var(--bg-primary)] 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-[10px]",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-[10px] 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-[10px] 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:s}=n();return p(o.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"}),s("access_tokens.create_token")]}),[e,s])),t.jsxs("div",{className:"mx-auto max-w-4xl 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:s("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:s("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(a=>t.jsxs("div",{children:[t.jsxs("h2",{className:"mb-2 text-sm text-[var(--accent)]",children:["> ",a.title]}),t.jsx("div",{className:"rounded-[4px] border border-[var(--border)] bg-[var(--bg-card)]",children:a.endpoints.map((i,r)=>t.jsx(x,{ep:i,prefix:a.prefix},`${i.method}-${i.path}-${r}`))})]},a.title))})]})}export{g as default};
|
|
1
|
+
import{d,a as n,h as p,r as o,j as t}from"./index-CtAu_XZ5.js";import{Q as c}from"./QuickAuth-CWpVD-8o.js";import{P as h}from"./plus-B1SMCBOe.js";import"./copy-MDuQXvvx.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",auth:"jwt",body:'{ "projectKey": "string", "description": "string", "machineId?": "string" }'},{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 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:"machines",prefix:"/api/web/machines",endpoints:[{method:"GET",path:"",description:"list all machines",auth:"jwt"},{method:"GET",path:"/:id",description:"get machine details",auth:"jwt"},{method:"GET",path:"/:id/tasks",description:"list tasks assigned to a machine",auth:"jwt"},{method:"POST",path:"/:id/drain",description:"start draining a machine",auth:"jwt"},{method:"POST",path:"/:id/undrain",description:"cancel machine 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"}]},{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, machines, 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 machine",auth:"jwt"}]},{title:"admin — machines",prefix:"/api/admin/machines",endpoints:[{method:"GET",path:"",description:"list all machines (admin)",auth:"jwt"},{method:"PUT",path:"/:id",description:"update machine 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 chat bindings for a bot",auth:"jwt"},{method:"POST",path:"/:id/bindings",description:"create a chat binding",auth:"jwt"},{method:"DELETE",path:"/:id/bindings",description:"delete a chat binding",auth:"jwt"}]},{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 x({ep:e,prefix:s}){const[a,i]=o.useState(!1),{t:r}=n();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-3 px-4 py-2.5 text-left transition-colors hover:bg-[var(--bg-input)]",onClick:()=>i(!a),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",children:[s,e.path]}),t.jsxs("span",{className:"text-xs text-[var(--text-muted)] hidden sm:inline truncate max-w-[200px]",children:["// ",e.description]})]}),a&&t.jsxs("div",{className:"border-t border-[var(--border-row)] bg-[var(--bg-primary)] 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-[10px]",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-[10px] 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-[10px] 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:s}=n();return p(o.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"}),s("access_tokens.create_token")]}),[e,s])),t.jsxs("div",{className:"mx-auto max-w-4xl 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:s("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:s("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(a=>t.jsxs("div",{children:[t.jsxs("h2",{className:"mb-2 text-sm text-[var(--accent)]",children:["> ",a.title]}),t.jsx("div",{className:"rounded-[4px] border border-[var(--border)] bg-[var(--bg-card)]",children:a.endpoints.map((i,r)=>t.jsx(x,{ep:i,prefix:a.prefix},`${i.method}-${i.path}-${r}`))})]},a.title))})]})}export{g as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as C,a as S,r,f as k,j as e,i as L}from"./index-
|
|
1
|
+
import{c as C,a as S,r,f as k,j as e,i as L}from"./index-CtAu_XZ5.js";import{S as E}from"./Select-GhXJ5uKF.js";import{E as T}from"./EmptyState-Bvs1SJo_.js";import{T as F}from"./Skeleton-CSAb9g25.js";import{S as A}from"./scroll-text-CrlR_VG0.js";import{C as P}from"./chevron-right-B-JssgBf.js";/**
|
|
2
2
|
* @license lucide-react v0.469.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|