@octo-cyber/ai 0.5.6 → 0.5.7

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 (175) hide show
  1. package/dist/BranchDecisionEngine.d.ts +73 -0
  2. package/dist/BranchDecisionEngine.d.ts.map +1 -0
  3. package/dist/BranchDecisionEngine.js +195 -0
  4. package/dist/BranchDecisionEngine.js.map +1 -0
  5. package/dist/agent/coding-tools.d.ts +7 -0
  6. package/dist/agent/coding-tools.d.ts.map +1 -0
  7. package/dist/agent/coding-tools.js +181 -0
  8. package/dist/agent/coding-tools.js.map +1 -0
  9. package/dist/ai.module.d.ts +16 -0
  10. package/dist/ai.module.d.ts.map +1 -0
  11. package/dist/ai.module.js +106 -0
  12. package/dist/ai.module.js.map +1 -0
  13. package/dist/cli/adapters/antigravity.adapter.d.ts +31 -0
  14. package/dist/cli/adapters/antigravity.adapter.d.ts.map +1 -0
  15. package/dist/cli/adapters/antigravity.adapter.js +248 -0
  16. package/dist/cli/adapters/antigravity.adapter.js.map +1 -0
  17. package/dist/cli/adapters/claude-cli.adapter.d.ts +23 -0
  18. package/dist/cli/adapters/claude-cli.adapter.d.ts.map +1 -0
  19. package/dist/cli/adapters/claude-cli.adapter.js +81 -0
  20. package/dist/cli/adapters/claude-cli.adapter.js.map +1 -0
  21. package/dist/cli/adapters/cli-proxy-api.adapter.d.ts +32 -0
  22. package/dist/cli/adapters/cli-proxy-api.adapter.d.ts.map +1 -0
  23. package/dist/cli/adapters/cli-proxy-api.adapter.js +239 -0
  24. package/dist/cli/adapters/cli-proxy-api.adapter.js.map +1 -0
  25. package/dist/cli/adapters/codex-cli.adapter.d.ts +22 -0
  26. package/dist/cli/adapters/codex-cli.adapter.d.ts.map +1 -0
  27. package/dist/cli/adapters/codex-cli.adapter.js +76 -0
  28. package/dist/cli/adapters/codex-cli.adapter.js.map +1 -0
  29. package/dist/cli/adapters/detect-cli.d.ts +11 -0
  30. package/dist/cli/adapters/detect-cli.d.ts.map +1 -0
  31. package/dist/cli/adapters/detect-cli.js +40 -0
  32. package/dist/cli/adapters/detect-cli.js.map +1 -0
  33. package/dist/cli/adapters/gemini-cli.adapter.d.ts +21 -0
  34. package/dist/cli/adapters/gemini-cli.adapter.d.ts.map +1 -0
  35. package/dist/cli/adapters/gemini-cli.adapter.js +72 -0
  36. package/dist/cli/adapters/gemini-cli.adapter.js.map +1 -0
  37. package/dist/cli/adapters/index.d.ts +4 -0
  38. package/dist/cli/adapters/index.d.ts.map +1 -0
  39. package/dist/cli/adapters/index.js +10 -0
  40. package/dist/cli/adapters/index.js.map +1 -0
  41. package/dist/cli/cli-executor.service.d.ts +25 -0
  42. package/dist/cli/cli-executor.service.d.ts.map +1 -0
  43. package/dist/cli/cli-executor.service.js +170 -0
  44. package/dist/cli/cli-executor.service.js.map +1 -0
  45. package/dist/cli/cli-registry.service.d.ts +38 -0
  46. package/dist/cli/cli-registry.service.d.ts.map +1 -0
  47. package/dist/cli/cli-registry.service.js +114 -0
  48. package/dist/cli/cli-registry.service.js.map +1 -0
  49. package/dist/cli/controllers/ai-cli.controller.d.ts +40 -0
  50. package/dist/cli/controllers/ai-cli.controller.d.ts.map +1 -0
  51. package/dist/cli/controllers/ai-cli.controller.js +208 -0
  52. package/dist/cli/controllers/ai-cli.controller.js.map +1 -0
  53. package/dist/cli/index.d.ts +8 -0
  54. package/dist/cli/index.d.ts.map +1 -0
  55. package/dist/cli/index.js +17 -0
  56. package/dist/cli/index.js.map +1 -0
  57. package/dist/cli/types.d.ts +153 -0
  58. package/dist/cli/types.d.ts.map +1 -0
  59. package/dist/cli/types.js +9 -0
  60. package/dist/cli/types.js.map +1 -0
  61. package/dist/cli/workspace.service.d.ts +42 -0
  62. package/dist/cli/workspace.service.d.ts.map +1 -0
  63. package/dist/cli/workspace.service.js +249 -0
  64. package/dist/cli/workspace.service.js.map +1 -0
  65. package/dist/index.d.ts +10 -0
  66. package/dist/index.d.ts.map +1 -0
  67. package/dist/index.js +44 -0
  68. package/dist/index.js.map +1 -0
  69. package/dist/session/claude-code-session-manager.service.d.ts +28 -0
  70. package/dist/session/claude-code-session-manager.service.d.ts.map +1 -0
  71. package/dist/session/claude-code-session-manager.service.js +177 -0
  72. package/dist/session/claude-code-session-manager.service.js.map +1 -0
  73. package/dist/skill/controllers/skill-market.controller.d.ts +18 -0
  74. package/dist/skill/controllers/skill-market.controller.d.ts.map +1 -0
  75. package/dist/skill/controllers/skill-market.controller.js +128 -0
  76. package/dist/skill/controllers/skill-market.controller.js.map +1 -0
  77. package/dist/skill/controllers/skill.controller.d.ts +37 -0
  78. package/dist/skill/controllers/skill.controller.d.ts.map +1 -0
  79. package/dist/skill/controllers/skill.controller.js +295 -0
  80. package/dist/skill/controllers/skill.controller.js.map +1 -0
  81. package/dist/skill/entities/octo-skill.entity.d.ts +22 -0
  82. package/dist/skill/entities/octo-skill.entity.d.ts.map +1 -0
  83. package/dist/skill/entities/octo-skill.entity.js +91 -0
  84. package/dist/skill/entities/octo-skill.entity.js.map +1 -0
  85. package/dist/skill/index.d.ts +9 -0
  86. package/dist/skill/index.d.ts.map +1 -0
  87. package/dist/skill/index.js +21 -0
  88. package/dist/skill/index.js.map +1 -0
  89. package/dist/skill/services/skill-generator.service.d.ts +47 -0
  90. package/dist/skill/services/skill-generator.service.d.ts.map +1 -0
  91. package/dist/skill/services/skill-generator.service.js +232 -0
  92. package/dist/skill/services/skill-generator.service.js.map +1 -0
  93. package/dist/skill/services/skill-installer.service.d.ts +65 -0
  94. package/dist/skill/services/skill-installer.service.d.ts.map +1 -0
  95. package/dist/skill/services/skill-installer.service.js +258 -0
  96. package/dist/skill/services/skill-installer.service.js.map +1 -0
  97. package/dist/skill/services/skill-market.service.d.ts +60 -0
  98. package/dist/skill/services/skill-market.service.d.ts.map +1 -0
  99. package/dist/skill/services/skill-market.service.js +244 -0
  100. package/dist/skill/services/skill-market.service.js.map +1 -0
  101. package/dist/skill/services/skill-registry.service.d.ts +61 -0
  102. package/dist/skill/services/skill-registry.service.d.ts.map +1 -0
  103. package/dist/skill/services/skill-registry.service.js +159 -0
  104. package/dist/skill/services/skill-registry.service.js.map +1 -0
  105. package/dist/skill/types.d.ts +76 -0
  106. package/dist/skill/types.d.ts.map +1 -0
  107. package/dist/skill/types.js +6 -0
  108. package/dist/skill/types.js.map +1 -0
  109. package/dist/src/agent/agent-run-persistence.service.d.ts +82 -0
  110. package/dist/src/agent/agent-run-persistence.service.d.ts.map +1 -0
  111. package/dist/src/agent/agent-run-persistence.service.js +171 -0
  112. package/dist/src/agent/agent-run-persistence.service.js.map +1 -0
  113. package/dist/src/agent/agent-run-step.entity.d.ts +23 -0
  114. package/dist/src/agent/agent-run-step.entity.d.ts.map +1 -0
  115. package/dist/src/agent/agent-run-step.entity.js +76 -0
  116. package/dist/src/agent/agent-run-step.entity.js.map +1 -0
  117. package/dist/src/skill/services/skill-market-utils.d.ts +25 -0
  118. package/dist/src/skill/services/skill-market-utils.d.ts.map +1 -0
  119. package/dist/src/skill/services/skill-market-utils.js +22 -0
  120. package/dist/src/skill/services/skill-market-utils.js.map +1 -0
  121. package/dist/src/workflow-design/WorkflowAssembler.d.ts +10 -0
  122. package/dist/src/workflow-design/WorkflowAssembler.d.ts.map +1 -0
  123. package/dist/src/workflow-design/WorkflowAssembler.js +81 -0
  124. package/dist/src/workflow-design/WorkflowAssembler.js.map +1 -0
  125. package/dist/src/workflow-design/n8n-node-templates-data.d.ts +4 -0
  126. package/dist/src/workflow-design/n8n-node-templates-data.d.ts.map +1 -0
  127. package/dist/src/workflow-design/n8n-node-templates-data.js +290 -0
  128. package/dist/src/workflow-design/n8n-node-templates-data.js.map +1 -0
  129. package/dist/workflow-design/DocumentExtractorAgent.d.ts +47 -0
  130. package/dist/workflow-design/DocumentExtractorAgent.d.ts.map +1 -0
  131. package/dist/workflow-design/DocumentExtractorAgent.js +118 -0
  132. package/dist/workflow-design/DocumentExtractorAgent.js.map +1 -0
  133. package/dist/workflow-design/N8nNodeKnowledgeBase.d.ts +26 -0
  134. package/dist/workflow-design/N8nNodeKnowledgeBase.d.ts.map +1 -0
  135. package/dist/workflow-design/N8nNodeKnowledgeBase.js +320 -0
  136. package/dist/workflow-design/N8nNodeKnowledgeBase.js.map +1 -0
  137. package/dist/workflow-design/OctoAgentClient.d.ts +42 -0
  138. package/dist/workflow-design/OctoAgentClient.d.ts.map +1 -0
  139. package/dist/workflow-design/OctoAgentClient.js +166 -0
  140. package/dist/workflow-design/OctoAgentClient.js.map +1 -0
  141. package/dist/workflow-design/WorkflowDesignOrchestrator.d.ts +45 -0
  142. package/dist/workflow-design/WorkflowDesignOrchestrator.d.ts.map +1 -0
  143. package/dist/workflow-design/WorkflowDesignOrchestrator.js +265 -0
  144. package/dist/workflow-design/WorkflowDesignOrchestrator.js.map +1 -0
  145. package/dist/workflow-design/agents/ActionChainAgent.d.ts +9 -0
  146. package/dist/workflow-design/agents/ActionChainAgent.d.ts.map +1 -0
  147. package/dist/workflow-design/agents/ActionChainAgent.js +79 -0
  148. package/dist/workflow-design/agents/ActionChainAgent.js.map +1 -0
  149. package/dist/workflow-design/agents/CodeScriptAgent.d.ts +15 -0
  150. package/dist/workflow-design/agents/CodeScriptAgent.d.ts.map +1 -0
  151. package/dist/workflow-design/agents/CodeScriptAgent.js +96 -0
  152. package/dist/workflow-design/agents/CodeScriptAgent.js.map +1 -0
  153. package/dist/workflow-design/agents/LogicFlowAgent.d.ts +9 -0
  154. package/dist/workflow-design/agents/LogicFlowAgent.d.ts.map +1 -0
  155. package/dist/workflow-design/agents/LogicFlowAgent.js +78 -0
  156. package/dist/workflow-design/agents/LogicFlowAgent.js.map +1 -0
  157. package/dist/workflow-design/agents/TriggerAnalystAgent.d.ts +9 -0
  158. package/dist/workflow-design/agents/TriggerAnalystAgent.d.ts.map +1 -0
  159. package/dist/workflow-design/agents/TriggerAnalystAgent.js +65 -0
  160. package/dist/workflow-design/agents/TriggerAnalystAgent.js.map +1 -0
  161. package/dist/workflow-design/agents/WorkflowValidatorAgent.d.ts +9 -0
  162. package/dist/workflow-design/agents/WorkflowValidatorAgent.d.ts.map +1 -0
  163. package/dist/workflow-design/agents/WorkflowValidatorAgent.js +117 -0
  164. package/dist/workflow-design/agents/WorkflowValidatorAgent.js.map +1 -0
  165. package/dist/workflow-design/index.d.ts +12 -0
  166. package/dist/workflow-design/index.d.ts.map +1 -0
  167. package/dist/workflow-design/index.js +23 -0
  168. package/dist/workflow-design/index.js.map +1 -0
  169. package/dist/workflow-design/types.d.ts +155 -0
  170. package/dist/workflow-design/types.d.ts.map +1 -0
  171. package/dist/workflow-design/types.js +6 -0
  172. package/dist/workflow-design/types.js.map +1 -0
  173. package/package.json +2 -1
  174. package/web/dist/module.iife.js +254 -0
  175. package/web/dynamic-entry.tsx +94 -0
@@ -0,0 +1,249 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.WorkspaceService = void 0;
10
+ const promises_1 = require("node:fs/promises");
11
+ const node_path_1 = require("node:path");
12
+ const node_child_process_1 = require("node:child_process");
13
+ const node_crypto_1 = require("node:crypto");
14
+ const core_1 = require("@octo-cyber/core");
15
+ const METADATA_FILE = '.workspace.json';
16
+ /**
17
+ * Manages workspaces for AI CLI executions.
18
+ *
19
+ * Two workspace types:
20
+ * - **local**: References an existing local directory (no file copying)
21
+ * - **github**: Clones a GitHub repo + branch to a managed directory
22
+ */
23
+ let WorkspaceService = class WorkspaceService {
24
+ logger = core_1.Container.get(core_1.LoggerService);
25
+ basePath = '';
26
+ /** Initialize with base data directory */
27
+ initialize(dataDir) {
28
+ this.basePath = (0, node_path_1.resolve)(dataDir, 'workspaces');
29
+ this.logger.info(`[WorkspaceService] Base path: ${this.basePath}`);
30
+ }
31
+ /** Create a workspace pointing to an existing local directory */
32
+ async createLocalWorkspace(name, localPath, options) {
33
+ const resolvedPath = (0, node_path_1.resolve)(localPath);
34
+ const dirStat = await (0, promises_1.stat)(resolvedPath);
35
+ if (!dirStat.isDirectory()) {
36
+ throw core_1.AppError.badRequest(`Path is not a directory: ${resolvedPath}`);
37
+ }
38
+ const id = `local-${this.slugify(name)}-${(0, node_crypto_1.randomUUID)().slice(0, 8)}`;
39
+ const metaDir = this.resolveMetaPath(id);
40
+ await (0, promises_1.mkdir)(metaDir, { recursive: true });
41
+ const metadata = {
42
+ id,
43
+ type: 'local',
44
+ name,
45
+ description: options?.description,
46
+ localPath: resolvedPath,
47
+ repoUrl: options?.repoUrl,
48
+ branch: options?.branch,
49
+ createdAt: new Date().toISOString(),
50
+ };
51
+ await (0, promises_1.writeFile)((0, node_path_1.join)(metaDir, METADATA_FILE), JSON.stringify(metadata, null, 2));
52
+ return this.metadataToWorkspace(metadata);
53
+ }
54
+ /** Create a workspace by cloning a GitHub repository */
55
+ async createGithubWorkspace(name, repoUrl, branch, description) {
56
+ const id = `github-${this.slugify(name)}-${(0, node_crypto_1.randomUUID)().slice(0, 8)}`;
57
+ const cloneDir = this.resolveClonePath(id);
58
+ await this.gitExec([
59
+ 'clone',
60
+ '--branch', branch,
61
+ '--single-branch',
62
+ '--depth', '1',
63
+ repoUrl,
64
+ cloneDir,
65
+ ]);
66
+ const metadata = {
67
+ id,
68
+ type: 'github',
69
+ name,
70
+ description,
71
+ repoUrl,
72
+ branch,
73
+ createdAt: new Date().toISOString(),
74
+ };
75
+ await (0, promises_1.writeFile)((0, node_path_1.join)(cloneDir, METADATA_FILE), JSON.stringify(metadata, null, 2));
76
+ return this.metadataToWorkspace(metadata);
77
+ }
78
+ /** Pull latest changes for a github workspace */
79
+ async pullWorkspace(id) {
80
+ const ws = await this.getWorkspace(id);
81
+ if (!ws)
82
+ throw core_1.AppError.notFound(`Workspace not found: ${id}`);
83
+ if (ws.type !== 'github')
84
+ throw core_1.AppError.badRequest('Pull is only supported for github workspaces');
85
+ await this.gitExec(['pull'], ws.path);
86
+ this.logger.info(`[WorkspaceService] Pulled workspace: ${id}`);
87
+ }
88
+ /** Get workspace by ID */
89
+ async getWorkspace(id) {
90
+ const cloneDir = this.resolveClonePath(id);
91
+ const fromClone = await this.readWorkspace(cloneDir);
92
+ if (fromClone)
93
+ return fromClone;
94
+ const metaDir = this.resolveMetaPath(id);
95
+ return this.readWorkspace(metaDir);
96
+ }
97
+ /** List all workspaces */
98
+ async listWorkspaces() {
99
+ await this.ensureBaseDir();
100
+ const workspaces = [];
101
+ const metaBase = (0, node_path_1.resolve)(this.basePath, 'meta');
102
+ await (0, promises_1.mkdir)(metaBase, { recursive: true });
103
+ for (const entry of await (0, promises_1.readdir)(metaBase, { withFileTypes: true })) {
104
+ if (!entry.isDirectory())
105
+ continue;
106
+ const ws = await this.readWorkspace((0, node_path_1.join)(metaBase, entry.name));
107
+ if (ws)
108
+ workspaces.push(ws);
109
+ }
110
+ const clonesBase = (0, node_path_1.resolve)(this.basePath, 'clones');
111
+ await (0, promises_1.mkdir)(clonesBase, { recursive: true });
112
+ for (const entry of await (0, promises_1.readdir)(clonesBase, { withFileTypes: true })) {
113
+ if (!entry.isDirectory())
114
+ continue;
115
+ const ws = await this.readWorkspace((0, node_path_1.join)(clonesBase, entry.name));
116
+ if (ws)
117
+ workspaces.push(ws);
118
+ }
119
+ return workspaces;
120
+ }
121
+ /** Delete a workspace */
122
+ async deleteWorkspace(id) {
123
+ const ws = await this.getWorkspace(id);
124
+ if (!ws)
125
+ throw core_1.AppError.notFound(`Workspace not found: ${id}`);
126
+ if (ws.type === 'local') {
127
+ // Only remove metadata, never delete the original directory
128
+ const metaDir = this.resolveMetaPath(id);
129
+ await (0, promises_1.rm)(metaDir, { recursive: true, force: true });
130
+ }
131
+ else {
132
+ // Remove the cloned directory entirely
133
+ const cloneDir = this.resolveClonePath(id);
134
+ await (0, promises_1.rm)(cloneDir, { recursive: true, force: true });
135
+ }
136
+ this.logger.info(`[WorkspaceService] Deleted workspace: ${id} (${ws.type})`);
137
+ }
138
+ /** Detect git info (remote URL + branch) for a given directory */
139
+ async detectGitInfo(dirPath) {
140
+ try {
141
+ const resolvedPath = (0, node_path_1.resolve)(dirPath);
142
+ const dirStat = await (0, promises_1.stat)(resolvedPath);
143
+ if (!dirStat.isDirectory())
144
+ return { isGitRepo: false };
145
+ // Check if it's a git repo
146
+ await this.gitExec(['rev-parse', '--git-dir'], resolvedPath);
147
+ // Get remote URL
148
+ let remoteUrl;
149
+ try {
150
+ remoteUrl = await this.gitExec(['config', '--get', 'remote.origin.url'], resolvedPath);
151
+ }
152
+ catch { /* no remote */ }
153
+ // Get current branch
154
+ let branch;
155
+ try {
156
+ branch = await this.gitExec(['rev-parse', '--abbrev-ref', 'HEAD'], resolvedPath);
157
+ }
158
+ catch { /* detached HEAD */ }
159
+ return { isGitRepo: true, remoteUrl: remoteUrl || undefined, branch: branch || undefined };
160
+ }
161
+ catch {
162
+ return { isGitRepo: false };
163
+ }
164
+ }
165
+ /** Browse directory contents — returns subdirectories at the given path */
166
+ async browseDir(dirPath) {
167
+ const resolvedPath = (0, node_path_1.resolve)(dirPath || '/');
168
+ const entries = [];
169
+ try {
170
+ const items = await (0, promises_1.readdir)(resolvedPath, { withFileTypes: true });
171
+ for (const item of items) {
172
+ if (item.name.startsWith('.'))
173
+ continue; // skip hidden
174
+ if (item.isDirectory()) {
175
+ entries.push({
176
+ name: item.name,
177
+ path: (0, node_path_1.join)(resolvedPath, item.name),
178
+ isDirectory: true,
179
+ });
180
+ }
181
+ }
182
+ }
183
+ catch {
184
+ // Directory not readable
185
+ }
186
+ return entries.sort((a, b) => a.name.localeCompare(b.name));
187
+ }
188
+ // ─── Private ────────────────────────────────────────────────
189
+ resolveMetaPath(id) {
190
+ return (0, node_path_1.resolve)(this.basePath, 'meta', id);
191
+ }
192
+ resolveClonePath(id) {
193
+ return (0, node_path_1.resolve)(this.basePath, 'clones', id);
194
+ }
195
+ async readWorkspace(dir) {
196
+ try {
197
+ const metaPath = (0, node_path_1.join)(dir, METADATA_FILE);
198
+ const raw = await (0, promises_1.readFile)(metaPath, 'utf-8');
199
+ const metadata = JSON.parse(raw);
200
+ return this.metadataToWorkspace(metadata);
201
+ }
202
+ catch {
203
+ return null;
204
+ }
205
+ }
206
+ metadataToWorkspace(metadata) {
207
+ const path = metadata.type === 'local' && metadata.localPath
208
+ ? metadata.localPath
209
+ : this.resolveClonePath(metadata.id);
210
+ return {
211
+ id: metadata.id,
212
+ type: metadata.type,
213
+ name: metadata.name,
214
+ description: metadata.description,
215
+ path,
216
+ createdAt: new Date(metadata.createdAt),
217
+ localPath: metadata.localPath,
218
+ repoUrl: metadata.repoUrl,
219
+ branch: metadata.branch,
220
+ };
221
+ }
222
+ async ensureBaseDir() {
223
+ await (0, promises_1.mkdir)(this.basePath, { recursive: true });
224
+ }
225
+ slugify(name) {
226
+ return name
227
+ .toLowerCase()
228
+ .replace(/[^a-z0-9]+/g, '-')
229
+ .replace(/^-|-$/g, '')
230
+ .slice(0, 30);
231
+ }
232
+ gitExec(args, cwd) {
233
+ return new Promise((resolve, reject) => {
234
+ (0, node_child_process_1.execFile)('git', args, { cwd, timeout: 120_000 }, (err, stdout, stderr) => {
235
+ if (err) {
236
+ reject(new Error(stderr.trim() || err.message));
237
+ }
238
+ else {
239
+ resolve(stdout.trim());
240
+ }
241
+ });
242
+ });
243
+ }
244
+ };
245
+ exports.WorkspaceService = WorkspaceService;
246
+ exports.WorkspaceService = WorkspaceService = __decorate([
247
+ (0, core_1.Service)()
248
+ ], WorkspaceService);
249
+ //# sourceMappingURL=workspace.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.service.js","sourceRoot":"","sources":["../../src/cli/workspace.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export { AiModule } from './ai.module.js';
2
+ export { CliRegistryService, CliExecutorService, WorkspaceService, ClaudeCliAdapter, GeminiCliAdapter, CodexCliAdapter, type CliToolName, type CliToolInfo, type CliExecuteOptions, type CliExecuteResult, type ICliAdapter, type FileInput, type FileOutput, type WorkspaceType, type Workspace, } from './cli/index.js';
3
+ export { AiCliController } from './cli/controllers/ai-cli.controller.js';
4
+ export { OctoSkill, SkillGeneratorService, SkillRegistryService, SkillInstallerService, SkillController, type SkillTarget, type SkillTargetInfo, type SkillSourceType, type SkillGenerateParams, type SkillGenerateResult, type EndpointInfo, } from './skill/index.js';
5
+ export { BranchDecisionEngine, type BranchDecision, type BranchStrategy, type DecisionInput, type RequirementType, } from './BranchDecisionEngine.js';
6
+ export { WorkflowDesignOrchestrator, OctoAgentClient, N8nNodeKnowledgeBase, TriggerAnalystAgent, ActionChainAgent, LogicFlowAgent, CodeScriptAgent, WorkflowValidatorAgent, type Message, type Tool, type TriggerNodeSpec, type ActionNodeSpec, type LogicNodeSpec, type N8nWorkflow, type WorkflowDraft, type ValidationResult, type ModificationScope, type NodeCategory, type NodeTemplate, type ToolDefinition, type AgentRunOptions, } from './workflow-design/index.js';
7
+ export { createCodingTools } from './agent/coding-tools.js';
8
+ export { ClaudeCodeSessionManagerService } from './session/claude-code-session-manager.service.js';
9
+ export { CLAUDE_CODE_SESSION_MANAGER, type IClaudeCodeSessionManager, type ClaudeCodeSession, type ClaudeCodeSessionStatus, type StartSessionOptions, type StopSessionResult, } from '../shared/IClaudeCodeSessionManager.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,SAAS,GACf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAGzE,OAAO,EACL,SAAS,EACT,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,YAAY,GAClB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,eAAe,GACrB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,0BAA0B,EAC1B,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,KAAK,OAAO,EACZ,KAAK,IAAI,EACT,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,EAAE,+BAA+B,EAAE,MAAM,kDAAkD,CAAC;AACnG,OAAO,EACL,2BAA2B,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,GACvB,MAAM,wCAAwC,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CLAUDE_CODE_SESSION_MANAGER = exports.ClaudeCodeSessionManagerService = exports.createCodingTools = exports.WorkflowValidatorAgent = exports.CodeScriptAgent = exports.LogicFlowAgent = exports.ActionChainAgent = exports.TriggerAnalystAgent = exports.N8nNodeKnowledgeBase = exports.OctoAgentClient = exports.WorkflowDesignOrchestrator = exports.BranchDecisionEngine = exports.SkillController = exports.SkillInstallerService = exports.SkillRegistryService = exports.SkillGeneratorService = exports.OctoSkill = exports.AiCliController = exports.CodexCliAdapter = exports.GeminiCliAdapter = exports.ClaudeCliAdapter = exports.WorkspaceService = exports.CliExecutorService = exports.CliRegistryService = exports.AiModule = void 0;
4
+ var ai_module_js_1 = require("./ai.module.js");
5
+ Object.defineProperty(exports, "AiModule", { enumerable: true, get: function () { return ai_module_js_1.AiModule; } });
6
+ // CLI
7
+ var index_js_1 = require("./cli/index.js");
8
+ Object.defineProperty(exports, "CliRegistryService", { enumerable: true, get: function () { return index_js_1.CliRegistryService; } });
9
+ Object.defineProperty(exports, "CliExecutorService", { enumerable: true, get: function () { return index_js_1.CliExecutorService; } });
10
+ Object.defineProperty(exports, "WorkspaceService", { enumerable: true, get: function () { return index_js_1.WorkspaceService; } });
11
+ Object.defineProperty(exports, "ClaudeCliAdapter", { enumerable: true, get: function () { return index_js_1.ClaudeCliAdapter; } });
12
+ Object.defineProperty(exports, "GeminiCliAdapter", { enumerable: true, get: function () { return index_js_1.GeminiCliAdapter; } });
13
+ Object.defineProperty(exports, "CodexCliAdapter", { enumerable: true, get: function () { return index_js_1.CodexCliAdapter; } });
14
+ var ai_cli_controller_js_1 = require("./cli/controllers/ai-cli.controller.js");
15
+ Object.defineProperty(exports, "AiCliController", { enumerable: true, get: function () { return ai_cli_controller_js_1.AiCliController; } });
16
+ // Skill system
17
+ var index_js_2 = require("./skill/index.js");
18
+ Object.defineProperty(exports, "OctoSkill", { enumerable: true, get: function () { return index_js_2.OctoSkill; } });
19
+ Object.defineProperty(exports, "SkillGeneratorService", { enumerable: true, get: function () { return index_js_2.SkillGeneratorService; } });
20
+ Object.defineProperty(exports, "SkillRegistryService", { enumerable: true, get: function () { return index_js_2.SkillRegistryService; } });
21
+ Object.defineProperty(exports, "SkillInstallerService", { enumerable: true, get: function () { return index_js_2.SkillInstallerService; } });
22
+ Object.defineProperty(exports, "SkillController", { enumerable: true, get: function () { return index_js_2.SkillController; } });
23
+ // Self-iteration: branch strategy decision engine
24
+ var BranchDecisionEngine_js_1 = require("./BranchDecisionEngine.js");
25
+ Object.defineProperty(exports, "BranchDecisionEngine", { enumerable: true, get: function () { return BranchDecisionEngine_js_1.BranchDecisionEngine; } });
26
+ // Workflow design multi-agent system
27
+ var index_js_3 = require("./workflow-design/index.js");
28
+ Object.defineProperty(exports, "WorkflowDesignOrchestrator", { enumerable: true, get: function () { return index_js_3.WorkflowDesignOrchestrator; } });
29
+ Object.defineProperty(exports, "OctoAgentClient", { enumerable: true, get: function () { return index_js_3.OctoAgentClient; } });
30
+ Object.defineProperty(exports, "N8nNodeKnowledgeBase", { enumerable: true, get: function () { return index_js_3.N8nNodeKnowledgeBase; } });
31
+ Object.defineProperty(exports, "TriggerAnalystAgent", { enumerable: true, get: function () { return index_js_3.TriggerAnalystAgent; } });
32
+ Object.defineProperty(exports, "ActionChainAgent", { enumerable: true, get: function () { return index_js_3.ActionChainAgent; } });
33
+ Object.defineProperty(exports, "LogicFlowAgent", { enumerable: true, get: function () { return index_js_3.LogicFlowAgent; } });
34
+ Object.defineProperty(exports, "CodeScriptAgent", { enumerable: true, get: function () { return index_js_3.CodeScriptAgent; } });
35
+ Object.defineProperty(exports, "WorkflowValidatorAgent", { enumerable: true, get: function () { return index_js_3.WorkflowValidatorAgent; } });
36
+ // Coding tools (for self-iteration agent sessions)
37
+ var coding_tools_js_1 = require("./agent/coding-tools.js");
38
+ Object.defineProperty(exports, "createCodingTools", { enumerable: true, get: function () { return coding_tools_js_1.createCodingTools; } });
39
+ // Claude Code session manager
40
+ var claude_code_session_manager_service_js_1 = require("./session/claude-code-session-manager.service.js");
41
+ Object.defineProperty(exports, "ClaudeCodeSessionManagerService", { enumerable: true, get: function () { return claude_code_session_manager_service_js_1.ClaudeCodeSessionManagerService; } });
42
+ var IClaudeCodeSessionManager_js_1 = require("../shared/IClaudeCodeSessionManager.js");
43
+ Object.defineProperty(exports, "CLAUDE_CODE_SESSION_MANAGER", { enumerable: true, get: function () { return IClaudeCodeSessionManager_js_1.CLAUDE_CODE_SESSION_MANAGER; } });
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,+CAA0C;AAAjC,wGAAA,QAAQ,OAAA;AAEjB,MAAM;AACN,2CAgBwB;AAftB,8GAAA,kBAAkB,OAAA;AAClB,8GAAA,kBAAkB,OAAA;AAClB,4GAAA,gBAAgB,OAAA;AAChB,4GAAA,gBAAgB,OAAA;AAChB,4GAAA,gBAAgB,OAAA;AAChB,2GAAA,eAAe,OAAA;AAYjB,+EAAyE;AAAhE,uHAAA,eAAe,OAAA;AAExB,eAAe;AACf,6CAY0B;AAXxB,qGAAA,SAAS,OAAA;AACT,iHAAA,qBAAqB,OAAA;AACrB,gHAAA,oBAAoB,OAAA;AACpB,iHAAA,qBAAqB,OAAA;AACrB,2GAAA,eAAe,OAAA;AASjB,kDAAkD;AAClD,qEAMmC;AALjC,+HAAA,oBAAoB,OAAA;AAOtB,qCAAqC;AACrC,uDAsBoC;AArBlC,sHAAA,0BAA0B,OAAA;AAC1B,2GAAA,eAAe,OAAA;AACf,gHAAA,oBAAoB,OAAA;AACpB,+GAAA,mBAAmB,OAAA;AACnB,4GAAA,gBAAgB,OAAA;AAChB,0GAAA,cAAc,OAAA;AACd,2GAAA,eAAe,OAAA;AACf,kHAAA,sBAAsB,OAAA;AAgBxB,mDAAmD;AACnD,2DAA4D;AAAnD,oHAAA,iBAAiB,OAAA;AAE1B,8BAA8B;AAC9B,2GAAmG;AAA1F,yJAAA,+BAA+B,OAAA;AACxC,uFAOgD;AAN9C,2IAAA,2BAA2B,OAAA"}
@@ -0,0 +1,28 @@
1
+ import type { ClaudeCodeSession, IClaudeCodeSessionManager, StartSessionOptions, StopSessionResult } from '../../shared/IClaudeCodeSessionManager.js';
2
+ /**
3
+ * Manages Claude Code agent sessions for the self-iteration pipeline.
4
+ *
5
+ * Implements {@link IClaudeCodeSessionManager} using {@link OctoAgentClient} to
6
+ * drive a coding agent loop inside a git worktree.
7
+ *
8
+ * Sessions are stored in-memory. On a server restart, sessions are lost but
9
+ * WorktreeDispatchService persists the `developing` status so operators can
10
+ * re-dispatch manually.
11
+ *
12
+ * Registration: call `Container.register(ClaudeCodeSessionManagerService, {useValue: new ClaudeCodeSessionManagerService()})`
13
+ * in your module's initialize() to make it available via `Container.get(ClaudeCodeSessionManagerService)`.
14
+ */
15
+ export declare class ClaudeCodeSessionManagerService implements IClaudeCodeSessionManager {
16
+ private readonly sessions;
17
+ private readonly client;
18
+ startSession(options: StartSessionOptions): Promise<ClaudeCodeSession>;
19
+ stopSession(sessionId: string): Promise<StopSessionResult>;
20
+ getSessionStatus(sessionId: string): Promise<ClaudeCodeSession | undefined>;
21
+ listActiveSessions(): Promise<ClaudeCodeSession[]>;
22
+ private findActiveByRequirement;
23
+ private runAgentAsync;
24
+ private markCompleted;
25
+ private markFailed;
26
+ private toSnapshot;
27
+ }
28
+ //# sourceMappingURL=claude-code-session-manager.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code-session-manager.service.d.ts","sourceRoot":"","sources":["../../src/session/claude-code-session-manager.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,2CAA2C,CAAC;AA0CnD;;;;;;;;;;;;GAYG;AACH,qBAAa,+BAAgC,YAAW,yBAAyB;IAC/E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmE;IAE5F,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAI1C,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAuCtE,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmB1D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAK3E,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IASxD,OAAO,CAAC,uBAAuB;YAQjB,aAAa;IA6C3B,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,UAAU;CAMnB"}
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ClaudeCodeSessionManagerService = void 0;
7
+ const node_crypto_1 = require("node:crypto");
8
+ const promises_1 = __importDefault(require("node:fs/promises"));
9
+ const coding_tools_js_1 = require("../agent/coding-tools.js");
10
+ const OctoAgentClient_js_1 = require("../workflow-design/OctoAgentClient.js");
11
+ // ============================================================
12
+ // Constants
13
+ // ============================================================
14
+ const MAX_CONCURRENT_SESSIONS = 3;
15
+ const CODING_AGENT_SYSTEM_PROMPT = `You are an autonomous coding agent working inside a git worktree.
16
+ Your goal is to complete the development task described in the provided TASK.md and then submit a pull request.
17
+
18
+ Work through the task in this order:
19
+ 1. Call read_file on the TASK.md file to understand the requirements.
20
+ 2. Call read_file on relevant source files to understand the existing code.
21
+ 3. Use file_edit to implement the required changes.
22
+ 4. Call bash("pnpm build") or the appropriate build command to verify the code compiles.
23
+ 5. Call git(["add", "-A"]) followed by git(["commit", "-m", "<message>"]) to commit your changes.
24
+ 6. Call bash("gh pr create --title '<title>' --body '<body>'") to open a pull request.
25
+ 7. In your final text reply, include the PR URL in this exact format: "PR URL: https://github.com/..."
26
+
27
+ Rules:
28
+ - Only modify files inside the worktree directory.
29
+ - Commit messages must follow conventional commits format (e.g. "feat: add login flow").
30
+ - If the build fails, diagnose the error and fix it before committing.
31
+ - Do not modify files outside the scope described in TASK.md.
32
+ `;
33
+ // ============================================================
34
+ // PR URL extraction helper
35
+ // ============================================================
36
+ function extractPrUrl(output) {
37
+ const match = output.match(/PR URL:\s*(https?:\/\/\S+)/i);
38
+ return match?.[1];
39
+ }
40
+ // ============================================================
41
+ // ClaudeCodeSessionManagerService
42
+ // ============================================================
43
+ /**
44
+ * Manages Claude Code agent sessions for the self-iteration pipeline.
45
+ *
46
+ * Implements {@link IClaudeCodeSessionManager} using {@link OctoAgentClient} to
47
+ * drive a coding agent loop inside a git worktree.
48
+ *
49
+ * Sessions are stored in-memory. On a server restart, sessions are lost but
50
+ * WorktreeDispatchService persists the `developing` status so operators can
51
+ * re-dispatch manually.
52
+ *
53
+ * Registration: call `Container.register(ClaudeCodeSessionManagerService, {useValue: new ClaudeCodeSessionManagerService()})`
54
+ * in your module's initialize() to make it available via `Container.get(ClaudeCodeSessionManagerService)`.
55
+ */
56
+ class ClaudeCodeSessionManagerService {
57
+ sessions = new Map();
58
+ // OctoAgentClient reads CLI_PROXY_API_URL from env; no constructor args needed for DI.
59
+ client = new OctoAgentClient_js_1.OctoAgentClient();
60
+ // ── IClaudeCodeSessionManager ────────────────────────────────
61
+ async startSession(options) {
62
+ // Idempotency: return existing active session for the same requirement
63
+ const existing = this.findActiveByRequirement(options.requirementId);
64
+ if (existing)
65
+ return this.toSnapshot(existing);
66
+ // Enforce concurrency limit
67
+ const active = await this.listActiveSessions();
68
+ if (active.length >= MAX_CONCURRENT_SESSIONS) {
69
+ throw new Error(`Cannot start session: concurrency limit (${MAX_CONCURRENT_SESSIONS}) reached`);
70
+ }
71
+ // Validate worktree exists
72
+ try {
73
+ await promises_1.default.access(options.worktreePath);
74
+ }
75
+ catch {
76
+ throw new Error(`Worktree path does not exist: "${options.worktreePath}"`);
77
+ }
78
+ const session = {
79
+ sessionId: (0, node_crypto_1.randomUUID)(),
80
+ requirementId: options.requirementId,
81
+ status: 'starting',
82
+ worktreePath: options.worktreePath,
83
+ branch: options.branch,
84
+ startedAt: new Date(),
85
+ };
86
+ this.sessions.set(session.sessionId, session);
87
+ // Launch agent asynchronously — caller polls via getSessionStatus()
88
+ this.runAgentAsync(session, options).catch((err) => {
89
+ this.markFailed(session.sessionId, err.message ?? String(err));
90
+ });
91
+ return this.toSnapshot(session);
92
+ }
93
+ async stopSession(sessionId) {
94
+ const session = this.sessions.get(sessionId);
95
+ if (!session) {
96
+ return { success: true, finalStatus: 'cancelled' };
97
+ }
98
+ if (session.status === 'completed' || session.status === 'failed' || session.status === 'cancelled') {
99
+ return { success: true, finalStatus: session.status };
100
+ }
101
+ // Signal the running loop to stop on next round
102
+ session._cancelled = true;
103
+ session.status = 'cancelled';
104
+ session.endedAt = new Date();
105
+ return { success: true, finalStatus: 'cancelled' };
106
+ }
107
+ async getSessionStatus(sessionId) {
108
+ const session = this.sessions.get(sessionId);
109
+ return session ? this.toSnapshot(session) : undefined;
110
+ }
111
+ async listActiveSessions() {
112
+ return Array.from(this.sessions.values())
113
+ .filter((s) => s.status === 'starting' || s.status === 'running')
114
+ .sort((a, b) => a.startedAt.getTime() - b.startedAt.getTime())
115
+ .map((s) => this.toSnapshot(s));
116
+ }
117
+ // ── Private helpers ──────────────────────────────────────────
118
+ findActiveByRequirement(requirementId) {
119
+ return Array.from(this.sessions.values()).find((s) => s.requirementId === requirementId &&
120
+ (s.status === 'starting' || s.status === 'running'));
121
+ }
122
+ async runAgentAsync(session, options) {
123
+ session.status = 'running';
124
+ const taskContent = options.taskFilePath
125
+ ? await promises_1.default.readFile(options.taskFilePath, 'utf-8').catch(() => `Complete the development task in ${options.worktreePath} and submit a PR.`)
126
+ : `Complete the development task in ${options.worktreePath} and submit a PR.`;
127
+ const tools = (0, coding_tools_js_1.createCodingTools)(options.worktreePath);
128
+ const result = await this.client.run({
129
+ systemPrompt: CODING_AGENT_SYSTEM_PROMPT,
130
+ userMessage: taskContent,
131
+ tools,
132
+ maxRounds: 20,
133
+ timeoutMs: options.timeoutMs ?? 86_400_000,
134
+ onChunk: (chunk) => {
135
+ // If cancelled mid-run, throw to break the loop
136
+ if (session._cancelled) {
137
+ throw new Error('Session was cancelled');
138
+ }
139
+ // Output is appended for monitoring (stored in snapshot via mutation)
140
+ void chunk;
141
+ },
142
+ });
143
+ if (session._cancelled)
144
+ return;
145
+ const prUrl = extractPrUrl(result);
146
+ if (!prUrl) {
147
+ // Agent finished all rounds but produced no PR URL — treat as failure
148
+ // so WorktreeDispatchService can report dispatch_failed and operators can retry.
149
+ this.markFailed(session.sessionId, 'Agent completed but did not produce a PR URL. Check agent output for details.');
150
+ return;
151
+ }
152
+ this.markCompleted(session.sessionId, prUrl);
153
+ }
154
+ markCompleted(sessionId, prUrl) {
155
+ const session = this.sessions.get(sessionId);
156
+ if (!session)
157
+ return;
158
+ session.status = 'completed';
159
+ session.endedAt = new Date();
160
+ if (prUrl)
161
+ session.prUrl = prUrl;
162
+ }
163
+ markFailed(sessionId, error) {
164
+ const session = this.sessions.get(sessionId);
165
+ if (!session || session.status === 'cancelled')
166
+ return;
167
+ session.status = 'failed';
168
+ session.endedAt = new Date();
169
+ session.error = error;
170
+ }
171
+ toSnapshot(session) {
172
+ const { _cancelled: _, ...snapshot } = session;
173
+ return { ...snapshot };
174
+ }
175
+ }
176
+ exports.ClaudeCodeSessionManagerService = ClaudeCodeSessionManagerService;
177
+ //# sourceMappingURL=claude-code-session-manager.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code-session-manager.service.js","sourceRoot":"","sources":["../../src/session/claude-code-session-manager.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { Request, Response } from '@octo-cyber/core';
2
+ export declare class SkillMarketController {
3
+ private get market();
4
+ private get installer();
5
+ /** GET /api/v1/skill-market/search?q=excel&limit=20 */
6
+ search(req: Request, res: Response): Promise<void>;
7
+ /** GET /api/v1/skill-market/repos — List featured repos. */
8
+ repos(_req: Request, res: Response): Promise<void>;
9
+ /** GET /api/v1/skill-market/repos/:owner/:repo — Browse skills in a repo. */
10
+ browseRepo(req: Request, res: Response): Promise<void>;
11
+ /** GET /api/v1/skill-market/token — Get GitHub token status. */
12
+ getToken(_req: Request, res: Response): void;
13
+ /** PUT /api/v1/skill-market/token — Set GitHub token. */
14
+ setToken(req: Request, res: Response): void;
15
+ /** POST /api/v1/skill-market/install — Download and install a market skill. */
16
+ install(req: Request, res: Response): Promise<void>;
17
+ }
18
+ //# sourceMappingURL=skill-market.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-market.controller.d.ts","sourceRoot":"","sources":["../../../src/skill/controllers/skill-market.controller.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAK1D,qBACa,qBAAqB;IAChC,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,KAAK,SAAS,GAEpB;IAED,uDAAuD;IAKjD,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxD,4DAA4D;IAKtD,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxD,6EAA6E;IAKvE,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5D,gEAAgE;IAKhE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI;IAK5C,yDAAyD;IAKzD,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI;IAO3C,+EAA+E;IAKzE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAoB1D"}