@octo-cyber/ai 0.5.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/ai.module.d.ts +3 -0
- package/dist/ai.module.d.ts.map +1 -0
- package/dist/ai.module.js +40 -0
- package/dist/ai.module.js.map +1 -0
- package/dist/cli/adapters/antigravity.adapter.d.ts +29 -0
- package/dist/cli/adapters/antigravity.adapter.d.ts.map +1 -0
- package/dist/cli/adapters/antigravity.adapter.js +170 -0
- package/dist/cli/adapters/antigravity.adapter.js.map +1 -0
- package/dist/cli/adapters/claude-cli.adapter.d.ts +23 -0
- package/dist/cli/adapters/claude-cli.adapter.d.ts.map +1 -0
- package/dist/cli/adapters/claude-cli.adapter.js +79 -0
- package/dist/cli/adapters/claude-cli.adapter.js.map +1 -0
- package/dist/cli/adapters/codex-cli.adapter.d.ts +22 -0
- package/dist/cli/adapters/codex-cli.adapter.d.ts.map +1 -0
- package/dist/cli/adapters/codex-cli.adapter.js +76 -0
- package/dist/cli/adapters/codex-cli.adapter.js.map +1 -0
- package/dist/cli/adapters/detect-cli.d.ts +11 -0
- package/dist/cli/adapters/detect-cli.d.ts.map +1 -0
- package/dist/cli/adapters/detect-cli.js +40 -0
- package/dist/cli/adapters/detect-cli.js.map +1 -0
- package/dist/cli/adapters/gemini-cli.adapter.d.ts +21 -0
- package/dist/cli/adapters/gemini-cli.adapter.d.ts.map +1 -0
- package/dist/cli/adapters/gemini-cli.adapter.js +72 -0
- package/dist/cli/adapters/gemini-cli.adapter.js.map +1 -0
- package/dist/cli/adapters/index.d.ts +4 -0
- package/dist/cli/adapters/index.d.ts.map +1 -0
- package/dist/cli/adapters/index.js +10 -0
- package/dist/cli/adapters/index.js.map +1 -0
- package/dist/cli/cli-executor.service.d.ts +23 -0
- package/dist/cli/cli-executor.service.d.ts.map +1 -0
- package/dist/cli/cli-executor.service.js +150 -0
- package/dist/cli/cli-executor.service.js.map +1 -0
- package/dist/cli/cli-registry.service.d.ts +38 -0
- package/dist/cli/cli-registry.service.d.ts.map +1 -0
- package/dist/cli/cli-registry.service.js +112 -0
- package/dist/cli/cli-registry.service.js.map +1 -0
- package/dist/cli/controllers/ai-cli.controller.d.ts +36 -0
- package/dist/cli/controllers/ai-cli.controller.d.ts.map +1 -0
- package/dist/cli/controllers/ai-cli.controller.js +179 -0
- package/dist/cli/controllers/ai-cli.controller.js.map +1 -0
- package/dist/cli/index.d.ts +8 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +17 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/types.d.ts +131 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +9 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/cli/workspace.service.d.ts +34 -0
- package/dist/cli/workspace.service.d.ts.map +1 -0
- package/dist/cli/workspace.service.js +194 -0
- package/dist/cli/workspace.service.js.map +1 -0
- package/dist/controllers/agent.controller.d.ts +13 -0
- package/dist/controllers/agent.controller.d.ts.map +1 -0
- package/dist/controllers/agent.controller.js +117 -0
- package/dist/controllers/agent.controller.js.map +1 -0
- package/dist/controllers/capability.controller.d.ts +16 -0
- package/dist/controllers/capability.controller.d.ts.map +1 -0
- package/dist/controllers/capability.controller.js +108 -0
- package/dist/controllers/capability.controller.js.map +1 -0
- package/dist/controllers/client.controller.d.ts +10 -0
- package/dist/controllers/client.controller.d.ts.map +1 -0
- package/dist/controllers/client.controller.js +79 -0
- package/dist/controllers/client.controller.js.map +1 -0
- package/dist/controllers/execution.controller.d.ts +11 -0
- package/dist/controllers/execution.controller.d.ts.map +1 -0
- package/dist/controllers/execution.controller.js +50 -0
- package/dist/controllers/execution.controller.js.map +1 -0
- package/dist/controllers/index.d.ts +5 -0
- package/dist/controllers/index.d.ts.map +1 -0
- package/dist/controllers/index.js +12 -0
- package/dist/controllers/index.js.map +1 -0
- package/dist/entities/agent-binding.entity.d.ts +17 -0
- package/dist/entities/agent-binding.entity.d.ts.map +1 -0
- package/dist/entities/agent-binding.entity.js +64 -0
- package/dist/entities/agent-binding.entity.js.map +1 -0
- package/dist/entities/agent-definition.entity.d.ts +17 -0
- package/dist/entities/agent-definition.entity.d.ts.map +1 -0
- package/dist/entities/agent-definition.entity.js +70 -0
- package/dist/entities/agent-definition.entity.js.map +1 -0
- package/dist/entities/agent-execution.entity.d.ts +23 -0
- package/dist/entities/agent-execution.entity.d.ts.map +1 -0
- package/dist/entities/agent-execution.entity.js +93 -0
- package/dist/entities/agent-execution.entity.js.map +1 -0
- package/dist/entities/agent-instance.entity.d.ts +19 -0
- package/dist/entities/agent-instance.entity.d.ts.map +1 -0
- package/dist/entities/agent-instance.entity.js +76 -0
- package/dist/entities/agent-instance.entity.js.map +1 -0
- package/dist/entities/capability-definition.entity.d.ts +20 -0
- package/dist/entities/capability-definition.entity.d.ts.map +1 -0
- package/dist/entities/capability-definition.entity.js +77 -0
- package/dist/entities/capability-definition.entity.js.map +1 -0
- package/dist/entities/client-registration.entity.d.ts +19 -0
- package/dist/entities/client-registration.entity.d.ts.map +1 -0
- package/dist/entities/client-registration.entity.js +79 -0
- package/dist/entities/client-registration.entity.js.map +1 -0
- package/dist/entities/index.d.ts +7 -0
- package/dist/entities/index.d.ts.map +1 -0
- package/dist/entities/index.js +16 -0
- package/dist/entities/index.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/services/agent.service.d.ts +23 -0
- package/dist/services/agent.service.d.ts.map +1 -0
- package/dist/services/agent.service.js +76 -0
- package/dist/services/agent.service.js.map +1 -0
- package/dist/services/capability-router.service.d.ts +45 -0
- package/dist/services/capability-router.service.d.ts.map +1 -0
- package/dist/services/capability-router.service.js +120 -0
- package/dist/services/capability-router.service.js.map +1 -0
- package/dist/services/client-registration.service.d.ts +27 -0
- package/dist/services/client-registration.service.d.ts.map +1 -0
- package/dist/services/client-registration.service.js +83 -0
- package/dist/services/client-registration.service.js.map +1 -0
- package/dist/services/index.d.ts +5 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +12 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/sync-bridge.service.d.ts +41 -0
- package/dist/services/sync-bridge.service.d.ts.map +1 -0
- package/dist/services/sync-bridge.service.js +118 -0
- package/dist/services/sync-bridge.service.js.map +1 -0
- package/package.json +94 -0
- package/web/components/CliTestDialog.tsx +158 -0
- package/web/index.ts +19 -0
- package/web/manifest.ts +14 -0
- package/web/messages/en-US.json +81 -0
- package/web/messages/zh-CN.json +81 -0
- package/web/pages/AiCliToolsPage.tsx +223 -0
- package/web/pages/WorkspaceSection.tsx +260 -0
- package/web/pages/WorkspacesPage.tsx +397 -0
- package/web/services/ai-cli-service.ts +129 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.CapabilityController = void 0;
|
|
13
|
+
const core_1 = require("@octo/core");
|
|
14
|
+
const capability_router_service_js_1 = require("../services/capability-router.service.js");
|
|
15
|
+
const sync_bridge_service_js_1 = require("../services/sync-bridge.service.js");
|
|
16
|
+
let CapabilityController = class CapabilityController {
|
|
17
|
+
capabilityRouter = core_1.Container.get(capability_router_service_js_1.CapabilityRouterService);
|
|
18
|
+
syncBridge = core_1.Container.get(sync_bridge_service_js_1.SyncBridgeService);
|
|
19
|
+
async list(_req, res) {
|
|
20
|
+
const capabilities = await this.capabilityRouter.findAllCapabilities();
|
|
21
|
+
res.json(core_1.ApiResponse.ok(capabilities));
|
|
22
|
+
}
|
|
23
|
+
async create(req, res) {
|
|
24
|
+
const capability = await this.capabilityRouter.createCapability(req.body);
|
|
25
|
+
res.status(201).json(core_1.ApiResponse.ok(capability, 'Capability created'));
|
|
26
|
+
}
|
|
27
|
+
async update(req, res) {
|
|
28
|
+
const capability = await this.capabilityRouter.updateCapability(Number(req.params.id), req.body);
|
|
29
|
+
if (!capability)
|
|
30
|
+
throw core_1.AppError.notFound('Capability not found');
|
|
31
|
+
res.json(core_1.ApiResponse.ok(capability));
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Execute a capability — routes to an available agent instance.
|
|
35
|
+
* POST /api/capabilities/:code/execute
|
|
36
|
+
*/
|
|
37
|
+
async execute(req, res) {
|
|
38
|
+
const code = req.params.code;
|
|
39
|
+
const { input, preferredClientId, timeoutMs } = req.body;
|
|
40
|
+
// Resolve the best execution target
|
|
41
|
+
const target = await this.capabilityRouter.resolve({
|
|
42
|
+
capabilityCode: code,
|
|
43
|
+
input: input ?? {},
|
|
44
|
+
preferredClientId,
|
|
45
|
+
});
|
|
46
|
+
// Execute via SyncBridge
|
|
47
|
+
const result = await this.syncBridge.executeAndWait(input ?? {}, {
|
|
48
|
+
instanceId: target.agentInstance.id,
|
|
49
|
+
capabilityId: target.capability.id,
|
|
50
|
+
timeoutMs,
|
|
51
|
+
});
|
|
52
|
+
res.json(core_1.ApiResponse.ok(result));
|
|
53
|
+
}
|
|
54
|
+
// --- Binding endpoints ---
|
|
55
|
+
async bind(req, res) {
|
|
56
|
+
const { capabilityId, agentDefinitionId, priority } = req.body;
|
|
57
|
+
const binding = await this.capabilityRouter.bindCapabilityToAgent(capabilityId, agentDefinitionId, priority);
|
|
58
|
+
res.status(201).json(core_1.ApiResponse.ok(binding, 'Capability bound to agent'));
|
|
59
|
+
}
|
|
60
|
+
async unbind(req, res) {
|
|
61
|
+
const { capabilityId, agentDefinitionId } = req.body;
|
|
62
|
+
const result = await this.capabilityRouter.unbindCapabilityFromAgent(capabilityId, agentDefinitionId);
|
|
63
|
+
if (!result)
|
|
64
|
+
throw core_1.AppError.notFound('Binding not found');
|
|
65
|
+
res.json(core_1.ApiResponse.ok(null, 'Capability unbound from agent'));
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
exports.CapabilityController = CapabilityController;
|
|
69
|
+
__decorate([
|
|
70
|
+
(0, core_1.Get)('/'),
|
|
71
|
+
__metadata("design:type", Function),
|
|
72
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
73
|
+
__metadata("design:returntype", Promise)
|
|
74
|
+
], CapabilityController.prototype, "list", null);
|
|
75
|
+
__decorate([
|
|
76
|
+
(0, core_1.Post)('/'),
|
|
77
|
+
__metadata("design:type", Function),
|
|
78
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
79
|
+
__metadata("design:returntype", Promise)
|
|
80
|
+
], CapabilityController.prototype, "create", null);
|
|
81
|
+
__decorate([
|
|
82
|
+
(0, core_1.Put)('/:id'),
|
|
83
|
+
__metadata("design:type", Function),
|
|
84
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
85
|
+
__metadata("design:returntype", Promise)
|
|
86
|
+
], CapabilityController.prototype, "update", null);
|
|
87
|
+
__decorate([
|
|
88
|
+
(0, core_1.Post)('/:code/execute'),
|
|
89
|
+
__metadata("design:type", Function),
|
|
90
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
91
|
+
__metadata("design:returntype", Promise)
|
|
92
|
+
], CapabilityController.prototype, "execute", null);
|
|
93
|
+
__decorate([
|
|
94
|
+
(0, core_1.Post)('/bind'),
|
|
95
|
+
__metadata("design:type", Function),
|
|
96
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
97
|
+
__metadata("design:returntype", Promise)
|
|
98
|
+
], CapabilityController.prototype, "bind", null);
|
|
99
|
+
__decorate([
|
|
100
|
+
(0, core_1.Post)('/unbind'),
|
|
101
|
+
__metadata("design:type", Function),
|
|
102
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
103
|
+
__metadata("design:returntype", Promise)
|
|
104
|
+
], CapabilityController.prototype, "unbind", null);
|
|
105
|
+
exports.CapabilityController = CapabilityController = __decorate([
|
|
106
|
+
(0, core_1.Controller)('/api/capabilities')
|
|
107
|
+
], CapabilityController);
|
|
108
|
+
//# sourceMappingURL=capability.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capability.controller.js","sourceRoot":"","sources":["../../src/controllers/capability.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Request, Response } from '@octo/core';
|
|
2
|
+
export declare class ClientController {
|
|
3
|
+
private clientService;
|
|
4
|
+
list(_req: Request, res: Response): Promise<void>;
|
|
5
|
+
listOnline(_req: Request, res: Response): Promise<void>;
|
|
6
|
+
register(req: Request, res: Response): Promise<void>;
|
|
7
|
+
heartbeat(req: Request, res: Response): Promise<void>;
|
|
8
|
+
unregister(req: Request, res: Response): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=client.controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/client.controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGpD,qBACa,gBAAgB;IAC3B,OAAO,CAAC,aAAa,CAA4C;IAG3D,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAMjD,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvD,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpD,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAWrD,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAK7D"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ClientController = void 0;
|
|
13
|
+
const core_1 = require("@octo/core");
|
|
14
|
+
const client_registration_service_js_1 = require("../services/client-registration.service.js");
|
|
15
|
+
let ClientController = class ClientController {
|
|
16
|
+
clientService = core_1.Container.get(client_registration_service_js_1.ClientRegistrationService);
|
|
17
|
+
async list(_req, res) {
|
|
18
|
+
const clients = await this.clientService.findAll();
|
|
19
|
+
res.json(core_1.ApiResponse.ok(clients));
|
|
20
|
+
}
|
|
21
|
+
async listOnline(_req, res) {
|
|
22
|
+
const clients = await this.clientService.findOnlineClients();
|
|
23
|
+
res.json(core_1.ApiResponse.ok(clients));
|
|
24
|
+
}
|
|
25
|
+
async register(req, res) {
|
|
26
|
+
const client = await this.clientService.register(req.body);
|
|
27
|
+
res.status(201).json(core_1.ApiResponse.ok(client, 'Client registered'));
|
|
28
|
+
}
|
|
29
|
+
async heartbeat(req, res) {
|
|
30
|
+
const { clientId } = req.body;
|
|
31
|
+
const success = await this.clientService.heartbeat(clientId);
|
|
32
|
+
if (success) {
|
|
33
|
+
res.json(core_1.ApiResponse.ok(null, 'Heartbeat received'));
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
res.status(404).json(core_1.ApiResponse.error('Client not found'));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
async unregister(req, res) {
|
|
40
|
+
const { clientId } = req.body;
|
|
41
|
+
await this.clientService.unregister(clientId);
|
|
42
|
+
res.json(core_1.ApiResponse.ok(null, 'Client unregistered'));
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
exports.ClientController = ClientController;
|
|
46
|
+
__decorate([
|
|
47
|
+
(0, core_1.Get)('/'),
|
|
48
|
+
__metadata("design:type", Function),
|
|
49
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
50
|
+
__metadata("design:returntype", Promise)
|
|
51
|
+
], ClientController.prototype, "list", null);
|
|
52
|
+
__decorate([
|
|
53
|
+
(0, core_1.Get)('/online'),
|
|
54
|
+
__metadata("design:type", Function),
|
|
55
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
56
|
+
__metadata("design:returntype", Promise)
|
|
57
|
+
], ClientController.prototype, "listOnline", null);
|
|
58
|
+
__decorate([
|
|
59
|
+
(0, core_1.Post)('/register'),
|
|
60
|
+
__metadata("design:type", Function),
|
|
61
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
62
|
+
__metadata("design:returntype", Promise)
|
|
63
|
+
], ClientController.prototype, "register", null);
|
|
64
|
+
__decorate([
|
|
65
|
+
(0, core_1.Post)('/heartbeat'),
|
|
66
|
+
__metadata("design:type", Function),
|
|
67
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
68
|
+
__metadata("design:returntype", Promise)
|
|
69
|
+
], ClientController.prototype, "heartbeat", null);
|
|
70
|
+
__decorate([
|
|
71
|
+
(0, core_1.Post)('/unregister'),
|
|
72
|
+
__metadata("design:type", Function),
|
|
73
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
74
|
+
__metadata("design:returntype", Promise)
|
|
75
|
+
], ClientController.prototype, "unregister", null);
|
|
76
|
+
exports.ClientController = ClientController = __decorate([
|
|
77
|
+
(0, core_1.Controller)('/api/clients')
|
|
78
|
+
], ClientController);
|
|
79
|
+
//# sourceMappingURL=client.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.controller.js","sourceRoot":"","sources":["../../src/controllers/client.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAA2E;AAE3E,+FAAuF;AAGhF,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IACnB,aAAa,GAAG,gBAAS,CAAC,GAAG,CAAC,0DAAyB,CAAC,CAAC;IAG3D,AAAN,KAAK,CAAC,IAAI,CAAC,IAAa,EAAE,GAAa;QACrC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QACnD,GAAG,CAAC,IAAI,CAAC,kBAAW,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACpC,CAAC;IAGK,AAAN,KAAK,CAAC,UAAU,CAAC,IAAa,EAAE,GAAa;QAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC,kBAAW,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACpC,CAAC;IAGK,AAAN,KAAK,CAAC,QAAQ,CAAC,GAAY,EAAE,GAAa;QACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAW,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACpE,CAAC;IAGK,AAAN,KAAK,CAAC,SAAS,CAAC,GAAY,EAAE,GAAa;QACzC,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAI,OAAO,EAAE,CAAC;YACZ,GAAG,CAAC,IAAI,CAAC,kBAAW,CAAC,EAAE,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAW,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAGK,AAAN,KAAK,CAAC,UAAU,CAAC,GAAY,EAAE,GAAa;QAC1C,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAC9B,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC9C,GAAG,CAAC,IAAI,CAAC,kBAAW,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC;IACxD,CAAC;CACF,CAAA;AAtCY,4CAAgB;AAIrB;IADL,IAAA,UAAG,EAAC,GAAG,CAAC;;;;4CAIR;AAGK;IADL,IAAA,UAAG,EAAC,SAAS,CAAC;;;;kDAId;AAGK;IADL,IAAA,WAAI,EAAC,WAAW,CAAC;;;;gDAIjB;AAGK;IADL,IAAA,WAAI,EAAC,YAAY,CAAC;;;;iDASlB;AAGK;IADL,IAAA,WAAI,EAAC,aAAa,CAAC;;;;kDAKnB;2BArCU,gBAAgB;IAD5B,IAAA,iBAAU,EAAC,cAAc,CAAC;GACd,gBAAgB,CAsC5B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Request, Response } from '@octo/core';
|
|
2
|
+
/**
|
|
3
|
+
* Execution callback endpoints — called by agents
|
|
4
|
+
* to report execution completion or failure.
|
|
5
|
+
*/
|
|
6
|
+
export declare class ExecutionController {
|
|
7
|
+
private syncBridge;
|
|
8
|
+
complete(req: Request, res: Response): Promise<void>;
|
|
9
|
+
fail(req: Request, res: Response): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=execution.controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/execution.controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGpD;;;GAGG;AACH,qBACa,mBAAmB;IAC9B,OAAO,CAAC,UAAU,CAAoC;IAGhD,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpD,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAMvD"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ExecutionController = void 0;
|
|
13
|
+
const core_1 = require("@octo/core");
|
|
14
|
+
const sync_bridge_service_js_1 = require("../services/sync-bridge.service.js");
|
|
15
|
+
/**
|
|
16
|
+
* Execution callback endpoints — called by agents
|
|
17
|
+
* to report execution completion or failure.
|
|
18
|
+
*/
|
|
19
|
+
let ExecutionController = class ExecutionController {
|
|
20
|
+
syncBridge = core_1.Container.get(sync_bridge_service_js_1.SyncBridgeService);
|
|
21
|
+
async complete(req, res) {
|
|
22
|
+
const executionId = Number(req.params.id);
|
|
23
|
+
const { output } = req.body;
|
|
24
|
+
await this.syncBridge.complete(executionId, output ?? {});
|
|
25
|
+
res.json(core_1.ApiResponse.ok(null, 'Execution completed'));
|
|
26
|
+
}
|
|
27
|
+
async fail(req, res) {
|
|
28
|
+
const executionId = Number(req.params.id);
|
|
29
|
+
const { error } = req.body;
|
|
30
|
+
await this.syncBridge.fail(executionId, error ?? 'Unknown error');
|
|
31
|
+
res.json(core_1.ApiResponse.ok(null, 'Execution failed'));
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
exports.ExecutionController = ExecutionController;
|
|
35
|
+
__decorate([
|
|
36
|
+
(0, core_1.Post)('/:id/complete'),
|
|
37
|
+
__metadata("design:type", Function),
|
|
38
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
39
|
+
__metadata("design:returntype", Promise)
|
|
40
|
+
], ExecutionController.prototype, "complete", null);
|
|
41
|
+
__decorate([
|
|
42
|
+
(0, core_1.Post)('/:id/fail'),
|
|
43
|
+
__metadata("design:type", Function),
|
|
44
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
45
|
+
__metadata("design:returntype", Promise)
|
|
46
|
+
], ExecutionController.prototype, "fail", null);
|
|
47
|
+
exports.ExecutionController = ExecutionController = __decorate([
|
|
48
|
+
(0, core_1.Controller)('/api/executions')
|
|
49
|
+
], ExecutionController);
|
|
50
|
+
//# sourceMappingURL=execution.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution.controller.js","sourceRoot":"","sources":["../../src/controllers/execution.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAsE;AAEtE,+EAAuE;AAEvE;;;GAGG;AAEI,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IACtB,UAAU,GAAG,gBAAS,CAAC,GAAG,CAAC,0CAAiB,CAAC,CAAC;IAGhD,AAAN,KAAK,CAAC,QAAQ,CAAC,GAAY,EAAE,GAAa;QACxC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAY,CAAC,CAAC;QACpD,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAC5B,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;QAC1D,GAAG,CAAC,IAAI,CAAC,kBAAW,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC;IACxD,CAAC;IAGK,AAAN,KAAK,CAAC,IAAI,CAAC,GAAY,EAAE,GAAa;QACpC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAY,CAAC,CAAC;QACpD,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAC3B,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,eAAe,CAAC,CAAC;QAClE,GAAG,CAAC,IAAI,CAAC,kBAAW,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC;IACrD,CAAC;CACF,CAAA;AAlBY,kDAAmB;AAIxB;IADL,IAAA,WAAI,EAAC,eAAe,CAAC;;;;mDAMrB;AAGK;IADL,IAAA,WAAI,EAAC,WAAW,CAAC;;;;+CAMjB;8BAjBU,mBAAmB;IAD/B,IAAA,iBAAU,EAAC,iBAAiB,CAAC;GACjB,mBAAmB,CAkB/B"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { AgentController } from './agent.controller.js';
|
|
2
|
+
export { CapabilityController } from './capability.controller.js';
|
|
3
|
+
export { ClientController } from './client.controller.js';
|
|
4
|
+
export { ExecutionController } from './execution.controller.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/controllers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExecutionController = exports.ClientController = exports.CapabilityController = exports.AgentController = void 0;
|
|
4
|
+
var agent_controller_js_1 = require("./agent.controller.js");
|
|
5
|
+
Object.defineProperty(exports, "AgentController", { enumerable: true, get: function () { return agent_controller_js_1.AgentController; } });
|
|
6
|
+
var capability_controller_js_1 = require("./capability.controller.js");
|
|
7
|
+
Object.defineProperty(exports, "CapabilityController", { enumerable: true, get: function () { return capability_controller_js_1.CapabilityController; } });
|
|
8
|
+
var client_controller_js_1 = require("./client.controller.js");
|
|
9
|
+
Object.defineProperty(exports, "ClientController", { enumerable: true, get: function () { return client_controller_js_1.ClientController; } });
|
|
10
|
+
var execution_controller_js_1 = require("./execution.controller.js");
|
|
11
|
+
Object.defineProperty(exports, "ExecutionController", { enumerable: true, get: function () { return execution_controller_js_1.ExecutionController; } });
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/controllers/index.ts"],"names":[],"mappings":";;;AAAA,6DAAwD;AAA/C,sHAAA,eAAe,OAAA;AACxB,uEAAkE;AAAzD,gIAAA,oBAAoB,OAAA;AAC7B,+DAA0D;AAAjD,wHAAA,gBAAgB,OAAA;AACzB,qEAAgE;AAAvD,8HAAA,mBAAmB,OAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AgentDefinition } from './agent-definition.entity.js';
|
|
2
|
+
import { CapabilityDefinition } from './capability-definition.entity.js';
|
|
3
|
+
/**
|
|
4
|
+
* Agent binding — maps a capability to an agent definition.
|
|
5
|
+
* When a capability execution is requested, the system looks up
|
|
6
|
+
* the binding to find which agent should handle it.
|
|
7
|
+
*/
|
|
8
|
+
export declare class AgentBinding {
|
|
9
|
+
id: number;
|
|
10
|
+
capabilityId: number;
|
|
11
|
+
capability: CapabilityDefinition;
|
|
12
|
+
agentDefinitionId: number;
|
|
13
|
+
agentDefinition: AgentDefinition;
|
|
14
|
+
priority: number;
|
|
15
|
+
createdAt: Date;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=agent-binding.entity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-binding.entity.d.ts","sourceRoot":"","sources":["../../src/entities/agent-binding.entity.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEzE;;;;GAIG;AACH,qBACa,YAAY;IAEvB,EAAE,EAAG,MAAM,CAAC;IAGZ,YAAY,EAAG,MAAM,CAAC;IAItB,UAAU,EAAG,oBAAoB,CAAC;IAGlC,iBAAiB,EAAG,MAAM,CAAC;IAI3B,eAAe,EAAG,eAAe,CAAC;IAGlC,QAAQ,EAAG,MAAM,CAAC;IAGlB,SAAS,EAAG,IAAI,CAAC;CAClB"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.AgentBinding = void 0;
|
|
13
|
+
const core_1 = require("@octo/core");
|
|
14
|
+
const agent_definition_entity_js_1 = require("./agent-definition.entity.js");
|
|
15
|
+
const capability_definition_entity_js_1 = require("./capability-definition.entity.js");
|
|
16
|
+
/**
|
|
17
|
+
* Agent binding — maps a capability to an agent definition.
|
|
18
|
+
* When a capability execution is requested, the system looks up
|
|
19
|
+
* the binding to find which agent should handle it.
|
|
20
|
+
*/
|
|
21
|
+
let AgentBinding = class AgentBinding {
|
|
22
|
+
id;
|
|
23
|
+
capabilityId;
|
|
24
|
+
capability;
|
|
25
|
+
agentDefinitionId;
|
|
26
|
+
agentDefinition;
|
|
27
|
+
priority;
|
|
28
|
+
createdAt;
|
|
29
|
+
};
|
|
30
|
+
exports.AgentBinding = AgentBinding;
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, core_1.PrimaryGeneratedColumn)(),
|
|
33
|
+
__metadata("design:type", Number)
|
|
34
|
+
], AgentBinding.prototype, "id", void 0);
|
|
35
|
+
__decorate([
|
|
36
|
+
(0, core_1.Column)({ type: 'integer' }),
|
|
37
|
+
__metadata("design:type", Number)
|
|
38
|
+
], AgentBinding.prototype, "capabilityId", void 0);
|
|
39
|
+
__decorate([
|
|
40
|
+
(0, core_1.ManyToOne)(() => capability_definition_entity_js_1.CapabilityDefinition),
|
|
41
|
+
(0, core_1.JoinColumn)({ name: 'capabilityId' }),
|
|
42
|
+
__metadata("design:type", capability_definition_entity_js_1.CapabilityDefinition)
|
|
43
|
+
], AgentBinding.prototype, "capability", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
(0, core_1.Column)({ type: 'integer' }),
|
|
46
|
+
__metadata("design:type", Number)
|
|
47
|
+
], AgentBinding.prototype, "agentDefinitionId", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
(0, core_1.ManyToOne)(() => agent_definition_entity_js_1.AgentDefinition),
|
|
50
|
+
(0, core_1.JoinColumn)({ name: 'agentDefinitionId' }),
|
|
51
|
+
__metadata("design:type", agent_definition_entity_js_1.AgentDefinition)
|
|
52
|
+
], AgentBinding.prototype, "agentDefinition", void 0);
|
|
53
|
+
__decorate([
|
|
54
|
+
(0, core_1.Column)({ type: 'integer', default: 0 }),
|
|
55
|
+
__metadata("design:type", Number)
|
|
56
|
+
], AgentBinding.prototype, "priority", void 0);
|
|
57
|
+
__decorate([
|
|
58
|
+
(0, core_1.CreateDateColumn)(),
|
|
59
|
+
__metadata("design:type", Date)
|
|
60
|
+
], AgentBinding.prototype, "createdAt", void 0);
|
|
61
|
+
exports.AgentBinding = AgentBinding = __decorate([
|
|
62
|
+
(0, core_1.Entity)('agent_bindings')
|
|
63
|
+
], AgentBinding);
|
|
64
|
+
//# sourceMappingURL=agent-binding.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-binding.entity.js","sourceRoot":"","sources":["../../src/entities/agent-binding.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAOoB;AACpB,6EAA+D;AAC/D,uFAAyE;AAEzE;;;;GAIG;AAEI,IAAM,YAAY,GAAlB,MAAM,YAAY;IAEvB,EAAE,CAAU;IAGZ,YAAY,CAAU;IAItB,UAAU,CAAwB;IAGlC,iBAAiB,CAAU;IAI3B,eAAe,CAAmB;IAGlC,QAAQ,CAAU;IAGlB,SAAS,CAAQ;CAClB,CAAA;AAvBY,oCAAY;AAEvB;IADC,IAAA,6BAAsB,GAAE;;wCACb;AAGZ;IADC,IAAA,aAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;kDACN;AAItB;IAFC,IAAA,gBAAS,EAAC,GAAG,EAAE,CAAC,sDAAoB,CAAC;IACrC,IAAA,iBAAU,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;8BACxB,sDAAoB;gDAAC;AAGlC;IADC,IAAA,aAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;uDACD;AAI3B;IAFC,IAAA,gBAAS,EAAC,GAAG,EAAE,CAAC,4CAAe,CAAC;IAChC,IAAA,iBAAU,EAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;8BACxB,4CAAe;qDAAC;AAGlC;IADC,IAAA,aAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;8CACtB;AAGlB;IADC,IAAA,uBAAgB,GAAE;8BACP,IAAI;+CAAC;uBAtBN,YAAY;IADxB,IAAA,aAAM,EAAC,gBAAgB,CAAC;GACZ,YAAY,CAuBxB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent definition — the blueprint for an agent type.
|
|
3
|
+
* Each definition describes what an agent can do (capabilities)
|
|
4
|
+
* and how it should be configured.
|
|
5
|
+
*/
|
|
6
|
+
export declare class AgentDefinition {
|
|
7
|
+
id: number;
|
|
8
|
+
code: string;
|
|
9
|
+
name: string;
|
|
10
|
+
description: string | null;
|
|
11
|
+
avatar: string | null;
|
|
12
|
+
config: Record<string, unknown> | null;
|
|
13
|
+
enabled: boolean;
|
|
14
|
+
createdAt: Date;
|
|
15
|
+
updatedAt: Date;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=agent-definition.entity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-definition.entity.d.ts","sourceRoot":"","sources":["../../src/entities/agent-definition.entity.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,qBACa,eAAe;IAE1B,EAAE,EAAG,MAAM,CAAC;IAGZ,IAAI,EAAG,MAAM,CAAC;IAGd,IAAI,EAAG,MAAM,CAAC;IAGd,WAAW,EAAG,MAAM,GAAG,IAAI,CAAC;IAG5B,MAAM,EAAG,MAAM,GAAG,IAAI,CAAC;IAGvB,MAAM,EAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAGxC,OAAO,EAAG,OAAO,CAAC;IAGlB,SAAS,EAAG,IAAI,CAAC;IAGjB,SAAS,EAAG,IAAI,CAAC;CAClB"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.AgentDefinition = void 0;
|
|
13
|
+
const core_1 = require("@octo/core");
|
|
14
|
+
/**
|
|
15
|
+
* Agent definition — the blueprint for an agent type.
|
|
16
|
+
* Each definition describes what an agent can do (capabilities)
|
|
17
|
+
* and how it should be configured.
|
|
18
|
+
*/
|
|
19
|
+
let AgentDefinition = class AgentDefinition {
|
|
20
|
+
id;
|
|
21
|
+
code;
|
|
22
|
+
name;
|
|
23
|
+
description;
|
|
24
|
+
avatar;
|
|
25
|
+
config;
|
|
26
|
+
enabled;
|
|
27
|
+
createdAt;
|
|
28
|
+
updatedAt;
|
|
29
|
+
};
|
|
30
|
+
exports.AgentDefinition = AgentDefinition;
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, core_1.PrimaryGeneratedColumn)(),
|
|
33
|
+
__metadata("design:type", Number)
|
|
34
|
+
], AgentDefinition.prototype, "id", void 0);
|
|
35
|
+
__decorate([
|
|
36
|
+
(0, core_1.Column)({ type: 'varchar', unique: true }),
|
|
37
|
+
__metadata("design:type", String)
|
|
38
|
+
], AgentDefinition.prototype, "code", void 0);
|
|
39
|
+
__decorate([
|
|
40
|
+
(0, core_1.Column)({ type: 'varchar' }),
|
|
41
|
+
__metadata("design:type", String)
|
|
42
|
+
], AgentDefinition.prototype, "name", void 0);
|
|
43
|
+
__decorate([
|
|
44
|
+
(0, core_1.Column)({ type: 'text', nullable: true }),
|
|
45
|
+
__metadata("design:type", Object)
|
|
46
|
+
], AgentDefinition.prototype, "description", void 0);
|
|
47
|
+
__decorate([
|
|
48
|
+
(0, core_1.Column)({ type: 'text', nullable: true }),
|
|
49
|
+
__metadata("design:type", Object)
|
|
50
|
+
], AgentDefinition.prototype, "avatar", void 0);
|
|
51
|
+
__decorate([
|
|
52
|
+
(0, core_1.Column)({ type: 'simple-json', nullable: true }),
|
|
53
|
+
__metadata("design:type", Object)
|
|
54
|
+
], AgentDefinition.prototype, "config", void 0);
|
|
55
|
+
__decorate([
|
|
56
|
+
(0, core_1.Column)({ type: 'boolean', default: true }),
|
|
57
|
+
__metadata("design:type", Boolean)
|
|
58
|
+
], AgentDefinition.prototype, "enabled", void 0);
|
|
59
|
+
__decorate([
|
|
60
|
+
(0, core_1.CreateDateColumn)(),
|
|
61
|
+
__metadata("design:type", Date)
|
|
62
|
+
], AgentDefinition.prototype, "createdAt", void 0);
|
|
63
|
+
__decorate([
|
|
64
|
+
(0, core_1.UpdateDateColumn)(),
|
|
65
|
+
__metadata("design:type", Date)
|
|
66
|
+
], AgentDefinition.prototype, "updatedAt", void 0);
|
|
67
|
+
exports.AgentDefinition = AgentDefinition = __decorate([
|
|
68
|
+
(0, core_1.Entity)('agent_definitions')
|
|
69
|
+
], AgentDefinition);
|
|
70
|
+
//# sourceMappingURL=agent-definition.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-definition.entity.js","sourceRoot":"","sources":["../../src/entities/agent-definition.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAMoB;AAEpB;;;;GAIG;AAEI,IAAM,eAAe,GAArB,MAAM,eAAe;IAE1B,EAAE,CAAU;IAGZ,IAAI,CAAU;IAGd,IAAI,CAAU;IAGd,WAAW,CAAiB;IAG5B,MAAM,CAAiB;IAGvB,MAAM,CAAkC;IAGxC,OAAO,CAAW;IAGlB,SAAS,CAAQ;IAGjB,SAAS,CAAQ;CAClB,CAAA;AA3BY,0CAAe;AAE1B;IADC,IAAA,6BAAsB,GAAE;;2CACb;AAGZ;IADC,IAAA,aAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;6CAC5B;AAGd;IADC,IAAA,aAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;6CACd;AAGd;IADC,IAAA,aAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACb;AAG5B;IADC,IAAA,aAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CAClB;AAGvB;IADC,IAAA,aAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACR;AAGxC;IADC,IAAA,aAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;gDACzB;AAGlB;IADC,IAAA,uBAAgB,GAAE;8BACP,IAAI;kDAAC;AAGjB;IADC,IAAA,uBAAgB,GAAE;8BACP,IAAI;kDAAC;0BA1BN,eAAe;IAD3B,IAAA,aAAM,EAAC,mBAAmB,CAAC;GACf,eAAe,CA2B3B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AgentInstance } from './agent-instance.entity.js';
|
|
2
|
+
import { CapabilityDefinition } from './capability-definition.entity.js';
|
|
3
|
+
export type AgentExecutionStatus = 'PENDING' | 'RUNNING' | 'COMPLETED' | 'FAILED' | 'TIMEOUT';
|
|
4
|
+
/**
|
|
5
|
+
* Agent execution — records a single execution of a capability
|
|
6
|
+
* by an agent instance.
|
|
7
|
+
*/
|
|
8
|
+
export declare class AgentExecution {
|
|
9
|
+
id: number;
|
|
10
|
+
instanceId: number | null;
|
|
11
|
+
instance: AgentInstance | null;
|
|
12
|
+
capabilityId: number | null;
|
|
13
|
+
capability: CapabilityDefinition | null;
|
|
14
|
+
status: AgentExecutionStatus;
|
|
15
|
+
input: Record<string, unknown> | null;
|
|
16
|
+
output: Record<string, unknown> | null;
|
|
17
|
+
error: string | null;
|
|
18
|
+
taskInstanceId: number | null;
|
|
19
|
+
durationMs: number;
|
|
20
|
+
createdAt: Date;
|
|
21
|
+
completedAt: Date | null;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=agent-execution.entity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-execution.entity.d.ts","sourceRoot":"","sources":["../../src/entities/agent-execution.entity.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEzE,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE9F;;;GAGG;AACH,qBACa,cAAc;IAEzB,EAAE,EAAG,MAAM,CAAC;IAGZ,UAAU,EAAG,MAAM,GAAG,IAAI,CAAC;IAI3B,QAAQ,EAAG,aAAa,GAAG,IAAI,CAAC;IAGhC,YAAY,EAAG,MAAM,GAAG,IAAI,CAAC;IAI7B,UAAU,EAAG,oBAAoB,GAAG,IAAI,CAAC;IAGzC,MAAM,EAAG,oBAAoB,CAAC;IAG9B,KAAK,EAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAGvC,MAAM,EAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAGxC,KAAK,EAAG,MAAM,GAAG,IAAI,CAAC;IAGtB,cAAc,EAAG,MAAM,GAAG,IAAI,CAAC;IAG/B,UAAU,EAAG,MAAM,CAAC;IAGpB,SAAS,EAAG,IAAI,CAAC;IAGjB,WAAW,EAAG,IAAI,GAAG,IAAI,CAAC;CAC3B"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.AgentExecution = void 0;
|
|
13
|
+
const core_1 = require("@octo/core");
|
|
14
|
+
const agent_instance_entity_js_1 = require("./agent-instance.entity.js");
|
|
15
|
+
const capability_definition_entity_js_1 = require("./capability-definition.entity.js");
|
|
16
|
+
/**
|
|
17
|
+
* Agent execution — records a single execution of a capability
|
|
18
|
+
* by an agent instance.
|
|
19
|
+
*/
|
|
20
|
+
let AgentExecution = class AgentExecution {
|
|
21
|
+
id;
|
|
22
|
+
instanceId;
|
|
23
|
+
instance;
|
|
24
|
+
capabilityId;
|
|
25
|
+
capability;
|
|
26
|
+
status;
|
|
27
|
+
input;
|
|
28
|
+
output;
|
|
29
|
+
error;
|
|
30
|
+
taskInstanceId;
|
|
31
|
+
durationMs;
|
|
32
|
+
createdAt;
|
|
33
|
+
completedAt;
|
|
34
|
+
};
|
|
35
|
+
exports.AgentExecution = AgentExecution;
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, core_1.PrimaryGeneratedColumn)(),
|
|
38
|
+
__metadata("design:type", Number)
|
|
39
|
+
], AgentExecution.prototype, "id", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, core_1.Column)({ type: 'integer', nullable: true }),
|
|
42
|
+
__metadata("design:type", Object)
|
|
43
|
+
], AgentExecution.prototype, "instanceId", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
(0, core_1.ManyToOne)(() => agent_instance_entity_js_1.AgentInstance, { nullable: true }),
|
|
46
|
+
(0, core_1.JoinColumn)({ name: 'instanceId' }),
|
|
47
|
+
__metadata("design:type", Object)
|
|
48
|
+
], AgentExecution.prototype, "instance", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
(0, core_1.Column)({ type: 'integer', nullable: true }),
|
|
51
|
+
__metadata("design:type", Object)
|
|
52
|
+
], AgentExecution.prototype, "capabilityId", void 0);
|
|
53
|
+
__decorate([
|
|
54
|
+
(0, core_1.ManyToOne)(() => capability_definition_entity_js_1.CapabilityDefinition, { nullable: true }),
|
|
55
|
+
(0, core_1.JoinColumn)({ name: 'capabilityId' }),
|
|
56
|
+
__metadata("design:type", Object)
|
|
57
|
+
], AgentExecution.prototype, "capability", void 0);
|
|
58
|
+
__decorate([
|
|
59
|
+
(0, core_1.Column)({ type: 'varchar', default: 'PENDING' }),
|
|
60
|
+
__metadata("design:type", String)
|
|
61
|
+
], AgentExecution.prototype, "status", void 0);
|
|
62
|
+
__decorate([
|
|
63
|
+
(0, core_1.Column)({ type: 'simple-json', nullable: true }),
|
|
64
|
+
__metadata("design:type", Object)
|
|
65
|
+
], AgentExecution.prototype, "input", void 0);
|
|
66
|
+
__decorate([
|
|
67
|
+
(0, core_1.Column)({ type: 'simple-json', nullable: true }),
|
|
68
|
+
__metadata("design:type", Object)
|
|
69
|
+
], AgentExecution.prototype, "output", void 0);
|
|
70
|
+
__decorate([
|
|
71
|
+
(0, core_1.Column)({ type: 'text', nullable: true }),
|
|
72
|
+
__metadata("design:type", Object)
|
|
73
|
+
], AgentExecution.prototype, "error", void 0);
|
|
74
|
+
__decorate([
|
|
75
|
+
(0, core_1.Column)({ type: 'integer', nullable: true }),
|
|
76
|
+
__metadata("design:type", Object)
|
|
77
|
+
], AgentExecution.prototype, "taskInstanceId", void 0);
|
|
78
|
+
__decorate([
|
|
79
|
+
(0, core_1.Column)({ type: 'integer', default: 0 }),
|
|
80
|
+
__metadata("design:type", Number)
|
|
81
|
+
], AgentExecution.prototype, "durationMs", void 0);
|
|
82
|
+
__decorate([
|
|
83
|
+
(0, core_1.CreateDateColumn)(),
|
|
84
|
+
__metadata("design:type", Date)
|
|
85
|
+
], AgentExecution.prototype, "createdAt", void 0);
|
|
86
|
+
__decorate([
|
|
87
|
+
(0, core_1.Column)({ type: 'datetime', nullable: true }),
|
|
88
|
+
__metadata("design:type", Object)
|
|
89
|
+
], AgentExecution.prototype, "completedAt", void 0);
|
|
90
|
+
exports.AgentExecution = AgentExecution = __decorate([
|
|
91
|
+
(0, core_1.Entity)('agent_executions')
|
|
92
|
+
], AgentExecution);
|
|
93
|
+
//# sourceMappingURL=agent-execution.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-execution.entity.js","sourceRoot":"","sources":["../../src/entities/agent-execution.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAOoB;AACpB,yEAA2D;AAC3D,uFAAyE;AAIzE;;;GAGG;AAEI,IAAM,cAAc,GAApB,MAAM,cAAc;IAEzB,EAAE,CAAU;IAGZ,UAAU,CAAiB;IAI3B,QAAQ,CAAwB;IAGhC,YAAY,CAAiB;IAI7B,UAAU,CAA+B;IAGzC,MAAM,CAAwB;IAG9B,KAAK,CAAkC;IAGvC,MAAM,CAAkC;IAGxC,KAAK,CAAiB;IAGtB,cAAc,CAAiB;IAG/B,UAAU,CAAU;IAGpB,SAAS,CAAQ;IAGjB,WAAW,CAAe;CAC3B,CAAA;AAzCY,wCAAc;AAEzB;IADC,IAAA,6BAAsB,GAAE;;0CACb;AAGZ;IADC,IAAA,aAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACjB;AAI3B;IAFC,IAAA,gBAAS,EAAC,GAAG,EAAE,CAAC,wCAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAClD,IAAA,iBAAU,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;;gDACH;AAGhC;IADC,IAAA,aAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACf;AAI7B;IAFC,IAAA,gBAAS,EAAC,GAAG,EAAE,CAAC,sDAAoB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzD,IAAA,iBAAU,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;;kDACI;AAGzC;IADC,IAAA,aAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;;8CAClB;AAG9B;IADC,IAAA,aAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACT;AAGvC;IADC,IAAA,aAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACR;AAGxC;IADC,IAAA,aAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACnB;AAGtB;IADC,IAAA,aAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACb;AAG/B;IADC,IAAA,aAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;kDACpB;AAGpB;IADC,IAAA,uBAAgB,GAAE;8BACP,IAAI;iDAAC;AAGjB;IADC,IAAA,aAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACnB;yBAxCf,cAAc;IAD1B,IAAA,aAAM,EAAC,kBAAkB,CAAC;GACd,cAAc,CAyC1B"}
|