@devflow-tools/server 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app.module.d.ts +3 -0
- package/dist/app.module.d.ts.map +1 -0
- package/dist/app.module.js +37 -0
- package/dist/app.module.js.map +1 -0
- package/dist/auth/api-key.decorator.d.ts +3 -0
- package/dist/auth/api-key.decorator.d.ts.map +1 -0
- package/dist/auth/api-key.decorator.js +4 -0
- package/dist/auth/api-key.decorator.js.map +1 -0
- package/dist/auth/api-key.guard.d.ts +8 -0
- package/dist/auth/api-key.guard.d.ts.map +1 -0
- package/dist/auth/api-key.guard.js +61 -0
- package/dist/auth/api-key.guard.js.map +1 -0
- package/dist/auth/auth.module.d.ts +3 -0
- package/dist/auth/auth.module.d.ts.map +1 -0
- package/dist/auth/auth.module.js +19 -0
- package/dist/auth/auth.module.js.map +1 -0
- package/dist/auth/errors.d.ts +6 -0
- package/dist/auth/errors.d.ts.map +1 -0
- package/dist/auth/errors.js +5 -0
- package/dist/auth/errors.js.map +1 -0
- package/dist/benchmark/benchmark.controller.d.ts +11 -0
- package/dist/benchmark/benchmark.controller.d.ts.map +1 -0
- package/dist/benchmark/benchmark.controller.js +55 -0
- package/dist/benchmark/benchmark.controller.js.map +1 -0
- package/dist/benchmark/benchmark.module.d.ts +3 -0
- package/dist/benchmark/benchmark.module.d.ts.map +1 -0
- package/dist/benchmark/benchmark.module.js +16 -0
- package/dist/benchmark/benchmark.module.js.map +1 -0
- package/dist/benchmark/benchmark.service.d.ts +8 -0
- package/dist/benchmark/benchmark.service.d.ts.map +1 -0
- package/dist/benchmark/benchmark.service.js +38 -0
- package/dist/benchmark/benchmark.service.js.map +1 -0
- package/dist/common/dto.d.ts +11 -0
- package/dist/common/dto.d.ts.map +1 -0
- package/dist/common/dto.js +2 -0
- package/dist/common/dto.js.map +1 -0
- package/dist/common/error-codes.d.ts +16 -0
- package/dist/common/error-codes.d.ts.map +1 -0
- package/dist/common/error-codes.js +15 -0
- package/dist/common/error-codes.js.map +1 -0
- package/dist/common/http-exception.filter.d.ts +6 -0
- package/dist/common/http-exception.filter.d.ts.map +1 -0
- package/dist/common/http-exception.filter.js +51 -0
- package/dist/common/http-exception.filter.js.map +1 -0
- package/dist/context/context.controller.d.ts +17 -0
- package/dist/context/context.controller.d.ts.map +1 -0
- package/dist/context/context.controller.js +56 -0
- package/dist/context/context.controller.js.map +1 -0
- package/dist/context/context.module.d.ts +3 -0
- package/dist/context/context.module.d.ts.map +1 -0
- package/dist/context/context.module.js +16 -0
- package/dist/context/context.module.js.map +1 -0
- package/dist/context/context.service.d.ts +13 -0
- package/dist/context/context.service.d.ts.map +1 -0
- package/dist/context/context.service.js +50 -0
- package/dist/context/context.service.js.map +1 -0
- package/dist/graph/graph.controller.d.ts +15 -0
- package/dist/graph/graph.controller.d.ts.map +1 -0
- package/dist/graph/graph.controller.js +54 -0
- package/dist/graph/graph.controller.js.map +1 -0
- package/dist/graph/graph.module.d.ts +3 -0
- package/dist/graph/graph.module.d.ts.map +1 -0
- package/dist/graph/graph.module.js +17 -0
- package/dist/graph/graph.module.js.map +1 -0
- package/dist/graph/graph.service.d.ts +12 -0
- package/dist/graph/graph.service.d.ts.map +1 -0
- package/dist/graph/graph.service.js +37 -0
- package/dist/graph/graph.service.js.map +1 -0
- package/dist/knowledge/knowledge.controller.d.ts +13 -0
- package/dist/knowledge/knowledge.controller.d.ts.map +1 -0
- package/dist/knowledge/knowledge.controller.js +48 -0
- package/dist/knowledge/knowledge.controller.js.map +1 -0
- package/dist/knowledge/knowledge.module.d.ts +3 -0
- package/dist/knowledge/knowledge.module.d.ts.map +1 -0
- package/dist/knowledge/knowledge.module.js +17 -0
- package/dist/knowledge/knowledge.module.js.map +1 -0
- package/dist/knowledge/knowledge.service.d.ts +8 -0
- package/dist/knowledge/knowledge.service.d.ts.map +1 -0
- package/dist/knowledge/knowledge.service.js +33 -0
- package/dist/knowledge/knowledge.service.js.map +1 -0
- package/dist/main.d.ts +4 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +18 -0
- package/dist/main.js.map +1 -0
- package/dist/memory/memory.controller.d.ts +19 -0
- package/dist/memory/memory.controller.d.ts.map +1 -0
- package/dist/memory/memory.controller.js +74 -0
- package/dist/memory/memory.controller.js.map +1 -0
- package/dist/memory/memory.module.d.ts +3 -0
- package/dist/memory/memory.module.d.ts.map +1 -0
- package/dist/memory/memory.module.js +17 -0
- package/dist/memory/memory.module.js.map +1 -0
- package/dist/memory/memory.service.d.ts +22 -0
- package/dist/memory/memory.service.d.ts.map +1 -0
- package/dist/memory/memory.service.js +51 -0
- package/dist/memory/memory.service.js.map +1 -0
- package/dist/projects/projects.controller.d.ts +14 -0
- package/dist/projects/projects.controller.d.ts.map +1 -0
- package/dist/projects/projects.controller.js +57 -0
- package/dist/projects/projects.controller.js.map +1 -0
- package/dist/projects/projects.module.d.ts +3 -0
- package/dist/projects/projects.module.d.ts.map +1 -0
- package/dist/projects/projects.module.js +16 -0
- package/dist/projects/projects.module.js.map +1 -0
- package/dist/projects/projects.service.d.ts +19 -0
- package/dist/projects/projects.service.d.ts.map +1 -0
- package/dist/projects/projects.service.js +38 -0
- package/dist/projects/projects.service.js.map +1 -0
- package/dist/registry/registry.controller.d.ts +14 -0
- package/dist/registry/registry.controller.d.ts.map +1 -0
- package/dist/registry/registry.controller.js +57 -0
- package/dist/registry/registry.controller.js.map +1 -0
- package/dist/registry/registry.module.d.ts +3 -0
- package/dist/registry/registry.module.d.ts.map +1 -0
- package/dist/registry/registry.module.js +16 -0
- package/dist/registry/registry.module.js.map +1 -0
- package/dist/registry/registry.service.d.ts +20 -0
- package/dist/registry/registry.service.d.ts.map +1 -0
- package/dist/registry/registry.service.js +48 -0
- package/dist/registry/registry.service.js.map +1 -0
- package/dist/telemetry/telemetry.controller.d.ts +16 -0
- package/dist/telemetry/telemetry.controller.d.ts.map +1 -0
- package/dist/telemetry/telemetry.controller.js +56 -0
- package/dist/telemetry/telemetry.controller.js.map +1 -0
- package/dist/telemetry/telemetry.module.d.ts +3 -0
- package/dist/telemetry/telemetry.module.d.ts.map +1 -0
- package/dist/telemetry/telemetry.module.js +16 -0
- package/dist/telemetry/telemetry.module.js.map +1 -0
- package/dist/telemetry/telemetry.service.d.ts +15 -0
- package/dist/telemetry/telemetry.service.d.ts.map +1 -0
- package/dist/telemetry/telemetry.service.js +47 -0
- package/dist/telemetry/telemetry.service.js.map +1 -0
- package/dist/workflow/workflow.controller.d.ts +38 -0
- package/dist/workflow/workflow.controller.d.ts.map +1 -0
- package/dist/workflow/workflow.controller.js +101 -0
- package/dist/workflow/workflow.controller.js.map +1 -0
- package/dist/workflow/workflow.module.d.ts +3 -0
- package/dist/workflow/workflow.module.d.ts.map +1 -0
- package/dist/workflow/workflow.module.js +16 -0
- package/dist/workflow/workflow.module.js.map +1 -0
- package/dist/workflow/workflow.service.d.ts +40 -0
- package/dist/workflow/workflow.service.d.ts.map +1 -0
- package/dist/workflow/workflow.service.js +78 -0
- package/dist/workflow/workflow.service.js.map +1 -0
- package/package.json +41 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { Injectable, NotFoundException } from "@nestjs/common";
|
|
8
|
+
import { createEngines } from "@devflow-tools/context-engine";
|
|
9
|
+
import { ErrorCode } from "../common/error-codes.js";
|
|
10
|
+
let MemoryService = class MemoryService {
|
|
11
|
+
async getAll(rootPath) {
|
|
12
|
+
const { memory } = await createEngines(rootPath);
|
|
13
|
+
const project = await memory.getProjectContext();
|
|
14
|
+
const user = await memory.getUserPreferences();
|
|
15
|
+
return {
|
|
16
|
+
project: { stack: project.stack, conventions: project.conventions, metadata: project.metadata },
|
|
17
|
+
user: { preferences: user.preferences, stack: user.stack },
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
async update(rootPath, layer, key, value) {
|
|
21
|
+
const { memory } = await createEngines(rootPath);
|
|
22
|
+
if (layer === "user") {
|
|
23
|
+
await memory.updateUserPreference(key, value);
|
|
24
|
+
}
|
|
25
|
+
else if (layer === "project") {
|
|
26
|
+
const ctx = await memory.getProjectContext();
|
|
27
|
+
ctx.metadata[key] = value;
|
|
28
|
+
await memory.setProjectContext(ctx);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
throw new NotFoundException({ error: { code: ErrorCode.MEMORY_KEY_NOT_FOUND, message: `Layer "${layer}" not found`, details: {} } });
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async getCandidates(rootPath) {
|
|
35
|
+
const { memory } = await createEngines(rootPath);
|
|
36
|
+
return memory.getCandidates();
|
|
37
|
+
}
|
|
38
|
+
async approveCandidate(rootPath, id) {
|
|
39
|
+
const { memory } = await createEngines(rootPath);
|
|
40
|
+
await memory.approveCandidate(id);
|
|
41
|
+
}
|
|
42
|
+
async rejectCandidate(rootPath, id) {
|
|
43
|
+
const { memory } = await createEngines(rootPath);
|
|
44
|
+
await memory.rejectCandidate(id);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
MemoryService = __decorate([
|
|
48
|
+
Injectable()
|
|
49
|
+
], MemoryService);
|
|
50
|
+
export { MemoryService };
|
|
51
|
+
//# sourceMappingURL=memory.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.service.js","sourceRoot":"","sources":["../../src/memory/memory.service.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAQ9C,IAAM,aAAa,GAAnB,MAAM,aAAa;IACxB,KAAK,CAAC,MAAM,CAAC,QAAgB;QAC3B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC/C,OAAO;YACL,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;YAC/F,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;SAC3D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAgB,EAAE,KAAa,EAAE,GAAW,EAAE,KAAc;QACvE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACrB,MAAM,MAAM,CAAC,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7C,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC1B,MAAM,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,oBAAoB,EAAE,OAAO,EAAE,UAAU,KAAK,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACvI,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAgB;QAClC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAgB,EAAE,EAAU;QACjD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAAgB,EAAE,EAAU;QAChD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;CACF,CAAA;AAtCY,aAAa;IADzB,UAAU,EAAE;GACA,aAAa,CAsCzB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ProjectsService, ProjectDto } from "./projects.service.js";
|
|
2
|
+
export declare class ProjectsController {
|
|
3
|
+
private readonly service;
|
|
4
|
+
constructor(service: ProjectsService);
|
|
5
|
+
list(): Promise<ProjectDto[]>;
|
|
6
|
+
getById(id: string): Promise<ProjectDto>;
|
|
7
|
+
create(body: {
|
|
8
|
+
name: string;
|
|
9
|
+
rootPath: string;
|
|
10
|
+
stack?: string[];
|
|
11
|
+
}): Promise<ProjectDto>;
|
|
12
|
+
delete(id: string): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=projects.controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projects.controller.d.ts","sourceRoot":"","sources":["../../src/projects/projects.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEpE,qBACa,kBAAkB;IACQ,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,eAAe;IAGxE,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAG7B,OAAO,CAAc,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAGrD,MAAM,CAAS,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAG/F,MAAM,CAAc,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CACrD"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
import { Controller, Get, Post, Delete, Param, Body, Inject } from "@nestjs/common";
|
|
14
|
+
import { ProjectsService } from "./projects.service.js";
|
|
15
|
+
let ProjectsController = class ProjectsController {
|
|
16
|
+
constructor(service) {
|
|
17
|
+
this.service = service;
|
|
18
|
+
}
|
|
19
|
+
async list() { return this.service.list(); }
|
|
20
|
+
async getById(id) { return this.service.getById(id); }
|
|
21
|
+
async create(body) { return this.service.create(body); }
|
|
22
|
+
async delete(id) { return this.service.delete(id); }
|
|
23
|
+
};
|
|
24
|
+
__decorate([
|
|
25
|
+
Get(),
|
|
26
|
+
__metadata("design:type", Function),
|
|
27
|
+
__metadata("design:paramtypes", []),
|
|
28
|
+
__metadata("design:returntype", Promise)
|
|
29
|
+
], ProjectsController.prototype, "list", null);
|
|
30
|
+
__decorate([
|
|
31
|
+
Get(":id"),
|
|
32
|
+
__param(0, Param("id")),
|
|
33
|
+
__metadata("design:type", Function),
|
|
34
|
+
__metadata("design:paramtypes", [String]),
|
|
35
|
+
__metadata("design:returntype", Promise)
|
|
36
|
+
], ProjectsController.prototype, "getById", null);
|
|
37
|
+
__decorate([
|
|
38
|
+
Post(),
|
|
39
|
+
__param(0, Body()),
|
|
40
|
+
__metadata("design:type", Function),
|
|
41
|
+
__metadata("design:paramtypes", [Object]),
|
|
42
|
+
__metadata("design:returntype", Promise)
|
|
43
|
+
], ProjectsController.prototype, "create", null);
|
|
44
|
+
__decorate([
|
|
45
|
+
Delete(":id"),
|
|
46
|
+
__param(0, Param("id")),
|
|
47
|
+
__metadata("design:type", Function),
|
|
48
|
+
__metadata("design:paramtypes", [String]),
|
|
49
|
+
__metadata("design:returntype", Promise)
|
|
50
|
+
], ProjectsController.prototype, "delete", null);
|
|
51
|
+
ProjectsController = __decorate([
|
|
52
|
+
Controller("projects"),
|
|
53
|
+
__param(0, Inject(ProjectsService)),
|
|
54
|
+
__metadata("design:paramtypes", [ProjectsService])
|
|
55
|
+
], ProjectsController);
|
|
56
|
+
export { ProjectsController };
|
|
57
|
+
//# sourceMappingURL=projects.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projects.controller.js","sourceRoot":"","sources":["../../src/projects/projects.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAE,eAAe,EAAc,MAAM,uBAAuB,CAAC;AAG7D,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YAAsD,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IAAG,CAAC;IAG5E,AAAN,KAAK,CAAC,IAAI,KAA4B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAG7D,AAAN,KAAK,CAAC,OAAO,CAAc,EAAU,IAAyB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAG1F,AAAN,KAAK,CAAC,MAAM,CAAS,IAA0D,IAAyB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAGrI,AAAN,KAAK,CAAC,MAAM,CAAc,EAAU,IAAmB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CACzF,CAAA;AAVO;IADL,GAAG,EAAE;;;;8CAC6D;AAG7D;IADL,GAAG,CAAC,KAAK,CAAC;IACI,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;iDAAsE;AAG1F;IADL,IAAI,EAAE;IACO,WAAA,IAAI,EAAE,CAAA;;;;gDAAuH;AAGrI;IADL,MAAM,CAAC,KAAK,CAAC;IACA,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;gDAA+D;AAb7E,kBAAkB;IAD9B,UAAU,CAAC,UAAU,CAAC;IAER,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;qCAA2B,eAAe;GADnE,kBAAkB,CAc9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projects.module.d.ts","sourceRoot":"","sources":["../../src/projects/projects.module.ts"],"names":[],"mappings":"AAIA,qBACa,cAAc;CAAG"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { Module } from "@nestjs/common";
|
|
8
|
+
import { ProjectsService } from "./projects.service.js";
|
|
9
|
+
import { ProjectsController } from "./projects.controller.js";
|
|
10
|
+
let ProjectsModule = class ProjectsModule {
|
|
11
|
+
};
|
|
12
|
+
ProjectsModule = __decorate([
|
|
13
|
+
Module({ controllers: [ProjectsController], providers: [ProjectsService], exports: [ProjectsService] })
|
|
14
|
+
], ProjectsModule);
|
|
15
|
+
export { ProjectsModule };
|
|
16
|
+
//# sourceMappingURL=projects.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projects.module.js","sourceRoot":"","sources":["../../src/projects/projects.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGvD,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,cAAc;IAD1B,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,kBAAkB,CAAC,EAAE,SAAS,EAAE,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;GAC3F,cAAc,CAAG"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface ProjectDto {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
rootPath: string;
|
|
5
|
+
stack?: string[];
|
|
6
|
+
createdAt: number;
|
|
7
|
+
}
|
|
8
|
+
export declare class ProjectsService {
|
|
9
|
+
private projects;
|
|
10
|
+
list(): Promise<ProjectDto[]>;
|
|
11
|
+
getById(id: string): Promise<ProjectDto>;
|
|
12
|
+
create(input: {
|
|
13
|
+
name: string;
|
|
14
|
+
rootPath: string;
|
|
15
|
+
stack?: string[];
|
|
16
|
+
}): Promise<ProjectDto>;
|
|
17
|
+
delete(id: string): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=projects.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projects.service.d.ts","sourceRoot":"","sources":["../../src/projects/projects.service.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBACa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAiC;IAE3C,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAI7B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAMxC,MAAM,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAOxF,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAIxC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { Injectable, NotFoundException } from "@nestjs/common";
|
|
8
|
+
import { ErrorCode } from "../common/error-codes.js";
|
|
9
|
+
let ProjectsService = class ProjectsService {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.projects = new Map();
|
|
12
|
+
}
|
|
13
|
+
async list() {
|
|
14
|
+
return Array.from(this.projects.values());
|
|
15
|
+
}
|
|
16
|
+
async getById(id) {
|
|
17
|
+
const p = this.projects.get(id);
|
|
18
|
+
if (!p)
|
|
19
|
+
throw new NotFoundException({ error: { code: ErrorCode.PROJECT_NOT_FOUND, message: `Project "${id}" not found`, details: {} } });
|
|
20
|
+
return p;
|
|
21
|
+
}
|
|
22
|
+
async create(input) {
|
|
23
|
+
const id = `proj_${Date.now()}_${Math.random().toString(36).slice(2, 7)}`;
|
|
24
|
+
const project = { id, name: input.name, rootPath: input.rootPath, stack: input.stack, createdAt: Date.now() };
|
|
25
|
+
this.projects.set(id, project);
|
|
26
|
+
return project;
|
|
27
|
+
}
|
|
28
|
+
async delete(id) {
|
|
29
|
+
if (!this.projects.has(id))
|
|
30
|
+
throw new NotFoundException({ error: { code: ErrorCode.PROJECT_NOT_FOUND, message: `Project "${id}" not found`, details: {} } });
|
|
31
|
+
this.projects.delete(id);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
ProjectsService = __decorate([
|
|
35
|
+
Injectable()
|
|
36
|
+
], ProjectsService);
|
|
37
|
+
export { ProjectsService };
|
|
38
|
+
//# sourceMappingURL=projects.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projects.service.js","sourceRoot":"","sources":["../../src/projects/projects.service.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAW9C,IAAM,eAAe,GAArB,MAAM,eAAe;IAArB;QACG,aAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;IAuBnD,CAAC;IArBC,KAAK,CAAC,IAAI;QACR,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,iBAAiB,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACzI,OAAO,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAA2D;QACtE,MAAM,EAAE,GAAG,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC1E,MAAM,OAAO,GAAe,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAC1H,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC/B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,iBAAiB,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7J,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;CACF,CAAA;AAxBY,eAAe;IAD3B,UAAU,EAAE;GACA,eAAe,CAwB3B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { RegistryService } from "./registry.service.js";
|
|
2
|
+
export declare class RegistryController {
|
|
3
|
+
private readonly service;
|
|
4
|
+
constructor(service: RegistryService);
|
|
5
|
+
list(search?: string, tag?: string): Promise<import("./registry.service.js").PluginMeta[]>;
|
|
6
|
+
getByName(name: string): Promise<import("./registry.service.js").PluginMeta>;
|
|
7
|
+
publish(body: {
|
|
8
|
+
npmPackage: string;
|
|
9
|
+
version: string;
|
|
10
|
+
description: string;
|
|
11
|
+
tags?: string[];
|
|
12
|
+
}): Promise<import("./registry.service.js").PluginMeta>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=registry.controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.controller.d.ts","sourceRoot":"","sources":["../../src/registry/registry.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,qBACa,kBAAkB;IACQ,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,eAAe;IAGxE,IAAI,CAAkB,MAAM,CAAC,EAAE,MAAM,EAAgB,GAAG,CAAC,EAAE,MAAM;IAKjE,SAAS,CAAgB,IAAI,EAAE,MAAM;IAKrC,OAAO,CAAS,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE;CAG1G"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
import { Controller, Get, Post, Param, Query, Body, Inject } from "@nestjs/common";
|
|
14
|
+
import { RegistryService } from "./registry.service.js";
|
|
15
|
+
let RegistryController = class RegistryController {
|
|
16
|
+
constructor(service) {
|
|
17
|
+
this.service = service;
|
|
18
|
+
}
|
|
19
|
+
async list(search, tag) {
|
|
20
|
+
return this.service.list(search, tag);
|
|
21
|
+
}
|
|
22
|
+
async getByName(name) {
|
|
23
|
+
return this.service.getByName(name);
|
|
24
|
+
}
|
|
25
|
+
async publish(body) {
|
|
26
|
+
return this.service.publish(body);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
__decorate([
|
|
30
|
+
Get("plugins"),
|
|
31
|
+
__param(0, Query("search")),
|
|
32
|
+
__param(1, Query("tag")),
|
|
33
|
+
__metadata("design:type", Function),
|
|
34
|
+
__metadata("design:paramtypes", [String, String]),
|
|
35
|
+
__metadata("design:returntype", Promise)
|
|
36
|
+
], RegistryController.prototype, "list", null);
|
|
37
|
+
__decorate([
|
|
38
|
+
Get("plugins/:name"),
|
|
39
|
+
__param(0, Param("name")),
|
|
40
|
+
__metadata("design:type", Function),
|
|
41
|
+
__metadata("design:paramtypes", [String]),
|
|
42
|
+
__metadata("design:returntype", Promise)
|
|
43
|
+
], RegistryController.prototype, "getByName", null);
|
|
44
|
+
__decorate([
|
|
45
|
+
Post("plugins"),
|
|
46
|
+
__param(0, Body()),
|
|
47
|
+
__metadata("design:type", Function),
|
|
48
|
+
__metadata("design:paramtypes", [Object]),
|
|
49
|
+
__metadata("design:returntype", Promise)
|
|
50
|
+
], RegistryController.prototype, "publish", null);
|
|
51
|
+
RegistryController = __decorate([
|
|
52
|
+
Controller("registry"),
|
|
53
|
+
__param(0, Inject(RegistryService)),
|
|
54
|
+
__metadata("design:paramtypes", [RegistryService])
|
|
55
|
+
], RegistryController);
|
|
56
|
+
export { RegistryController };
|
|
57
|
+
//# sourceMappingURL=registry.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.controller.js","sourceRoot":"","sources":["../../src/registry/registry.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGjD,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YAAsD,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IAAG,CAAC;IAG5E,AAAN,KAAK,CAAC,IAAI,CAAkB,MAAe,EAAgB,GAAY;QACrE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IAGK,AAAN,KAAK,CAAC,SAAS,CAAgB,IAAY;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,IAAmF;QACvG,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;CACF,CAAA;AAbO;IADL,GAAG,CAAC,SAAS,CAAC;IACH,WAAA,KAAK,CAAC,QAAQ,CAAC,CAAA;IAAmB,WAAA,KAAK,CAAC,KAAK,CAAC,CAAA;;;;8CAEzD;AAGK;IADL,GAAG,CAAC,eAAe,CAAC;IACJ,WAAA,KAAK,CAAC,MAAM,CAAC,CAAA;;;;mDAE7B;AAGK;IADL,IAAI,CAAC,SAAS,CAAC;IACD,WAAA,IAAI,EAAE,CAAA;;;;iDAEpB;AAhBU,kBAAkB;IAD9B,UAAU,CAAC,UAAU,CAAC;IAER,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;qCAA2B,eAAe;GADnE,kBAAkB,CAiB9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.module.d.ts","sourceRoot":"","sources":["../../src/registry/registry.module.ts"],"names":[],"mappings":"AAIA,qBACa,cAAc;CAAG"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { Module } from "@nestjs/common";
|
|
8
|
+
import { RegistryService } from "./registry.service.js";
|
|
9
|
+
import { RegistryController } from "./registry.controller.js";
|
|
10
|
+
let RegistryModule = class RegistryModule {
|
|
11
|
+
};
|
|
12
|
+
RegistryModule = __decorate([
|
|
13
|
+
Module({ controllers: [RegistryController], providers: [RegistryService], exports: [RegistryService] })
|
|
14
|
+
], RegistryModule);
|
|
15
|
+
export { RegistryModule };
|
|
16
|
+
//# sourceMappingURL=registry.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.module.js","sourceRoot":"","sources":["../../src/registry/registry.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGvD,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,cAAc;IAD1B,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,kBAAkB,CAAC,EAAE,SAAS,EAAE,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;GAC3F,cAAc,CAAG"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface PluginMeta {
|
|
2
|
+
name: string;
|
|
3
|
+
npmPackage: string;
|
|
4
|
+
version: string;
|
|
5
|
+
description: string;
|
|
6
|
+
tags: string[];
|
|
7
|
+
createdAt: number;
|
|
8
|
+
}
|
|
9
|
+
export declare class RegistryService {
|
|
10
|
+
private plugins;
|
|
11
|
+
list(search?: string, tag?: string): Promise<PluginMeta[]>;
|
|
12
|
+
getByName(name: string): Promise<PluginMeta>;
|
|
13
|
+
publish(input: {
|
|
14
|
+
npmPackage: string;
|
|
15
|
+
version: string;
|
|
16
|
+
description: string;
|
|
17
|
+
tags?: string[];
|
|
18
|
+
}): Promise<PluginMeta>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=registry.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.service.d.ts","sourceRoot":"","sources":["../../src/registry/registry.service.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBACa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAiC;IAE1C,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAY1D,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAM5C,OAAO,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC;CAazH"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { Injectable, NotFoundException } from "@nestjs/common";
|
|
8
|
+
import { ErrorCode } from "../common/error-codes.js";
|
|
9
|
+
let RegistryService = class RegistryService {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.plugins = new Map();
|
|
12
|
+
}
|
|
13
|
+
async list(search, tag) {
|
|
14
|
+
let result = Array.from(this.plugins.values());
|
|
15
|
+
if (search) {
|
|
16
|
+
const q = search.toLowerCase();
|
|
17
|
+
result = result.filter((p) => p.name.toLowerCase().includes(q) || p.description.toLowerCase().includes(q));
|
|
18
|
+
}
|
|
19
|
+
if (tag) {
|
|
20
|
+
result = result.filter((p) => p.tags.includes(tag));
|
|
21
|
+
}
|
|
22
|
+
return result;
|
|
23
|
+
}
|
|
24
|
+
async getByName(name) {
|
|
25
|
+
const p = this.plugins.get(name);
|
|
26
|
+
if (!p)
|
|
27
|
+
throw new NotFoundException({ error: { code: ErrorCode.PLUGIN_NOT_FOUND, message: `Plugin "${name}" not found`, details: {} } });
|
|
28
|
+
return p;
|
|
29
|
+
}
|
|
30
|
+
async publish(input) {
|
|
31
|
+
const name = input.npmPackage.replace(/^@devflow-tools\/plugin-/, "");
|
|
32
|
+
const meta = {
|
|
33
|
+
name,
|
|
34
|
+
npmPackage: input.npmPackage,
|
|
35
|
+
version: input.version,
|
|
36
|
+
description: input.description,
|
|
37
|
+
tags: input.tags ?? [],
|
|
38
|
+
createdAt: Date.now(),
|
|
39
|
+
};
|
|
40
|
+
this.plugins.set(name, meta);
|
|
41
|
+
return meta;
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
RegistryService = __decorate([
|
|
45
|
+
Injectable()
|
|
46
|
+
], RegistryService);
|
|
47
|
+
export { RegistryService };
|
|
48
|
+
//# sourceMappingURL=registry.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.service.js","sourceRoot":"","sources":["../../src/registry/registry.service.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAY9C,IAAM,eAAe,GAArB,MAAM,eAAe;IAArB;QACG,YAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IAiClD,CAAC;IA/BC,KAAK,CAAC,IAAI,CAAC,MAAe,EAAE,GAAY;QACtC,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/C,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YAC/B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7G,CAAC;QACD,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,gBAAgB,EAAE,OAAO,EAAE,WAAW,IAAI,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACzI,OAAO,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAoF;QAChG,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;QACtE,MAAM,IAAI,GAAe;YACvB,IAAI;YACJ,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;YACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAlCY,eAAe;IAD3B,UAAU,EAAE;GACA,eAAe,CAkC3B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { TelemetryService } from "./telemetry.service.js";
|
|
2
|
+
export declare class TelemetryController {
|
|
3
|
+
private readonly service;
|
|
4
|
+
constructor(service: TelemetryService);
|
|
5
|
+
listRuns(limit?: string, offset?: string): Promise<{
|
|
6
|
+
id: any;
|
|
7
|
+
agent: any;
|
|
8
|
+
mode: any;
|
|
9
|
+
status: any;
|
|
10
|
+
startedAt: any;
|
|
11
|
+
tokenUsed: any;
|
|
12
|
+
}[]>;
|
|
13
|
+
getRun(id: string): Promise<any>;
|
|
14
|
+
getTimeline(from?: string, to?: string): Promise<any[]>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=telemetry.controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.controller.d.ts","sourceRoot":"","sources":["../../src/telemetry/telemetry.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,qBACa,mBAAmB;IACQ,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,gBAAgB;IAG1E,QAAQ,CAAiB,KAAK,CAAC,EAAE,MAAM,EAAmB,MAAM,CAAC,EAAE,MAAM;;;;;;;;IAKzE,MAAM,CAAc,EAAE,EAAE,MAAM;IAG9B,WAAW,CAAgB,IAAI,CAAC,EAAE,MAAM,EAAe,EAAE,CAAC,EAAE,MAAM;CAGzE"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
import { Controller, Get, Param, Query, Inject } from "@nestjs/common";
|
|
14
|
+
import { TelemetryService } from "./telemetry.service.js";
|
|
15
|
+
let TelemetryController = class TelemetryController {
|
|
16
|
+
constructor(service) {
|
|
17
|
+
this.service = service;
|
|
18
|
+
}
|
|
19
|
+
async listRuns(limit, offset) {
|
|
20
|
+
return this.service.listRuns(Number(limit) || 20, Number(offset) || 0);
|
|
21
|
+
}
|
|
22
|
+
async getRun(id) { return this.service.getRun(id); }
|
|
23
|
+
async getTimeline(from, to) {
|
|
24
|
+
return this.service.getTimeline(from, to);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
__decorate([
|
|
28
|
+
Get("runs"),
|
|
29
|
+
__param(0, Query("limit")),
|
|
30
|
+
__param(1, Query("offset")),
|
|
31
|
+
__metadata("design:type", Function),
|
|
32
|
+
__metadata("design:paramtypes", [String, String]),
|
|
33
|
+
__metadata("design:returntype", Promise)
|
|
34
|
+
], TelemetryController.prototype, "listRuns", null);
|
|
35
|
+
__decorate([
|
|
36
|
+
Get("runs/:id"),
|
|
37
|
+
__param(0, Param("id")),
|
|
38
|
+
__metadata("design:type", Function),
|
|
39
|
+
__metadata("design:paramtypes", [String]),
|
|
40
|
+
__metadata("design:returntype", Promise)
|
|
41
|
+
], TelemetryController.prototype, "getRun", null);
|
|
42
|
+
__decorate([
|
|
43
|
+
Get("timeline"),
|
|
44
|
+
__param(0, Query("from")),
|
|
45
|
+
__param(1, Query("to")),
|
|
46
|
+
__metadata("design:type", Function),
|
|
47
|
+
__metadata("design:paramtypes", [String, String]),
|
|
48
|
+
__metadata("design:returntype", Promise)
|
|
49
|
+
], TelemetryController.prototype, "getTimeline", null);
|
|
50
|
+
TelemetryController = __decorate([
|
|
51
|
+
Controller(),
|
|
52
|
+
__param(0, Inject(TelemetryService)),
|
|
53
|
+
__metadata("design:paramtypes", [TelemetryService])
|
|
54
|
+
], TelemetryController);
|
|
55
|
+
export { TelemetryController };
|
|
56
|
+
//# sourceMappingURL=telemetry.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.controller.js","sourceRoot":"","sources":["../../src/telemetry/telemetry.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAGnD,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,YAAuD,OAAyB;QAAzB,YAAO,GAAP,OAAO,CAAkB;IAAG,CAAC;IAG9E,AAAN,KAAK,CAAC,QAAQ,CAAiB,KAAc,EAAmB,MAAe;QAC7E,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAc,EAAU,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAGnE,AAAN,KAAK,CAAC,WAAW,CAAgB,IAAa,EAAe,EAAW;QACtE,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;CACF,CAAA;AAXO;IADL,GAAG,CAAC,MAAM,CAAC;IACI,WAAA,KAAK,CAAC,OAAO,CAAC,CAAA;IAAkB,WAAA,KAAK,CAAC,QAAQ,CAAC,CAAA;;;;mDAE9D;AAGK;IADL,GAAG,CAAC,UAAU,CAAC;IACF,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;iDAAgD;AAGnE;IADL,GAAG,CAAC,UAAU,CAAC;IACG,WAAA,KAAK,CAAC,MAAM,CAAC,CAAA;IAAiB,WAAA,KAAK,CAAC,IAAI,CAAC,CAAA;;;;sDAE3D;AAdU,mBAAmB;IAD/B,UAAU,EAAE;IAEE,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;qCAA2B,gBAAgB;GADrE,mBAAmB,CAe/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.module.d.ts","sourceRoot":"","sources":["../../src/telemetry/telemetry.module.ts"],"names":[],"mappings":"AAIA,qBACa,eAAe;CAAG"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { Module } from "@nestjs/common";
|
|
8
|
+
import { TelemetryService } from "./telemetry.service.js";
|
|
9
|
+
import { TelemetryController } from "./telemetry.controller.js";
|
|
10
|
+
let TelemetryModule = class TelemetryModule {
|
|
11
|
+
};
|
|
12
|
+
TelemetryModule = __decorate([
|
|
13
|
+
Module({ controllers: [TelemetryController], providers: [TelemetryService], exports: [TelemetryService] })
|
|
14
|
+
], TelemetryModule);
|
|
15
|
+
export { TelemetryModule };
|
|
16
|
+
//# sourceMappingURL=telemetry.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.module.js","sourceRoot":"","sources":["../../src/telemetry/telemetry.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGzD,IAAM,eAAe,GAArB,MAAM,eAAe;CAAG,CAAA;AAAlB,eAAe;IAD3B,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,mBAAmB,CAAC,EAAE,SAAS,EAAE,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC;GAC9F,eAAe,CAAG"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { TelemetryEngine } from "@devflow-tools/telemetry";
|
|
2
|
+
export declare class TelemetryService {
|
|
3
|
+
engine: TelemetryEngine;
|
|
4
|
+
listRuns(limit: number, offset: number): Promise<{
|
|
5
|
+
id: any;
|
|
6
|
+
agent: any;
|
|
7
|
+
mode: any;
|
|
8
|
+
status: any;
|
|
9
|
+
startedAt: any;
|
|
10
|
+
tokenUsed: any;
|
|
11
|
+
}[]>;
|
|
12
|
+
getRun(id: string): Promise<any>;
|
|
13
|
+
getTimeline(from?: string, to?: string): Promise<any[]>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=telemetry.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.service.d.ts","sourceRoot":"","sources":["../../src/telemetry/telemetry.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,qBACa,gBAAgB;IAC3B,MAAM,kBAAyB;IAEzB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;IAQtC,MAAM,CAAC,EAAE,EAAE,MAAM;IAMjB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM;CAa7C"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { Injectable, NotFoundException } from "@nestjs/common";
|
|
8
|
+
import { TelemetryEngine } from "@devflow-tools/telemetry";
|
|
9
|
+
import { ErrorCode } from "../common/error-codes.js";
|
|
10
|
+
let TelemetryService = class TelemetryService {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.engine = new TelemetryEngine();
|
|
13
|
+
}
|
|
14
|
+
async listRuns(limit, offset) {
|
|
15
|
+
const runs = Array.from(this.engine.runs.values());
|
|
16
|
+
return runs.slice(offset, offset + limit).map((r) => ({
|
|
17
|
+
id: r.meta?.runId ?? "", agent: r.meta?.agent ?? "", mode: r.meta?.mode ?? "",
|
|
18
|
+
status: r.status, startedAt: r.startedAt, tokenUsed: r.tokenUsed,
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
21
|
+
async getRun(id) {
|
|
22
|
+
const run = this.engine.runs.get(id);
|
|
23
|
+
if (!run)
|
|
24
|
+
throw new NotFoundException({ error: { code: ErrorCode.RUN_NOT_FOUND, message: `Run "${id}" not found`, details: {} } });
|
|
25
|
+
return run;
|
|
26
|
+
}
|
|
27
|
+
async getTimeline(from, to) {
|
|
28
|
+
const runs = Array.from(this.engine.runs.values());
|
|
29
|
+
return runs
|
|
30
|
+
.filter((r) => {
|
|
31
|
+
if (from && r.startedAt < Number(from))
|
|
32
|
+
return false;
|
|
33
|
+
if (to && r.startedAt > Number(to))
|
|
34
|
+
return false;
|
|
35
|
+
return true;
|
|
36
|
+
})
|
|
37
|
+
.flatMap((r) => r.steps?.map((s) => ({
|
|
38
|
+
runId: r.meta?.runId, stepId: s.stepId, type: s.type,
|
|
39
|
+
duration: s.duration, timestamp: s.timestamp,
|
|
40
|
+
})) ?? []);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
TelemetryService = __decorate([
|
|
44
|
+
Injectable()
|
|
45
|
+
], TelemetryService);
|
|
46
|
+
export { TelemetryService };
|
|
47
|
+
//# sourceMappingURL=telemetry.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.service.js","sourceRoot":"","sources":["../../src/telemetry/telemetry.service.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAG9C,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAAtB;QACL,WAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IA6BjC,CAAC;IA3BC,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,MAAc;QAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAE,IAAI,CAAC,MAAc,CAAC,IAAI,CAAC,MAAM,EAAE,CAAU,CAAC;QACrE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;YACzD,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE;YAC7E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS;SACjE,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,GAAG,GAAI,IAAI,CAAC,MAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACnI,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAa,EAAE,EAAW;QAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAE,IAAI,CAAC,MAAc,CAAC,IAAI,CAAC,MAAM,EAAE,CAAU,CAAC;QACrE,OAAO,IAAI;aACR,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE;YACjB,IAAI,IAAI,IAAI,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;YACrD,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;YAC7C,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;YACpD,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS;SAC7C,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACf,CAAC;CACF,CAAA;AA9BY,gBAAgB;IAD5B,UAAU,EAAE;GACA,gBAAgB,CA8B5B"}
|