@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.
Files changed (134) hide show
  1. package/dist/ai.module.d.ts +3 -0
  2. package/dist/ai.module.d.ts.map +1 -0
  3. package/dist/ai.module.js +40 -0
  4. package/dist/ai.module.js.map +1 -0
  5. package/dist/cli/adapters/antigravity.adapter.d.ts +29 -0
  6. package/dist/cli/adapters/antigravity.adapter.d.ts.map +1 -0
  7. package/dist/cli/adapters/antigravity.adapter.js +170 -0
  8. package/dist/cli/adapters/antigravity.adapter.js.map +1 -0
  9. package/dist/cli/adapters/claude-cli.adapter.d.ts +23 -0
  10. package/dist/cli/adapters/claude-cli.adapter.d.ts.map +1 -0
  11. package/dist/cli/adapters/claude-cli.adapter.js +79 -0
  12. package/dist/cli/adapters/claude-cli.adapter.js.map +1 -0
  13. package/dist/cli/adapters/codex-cli.adapter.d.ts +22 -0
  14. package/dist/cli/adapters/codex-cli.adapter.d.ts.map +1 -0
  15. package/dist/cli/adapters/codex-cli.adapter.js +76 -0
  16. package/dist/cli/adapters/codex-cli.adapter.js.map +1 -0
  17. package/dist/cli/adapters/detect-cli.d.ts +11 -0
  18. package/dist/cli/adapters/detect-cli.d.ts.map +1 -0
  19. package/dist/cli/adapters/detect-cli.js +40 -0
  20. package/dist/cli/adapters/detect-cli.js.map +1 -0
  21. package/dist/cli/adapters/gemini-cli.adapter.d.ts +21 -0
  22. package/dist/cli/adapters/gemini-cli.adapter.d.ts.map +1 -0
  23. package/dist/cli/adapters/gemini-cli.adapter.js +72 -0
  24. package/dist/cli/adapters/gemini-cli.adapter.js.map +1 -0
  25. package/dist/cli/adapters/index.d.ts +4 -0
  26. package/dist/cli/adapters/index.d.ts.map +1 -0
  27. package/dist/cli/adapters/index.js +10 -0
  28. package/dist/cli/adapters/index.js.map +1 -0
  29. package/dist/cli/cli-executor.service.d.ts +23 -0
  30. package/dist/cli/cli-executor.service.d.ts.map +1 -0
  31. package/dist/cli/cli-executor.service.js +150 -0
  32. package/dist/cli/cli-executor.service.js.map +1 -0
  33. package/dist/cli/cli-registry.service.d.ts +38 -0
  34. package/dist/cli/cli-registry.service.d.ts.map +1 -0
  35. package/dist/cli/cli-registry.service.js +112 -0
  36. package/dist/cli/cli-registry.service.js.map +1 -0
  37. package/dist/cli/controllers/ai-cli.controller.d.ts +36 -0
  38. package/dist/cli/controllers/ai-cli.controller.d.ts.map +1 -0
  39. package/dist/cli/controllers/ai-cli.controller.js +179 -0
  40. package/dist/cli/controllers/ai-cli.controller.js.map +1 -0
  41. package/dist/cli/index.d.ts +8 -0
  42. package/dist/cli/index.d.ts.map +1 -0
  43. package/dist/cli/index.js +17 -0
  44. package/dist/cli/index.js.map +1 -0
  45. package/dist/cli/types.d.ts +131 -0
  46. package/dist/cli/types.d.ts.map +1 -0
  47. package/dist/cli/types.js +9 -0
  48. package/dist/cli/types.js.map +1 -0
  49. package/dist/cli/workspace.service.d.ts +34 -0
  50. package/dist/cli/workspace.service.d.ts.map +1 -0
  51. package/dist/cli/workspace.service.js +194 -0
  52. package/dist/cli/workspace.service.js.map +1 -0
  53. package/dist/controllers/agent.controller.d.ts +13 -0
  54. package/dist/controllers/agent.controller.d.ts.map +1 -0
  55. package/dist/controllers/agent.controller.js +117 -0
  56. package/dist/controllers/agent.controller.js.map +1 -0
  57. package/dist/controllers/capability.controller.d.ts +16 -0
  58. package/dist/controllers/capability.controller.d.ts.map +1 -0
  59. package/dist/controllers/capability.controller.js +108 -0
  60. package/dist/controllers/capability.controller.js.map +1 -0
  61. package/dist/controllers/client.controller.d.ts +10 -0
  62. package/dist/controllers/client.controller.d.ts.map +1 -0
  63. package/dist/controllers/client.controller.js +79 -0
  64. package/dist/controllers/client.controller.js.map +1 -0
  65. package/dist/controllers/execution.controller.d.ts +11 -0
  66. package/dist/controllers/execution.controller.d.ts.map +1 -0
  67. package/dist/controllers/execution.controller.js +50 -0
  68. package/dist/controllers/execution.controller.js.map +1 -0
  69. package/dist/controllers/index.d.ts +5 -0
  70. package/dist/controllers/index.d.ts.map +1 -0
  71. package/dist/controllers/index.js +12 -0
  72. package/dist/controllers/index.js.map +1 -0
  73. package/dist/entities/agent-binding.entity.d.ts +17 -0
  74. package/dist/entities/agent-binding.entity.d.ts.map +1 -0
  75. package/dist/entities/agent-binding.entity.js +64 -0
  76. package/dist/entities/agent-binding.entity.js.map +1 -0
  77. package/dist/entities/agent-definition.entity.d.ts +17 -0
  78. package/dist/entities/agent-definition.entity.d.ts.map +1 -0
  79. package/dist/entities/agent-definition.entity.js +70 -0
  80. package/dist/entities/agent-definition.entity.js.map +1 -0
  81. package/dist/entities/agent-execution.entity.d.ts +23 -0
  82. package/dist/entities/agent-execution.entity.d.ts.map +1 -0
  83. package/dist/entities/agent-execution.entity.js +93 -0
  84. package/dist/entities/agent-execution.entity.js.map +1 -0
  85. package/dist/entities/agent-instance.entity.d.ts +19 -0
  86. package/dist/entities/agent-instance.entity.d.ts.map +1 -0
  87. package/dist/entities/agent-instance.entity.js +76 -0
  88. package/dist/entities/agent-instance.entity.js.map +1 -0
  89. package/dist/entities/capability-definition.entity.d.ts +20 -0
  90. package/dist/entities/capability-definition.entity.d.ts.map +1 -0
  91. package/dist/entities/capability-definition.entity.js +77 -0
  92. package/dist/entities/capability-definition.entity.js.map +1 -0
  93. package/dist/entities/client-registration.entity.d.ts +19 -0
  94. package/dist/entities/client-registration.entity.d.ts.map +1 -0
  95. package/dist/entities/client-registration.entity.js +79 -0
  96. package/dist/entities/client-registration.entity.js.map +1 -0
  97. package/dist/entities/index.d.ts +7 -0
  98. package/dist/entities/index.d.ts.map +1 -0
  99. package/dist/entities/index.js +16 -0
  100. package/dist/entities/index.js.map +1 -0
  101. package/dist/index.d.ts +4 -0
  102. package/dist/index.d.ts.map +1 -0
  103. package/dist/index.js +16 -0
  104. package/dist/index.js.map +1 -0
  105. package/dist/services/agent.service.d.ts +23 -0
  106. package/dist/services/agent.service.d.ts.map +1 -0
  107. package/dist/services/agent.service.js +76 -0
  108. package/dist/services/agent.service.js.map +1 -0
  109. package/dist/services/capability-router.service.d.ts +45 -0
  110. package/dist/services/capability-router.service.d.ts.map +1 -0
  111. package/dist/services/capability-router.service.js +120 -0
  112. package/dist/services/capability-router.service.js.map +1 -0
  113. package/dist/services/client-registration.service.d.ts +27 -0
  114. package/dist/services/client-registration.service.d.ts.map +1 -0
  115. package/dist/services/client-registration.service.js +83 -0
  116. package/dist/services/client-registration.service.js.map +1 -0
  117. package/dist/services/index.d.ts +5 -0
  118. package/dist/services/index.d.ts.map +1 -0
  119. package/dist/services/index.js +12 -0
  120. package/dist/services/index.js.map +1 -0
  121. package/dist/services/sync-bridge.service.d.ts +41 -0
  122. package/dist/services/sync-bridge.service.d.ts.map +1 -0
  123. package/dist/services/sync-bridge.service.js +118 -0
  124. package/dist/services/sync-bridge.service.js.map +1 -0
  125. package/package.json +94 -0
  126. package/web/components/CliTestDialog.tsx +158 -0
  127. package/web/index.ts +19 -0
  128. package/web/manifest.ts +14 -0
  129. package/web/messages/en-US.json +81 -0
  130. package/web/messages/zh-CN.json +81 -0
  131. package/web/pages/AiCliToolsPage.tsx +223 -0
  132. package/web/pages/WorkspaceSection.tsx +260 -0
  133. package/web/pages/WorkspacesPage.tsx +397 -0
  134. 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"}