@bluelibs/runner-dev 4.1.0 → 4.2.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 (154) hide show
  1. package/AI.md +40 -43
  2. package/README.md +70 -0
  3. package/dist/architect/core/errors.d.ts +39 -0
  4. package/dist/architect/core/errors.js +143 -0
  5. package/dist/architect/core/errors.js.map +1 -0
  6. package/dist/architect/core/index.d.ts +3 -0
  7. package/dist/architect/core/index.js +21 -0
  8. package/dist/architect/core/index.js.map +1 -0
  9. package/dist/architect/core/interfaces.d.ts +158 -0
  10. package/dist/architect/core/interfaces.js +3 -0
  11. package/dist/architect/core/interfaces.js.map +1 -0
  12. package/dist/architect/core/types.d.ts +544 -0
  13. package/dist/architect/core/types.js +49 -0
  14. package/dist/architect/core/types.js.map +1 -0
  15. package/dist/architect/execution/executor.d.ts +23 -0
  16. package/dist/architect/execution/executor.js +476 -0
  17. package/dist/architect/execution/executor.js.map +1 -0
  18. package/dist/architect/execution/index.d.ts +1 -0
  19. package/dist/architect/execution/index.js +19 -0
  20. package/dist/architect/execution/index.js.map +1 -0
  21. package/dist/architect/executor.d.ts +7 -0
  22. package/dist/architect/executor.js +150 -0
  23. package/dist/architect/executor.js.map +1 -0
  24. package/dist/architect/index.d.ts +45 -0
  25. package/dist/architect/index.js +76 -0
  26. package/dist/architect/index.js.map +1 -0
  27. package/dist/architect/llmClient.d.ts +10 -0
  28. package/dist/architect/llmClient.js +33 -0
  29. package/dist/architect/llmClient.js.map +1 -0
  30. package/dist/architect/models/base.d.ts +16 -0
  31. package/dist/architect/models/base.js +68 -0
  32. package/dist/architect/models/base.js.map +1 -0
  33. package/dist/architect/models/factory.d.ts +16 -0
  34. package/dist/architect/models/factory.js +73 -0
  35. package/dist/architect/models/factory.js.map +1 -0
  36. package/dist/architect/models/index.d.ts +3 -0
  37. package/dist/architect/models/index.js +21 -0
  38. package/dist/architect/models/index.js.map +1 -0
  39. package/dist/architect/models/openai.d.ts +7 -0
  40. package/dist/architect/models/openai.js +71 -0
  41. package/dist/architect/models/openai.js.map +1 -0
  42. package/dist/architect/planner.d.ts +9 -0
  43. package/dist/architect/planner.js +42 -0
  44. package/dist/architect/planner.js.map +1 -0
  45. package/dist/architect/planning/index.d.ts +4 -0
  46. package/dist/architect/planning/index.js +22 -0
  47. package/dist/architect/planning/index.js.map +1 -0
  48. package/dist/architect/planning/optimizer.d.ts +14 -0
  49. package/dist/architect/planning/optimizer.js +275 -0
  50. package/dist/architect/planning/optimizer.js.map +1 -0
  51. package/dist/architect/planning/planner.d.ts +15 -0
  52. package/dist/architect/planning/planner.js +124 -0
  53. package/dist/architect/planning/planner.js.map +1 -0
  54. package/dist/architect/planning/prompts.d.ts +6 -0
  55. package/dist/architect/planning/prompts.js +111 -0
  56. package/dist/architect/planning/prompts.js.map +1 -0
  57. package/dist/architect/planning/validator.d.ts +16 -0
  58. package/dist/architect/planning/validator.js +331 -0
  59. package/dist/architect/planning/validator.js.map +1 -0
  60. package/dist/architect/prompt.d.ts +1 -0
  61. package/dist/architect/prompt.js +13 -0
  62. package/dist/architect/prompt.js.map +1 -0
  63. package/dist/architect/types.d.ts +4 -0
  64. package/dist/architect/types.js +24 -0
  65. package/dist/architect/types.js.map +1 -0
  66. package/dist/cli/format.d.ts +19 -0
  67. package/dist/cli/format.js +62 -0
  68. package/dist/cli/format.js.map +1 -0
  69. package/dist/cli/init.d.ts +1 -0
  70. package/dist/cli/init.js +279 -0
  71. package/dist/cli/init.js.map +1 -0
  72. package/dist/cli/query.js +69 -0
  73. package/dist/cli/query.js.map +1 -1
  74. package/dist/cli.js +48 -21
  75. package/dist/cli.js.map +1 -1
  76. package/dist/code.d.ts +50 -0
  77. package/dist/code.js +357 -0
  78. package/dist/code.js.map +1 -0
  79. package/dist/generated/resolvers-types.d.ts +150 -29
  80. package/dist/index.d.ts +6 -0
  81. package/dist/index.js +2 -0
  82. package/dist/index.js.map +1 -1
  83. package/dist/resources/cli.config.resource.d.ts +7 -0
  84. package/dist/resources/cli.config.resource.js +11 -0
  85. package/dist/resources/cli.config.resource.js.map +1 -0
  86. package/dist/resources/coverage.resource.d.ts +19 -0
  87. package/dist/resources/coverage.resource.js +213 -0
  88. package/dist/resources/coverage.resource.js.map +1 -0
  89. package/dist/resources/dev.resource.js +0 -2
  90. package/dist/resources/dev.resource.js.map +1 -1
  91. package/dist/resources/graphql.cli.resource.d.ts +4 -0
  92. package/dist/resources/graphql.cli.resource.js +27 -0
  93. package/dist/resources/graphql.cli.resource.js.map +1 -0
  94. package/dist/resources/graphql.query.cli.task.d.ts +47 -0
  95. package/dist/resources/graphql.query.cli.task.js +54 -0
  96. package/dist/resources/graphql.query.cli.task.js.map +1 -0
  97. package/dist/resources/introspector.cli.resource.d.ts +6 -0
  98. package/dist/resources/introspector.cli.resource.js +17 -0
  99. package/dist/resources/introspector.cli.resource.js.map +1 -0
  100. package/dist/resources/live.resource.d.ts +2 -1
  101. package/dist/resources/live.resource.js +4 -2
  102. package/dist/resources/live.resource.js.map +1 -1
  103. package/dist/resources/models/Introspector.d.ts +1 -1
  104. package/dist/resources/models/Introspector.js +5 -34
  105. package/dist/resources/models/Introspector.js.map +1 -1
  106. package/dist/resources/models/initializeFromStore.js +26 -34
  107. package/dist/resources/models/initializeFromStore.js.map +1 -1
  108. package/dist/resources/models/initializeFromStore.utils.js +25 -6
  109. package/dist/resources/models/initializeFromStore.utils.js.map +1 -1
  110. package/dist/resources/models/introspector.tools.js +2 -2
  111. package/dist/resources/models/introspector.tools.js.map +1 -1
  112. package/dist/resources/routeHandlers/getDocsData.d.ts +6 -0
  113. package/dist/resources/routeHandlers/getDocsData.js +106 -0
  114. package/dist/resources/routeHandlers/getDocsData.js.map +1 -1
  115. package/dist/resources/routeHandlers/registerHttpRoutes.hook.d.ts +4 -0
  116. package/dist/resources/routeHandlers/registerHttpRoutes.hook.js +9 -7
  117. package/dist/resources/routeHandlers/registerHttpRoutes.hook.js.map +1 -1
  118. package/dist/resources/server.resource.d.ts +3 -0
  119. package/dist/resources/server.resource.js +8 -1
  120. package/dist/resources/server.resource.js.map +1 -1
  121. package/dist/resources/swap.cli.resource.d.ts +11 -0
  122. package/dist/resources/swap.cli.resource.js +54 -0
  123. package/dist/resources/swap.cli.resource.js.map +1 -0
  124. package/dist/schema/context.d.ts +2 -0
  125. package/dist/schema/model.d.ts +4 -1
  126. package/dist/schema/model.js.map +1 -1
  127. package/dist/schema/mutation.js +38 -0
  128. package/dist/schema/mutation.js.map +1 -1
  129. package/dist/schema/query.js +22 -18
  130. package/dist/schema/query.js.map +1 -1
  131. package/dist/schema/types/BaseElementCommon.d.ts +2 -4
  132. package/dist/schema/types/BaseElementCommon.js +28 -0
  133. package/dist/schema/types/BaseElementCommon.js.map +1 -1
  134. package/dist/schema/types/CoverageType.d.ts +7 -0
  135. package/dist/schema/types/CoverageType.js +54 -0
  136. package/dist/schema/types/CoverageType.js.map +1 -0
  137. package/dist/schema/types/LiveType.js +4 -0
  138. package/dist/schema/types/LiveType.js.map +1 -1
  139. package/dist/schema/types/ResourceType.js +6 -0
  140. package/dist/schema/types/ResourceType.js.map +1 -1
  141. package/dist/schema/types/TagType.js +4 -3
  142. package/dist/schema/types/TagType.js.map +1 -1
  143. package/dist/schema/types/index.d.ts +1 -0
  144. package/dist/schema/types/index.js +3 -1
  145. package/dist/schema/types/index.js.map +1 -1
  146. package/dist/ui/.vite/manifest.json +2 -2
  147. package/dist/ui/assets/docs-DR80KoAA.js +416 -0
  148. package/dist/ui/assets/docs-DR80KoAA.js.map +1 -0
  149. package/dist/ui/assets/docs-WKK9Zcu5.css +1 -0
  150. package/dist/utils/path.js +10 -0
  151. package/dist/utils/path.js.map +1 -1
  152. package/package.json +12 -8
  153. package/dist/ui/assets/docs-DVEzFAJo.css +0 -1
  154. package/dist/ui/assets/docs-l9XdmrRL.js +0 -174
@@ -0,0 +1,476 @@
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.ArchitectExecutor = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const promises_1 = __importDefault(require("fs/promises"));
9
+ const child_process_1 = require("child_process");
10
+ const util_1 = require("util");
11
+ const errors_1 = require("../core/errors");
12
+ const execAsync = (0, util_1.promisify)(child_process_1.execFile);
13
+ class ArchitectExecutor {
14
+ logger;
15
+ defaultOptions;
16
+ executionHistory = new Map();
17
+ constructor(logger, defaultOptions = {}) {
18
+ this.logger = logger;
19
+ this.defaultOptions = defaultOptions;
20
+ }
21
+ async execute(plan, options = {}) {
22
+ const opts = { ...this.defaultOptions, ...options };
23
+ const startTime = Date.now();
24
+ this.logger.info('Starting plan execution', {
25
+ planId: plan.id,
26
+ actionsCount: plan.actions.length,
27
+ dryRun: opts.dryRun
28
+ });
29
+ const result = {
30
+ planId: plan.id,
31
+ success: true,
32
+ executionTime: 0,
33
+ actionsPerformed: 0,
34
+ actionsSkipped: 0,
35
+ logs: [],
36
+ errors: [],
37
+ createdFiles: [],
38
+ modifiedFiles: [],
39
+ deletedFiles: []
40
+ };
41
+ const context = {
42
+ projectRoot: process.cwd(),
43
+ currentDirectory: process.cwd(),
44
+ environment: { ...process.env },
45
+ logger: this.logger
46
+ };
47
+ // Execute actions with concurrency control
48
+ const maxConcurrency = opts.maxConcurrentActions || 1;
49
+ const semaphore = new Array(maxConcurrency).fill(null);
50
+ let currentIndex = 0;
51
+ while (currentIndex < plan.actions.length) {
52
+ const batch = [];
53
+ for (let i = 0; i < maxConcurrency && currentIndex < plan.actions.length; i++) {
54
+ const actionIndex = currentIndex++;
55
+ const action = plan.actions[actionIndex];
56
+ batch.push(this.executeActionWithErrorHandling(action, actionIndex, result, context, opts));
57
+ }
58
+ await Promise.all(batch);
59
+ // Stop execution if we hit critical errors and not continuing on error
60
+ if (!opts.continueOnError && result.errors.some(e => !e.recoverable)) {
61
+ this.logger.warn('Stopping execution due to critical error', { planId: plan.id });
62
+ result.success = false;
63
+ break;
64
+ }
65
+ }
66
+ result.executionTime = Date.now() - startTime;
67
+ result.success = result.success && result.errors.length === 0;
68
+ this.logger.info('Plan execution completed', {
69
+ planId: plan.id,
70
+ success: result.success,
71
+ executionTime: result.executionTime,
72
+ actionsPerformed: result.actionsPerformed,
73
+ actionsSkipped: result.actionsSkipped,
74
+ errorCount: result.errors.length
75
+ });
76
+ this.executionHistory.set(plan.id, result);
77
+ return result;
78
+ }
79
+ async executeAction(action, context) {
80
+ const ctx = context || {
81
+ projectRoot: process.cwd(),
82
+ currentDirectory: process.cwd(),
83
+ environment: { ...process.env },
84
+ logger: this.logger
85
+ };
86
+ try {
87
+ const canExecute = await this.canExecute(action);
88
+ if (!canExecute) {
89
+ throw new errors_1.PermissionError(`Action not allowed: ${action.type}`);
90
+ }
91
+ switch (action.type) {
92
+ case 'createFile':
93
+ case 'updateFile':
94
+ return await this.executeFileAction(action, ctx);
95
+ case 'deleteFile':
96
+ return await this.executeDeleteAction(action, ctx);
97
+ case 'createDirectory':
98
+ return await this.executeDirectoryAction(action, ctx);
99
+ case 'moveFile':
100
+ case 'copyFile':
101
+ return await this.executeFileOperationAction(action, ctx);
102
+ case 'runCommand':
103
+ return await this.executeCommandAction(action, ctx);
104
+ case 'installPackage':
105
+ return await this.executePackageAction(action, ctx);
106
+ case 'registerTask':
107
+ case 'registerTest':
108
+ return await this.executeRegistrationAction(action, ctx);
109
+ case 'log':
110
+ return await this.executeLogAction(action, ctx);
111
+ default:
112
+ throw new errors_1.ExecutionError(`Unknown action type: ${action.type}`);
113
+ }
114
+ }
115
+ catch (error) {
116
+ return {
117
+ success: false,
118
+ error: error instanceof Error ? error.message : String(error),
119
+ logs: [`Error: ${error instanceof Error ? error.message : String(error)}`],
120
+ sideEffects: []
121
+ };
122
+ }
123
+ }
124
+ async canExecute(action) {
125
+ const allowWrites = process.env.ARCHITECT_ALLOW_WRITES === 'true';
126
+ const allowCommands = process.env.ARCHITECT_ALLOW_COMMANDS === 'true';
127
+ const allowPackages = process.env.ARCHITECT_ALLOW_PACKAGES === 'true';
128
+ switch (action.type) {
129
+ case 'createFile':
130
+ case 'updateFile':
131
+ case 'deleteFile':
132
+ case 'createDirectory':
133
+ case 'moveFile':
134
+ case 'copyFile':
135
+ return allowWrites;
136
+ case 'runCommand':
137
+ return allowCommands;
138
+ case 'installPackage':
139
+ return allowPackages;
140
+ case 'registerTask':
141
+ case 'registerTest':
142
+ case 'log':
143
+ return true;
144
+ default:
145
+ return false;
146
+ }
147
+ }
148
+ async rollback(result) {
149
+ this.logger.info('Starting rollback', { planId: result.planId });
150
+ const rollbackResult = {
151
+ success: true,
152
+ actionsRolledBack: 0,
153
+ errors: [],
154
+ warnings: []
155
+ };
156
+ // Reverse the order of side effects to undo them
157
+ const allSideEffects = result.logs
158
+ .map(log => log.sideEffects)
159
+ .filter(Boolean)
160
+ .flat()
161
+ .reverse();
162
+ for (const sideEffect of allSideEffects) {
163
+ try {
164
+ await this.rollbackSideEffect(sideEffect);
165
+ rollbackResult.actionsRolledBack++;
166
+ }
167
+ catch (error) {
168
+ rollbackResult.success = false;
169
+ rollbackResult.errors.push(`Failed to rollback ${sideEffect.type}: ${error instanceof Error ? error.message : String(error)}`);
170
+ }
171
+ }
172
+ this.logger.info('Rollback completed', {
173
+ planId: result.planId,
174
+ success: rollbackResult.success,
175
+ actionsRolledBack: rollbackResult.actionsRolledBack,
176
+ errors: rollbackResult.errors.length
177
+ });
178
+ return rollbackResult;
179
+ }
180
+ async executeActionWithErrorHandling(action, actionIndex, result, context, options) {
181
+ const startTime = Date.now();
182
+ try {
183
+ if (options.dryRun) {
184
+ this.addLog(result, 'info', `[DRY RUN] Would execute ${action.type}`, actionIndex);
185
+ result.actionsSkipped++;
186
+ return;
187
+ }
188
+ const actionResult = await this.executeAction(action, context);
189
+ if (actionResult.success) {
190
+ result.actionsPerformed++;
191
+ this.addLog(result, 'info', actionResult.logs.join('\n'), actionIndex);
192
+ // Track file changes
193
+ actionResult.sideEffects.forEach(sideEffect => {
194
+ switch (sideEffect.type) {
195
+ case 'file_created':
196
+ result.createdFiles?.push(sideEffect.target);
197
+ break;
198
+ case 'file_modified':
199
+ result.modifiedFiles?.push(sideEffect.target);
200
+ break;
201
+ case 'file_deleted':
202
+ result.deletedFiles?.push(sideEffect.target);
203
+ break;
204
+ }
205
+ });
206
+ }
207
+ else {
208
+ result.success = false;
209
+ result.errors?.push({
210
+ actionIndex,
211
+ action,
212
+ error: actionResult.error || 'Unknown error',
213
+ recoverable: this.isRecoverableError(action, actionResult.error || ''),
214
+ stack: undefined
215
+ });
216
+ this.addLog(result, 'error', actionResult.error || 'Action failed', actionIndex);
217
+ }
218
+ }
219
+ catch (error) {
220
+ result.success = false;
221
+ result.errors?.push({
222
+ actionIndex,
223
+ action,
224
+ error: error instanceof Error ? error.message : String(error),
225
+ stack: error instanceof Error ? error.stack : undefined,
226
+ recoverable: this.isRecoverableError(action, error instanceof Error ? error.message : String(error))
227
+ });
228
+ this.addLog(result, 'error', `Execution failed: ${error instanceof Error ? error.message : String(error)}`, actionIndex);
229
+ }
230
+ const executionTime = Date.now() - startTime;
231
+ this.addLog(result, 'info', `Action completed in ${executionTime}ms`, actionIndex);
232
+ }
233
+ async executeFileAction(action, context) {
234
+ const fullPath = path_1.default.resolve(context.projectRoot, action.path);
235
+ const directory = path_1.default.dirname(fullPath);
236
+ // Ensure directory exists
237
+ await promises_1.default.mkdir(directory, { recursive: true });
238
+ const sideEffects = [];
239
+ let existingContent;
240
+ if (action.type === 'updateFile') {
241
+ try {
242
+ existingContent = await promises_1.default.readFile(fullPath, 'utf8');
243
+ sideEffects.push({
244
+ type: 'file_modified',
245
+ target: action.path,
246
+ before: existingContent,
247
+ after: action.content
248
+ });
249
+ }
250
+ catch {
251
+ // File doesn't exist, treat as create
252
+ sideEffects.push({
253
+ type: 'file_created',
254
+ target: action.path,
255
+ after: action.content
256
+ });
257
+ }
258
+ }
259
+ else {
260
+ sideEffects.push({
261
+ type: 'file_created',
262
+ target: action.path,
263
+ after: action.content
264
+ });
265
+ }
266
+ await promises_1.default.writeFile(fullPath, action.content, 'utf8');
267
+ return {
268
+ success: true,
269
+ logs: [`${action.type === 'createFile' ? 'Created' : 'Updated'} file: ${action.path}`],
270
+ sideEffects
271
+ };
272
+ }
273
+ async executeDeleteAction(action, context) {
274
+ const fullPath = path_1.default.resolve(context.projectRoot, action.path);
275
+ // Safety check - only allow deletion of specific file types
276
+ const safePatterns = [/\.test\.(ts|js)$/, /\.spec\.(ts|js)$/, /^temp\//, /^tmp\//, /\.tmp$/];
277
+ const isSafe = safePatterns.some(pattern => pattern.test(action.path));
278
+ if (!isSafe) {
279
+ return {
280
+ success: false,
281
+ error: `Deletion of ${action.path} not allowed for safety`,
282
+ logs: [],
283
+ sideEffects: []
284
+ };
285
+ }
286
+ let existingContent;
287
+ try {
288
+ existingContent = await promises_1.default.readFile(fullPath, 'utf8');
289
+ }
290
+ catch {
291
+ return {
292
+ success: true,
293
+ logs: [`File ${action.path} already deleted or doesn't exist`],
294
+ sideEffects: []
295
+ };
296
+ }
297
+ await promises_1.default.unlink(fullPath);
298
+ return {
299
+ success: true,
300
+ logs: [`Deleted file: ${action.path}`],
301
+ sideEffects: [{
302
+ type: 'file_deleted',
303
+ target: action.path,
304
+ before: existingContent
305
+ }]
306
+ };
307
+ }
308
+ async executeDirectoryAction(action, context) {
309
+ const fullPath = path_1.default.resolve(context.projectRoot, action.path);
310
+ await promises_1.default.mkdir(fullPath, { recursive: true });
311
+ return {
312
+ success: true,
313
+ logs: [`Created directory: ${action.path}`],
314
+ sideEffects: []
315
+ };
316
+ }
317
+ async executeFileOperationAction(action, context) {
318
+ const fromPath = path_1.default.resolve(context.projectRoot, action.from);
319
+ const toPath = path_1.default.resolve(context.projectRoot, action.to);
320
+ // Ensure destination directory exists
321
+ await promises_1.default.mkdir(path_1.default.dirname(toPath), { recursive: true });
322
+ if (action.type === 'moveFile') {
323
+ await promises_1.default.rename(fromPath, toPath);
324
+ return {
325
+ success: true,
326
+ logs: [`Moved file from ${action.from} to ${action.to}`],
327
+ sideEffects: [
328
+ { type: 'file_deleted', target: action.from },
329
+ { type: 'file_created', target: action.to }
330
+ ]
331
+ };
332
+ }
333
+ else {
334
+ await promises_1.default.copyFile(fromPath, toPath);
335
+ return {
336
+ success: true,
337
+ logs: [`Copied file from ${action.from} to ${action.to}`],
338
+ sideEffects: [
339
+ { type: 'file_created', target: action.to }
340
+ ]
341
+ };
342
+ }
343
+ }
344
+ async executeCommandAction(action, context) {
345
+ try {
346
+ const { stdout, stderr } = await execAsync(action.command, action.args || [], {
347
+ cwd: context.projectRoot,
348
+ env: context.environment
349
+ });
350
+ return {
351
+ success: true,
352
+ output: { stdout, stderr },
353
+ logs: [
354
+ `Executed command: ${action.command} ${action.args?.join(' ') || ''}`,
355
+ stdout && `stdout: ${stdout}`,
356
+ stderr && `stderr: ${stderr}`
357
+ ].filter(Boolean),
358
+ sideEffects: [{
359
+ type: 'command_executed',
360
+ target: `${action.command} ${action.args?.join(' ') || ''}`,
361
+ after: { stdout, stderr }
362
+ }]
363
+ };
364
+ }
365
+ catch (error) {
366
+ return {
367
+ success: false,
368
+ error: error.message,
369
+ logs: [`Command failed: ${error.message}`],
370
+ sideEffects: []
371
+ };
372
+ }
373
+ }
374
+ async executePackageAction(action, context) {
375
+ const args = ['install'];
376
+ if (action.dev) {
377
+ args.push('--save-dev');
378
+ }
379
+ const packageSpec = action.version ? `${action.name}@${action.version}` : action.name;
380
+ args.push(packageSpec);
381
+ try {
382
+ const { stdout, stderr } = await execAsync('npm', args, {
383
+ cwd: context.projectRoot,
384
+ env: context.environment
385
+ });
386
+ return {
387
+ success: true,
388
+ output: { stdout, stderr },
389
+ logs: [`Installed package: ${packageSpec}`],
390
+ sideEffects: [{
391
+ type: 'package_installed',
392
+ target: action.name,
393
+ after: { version: action.version, dev: action.dev }
394
+ }]
395
+ };
396
+ }
397
+ catch (error) {
398
+ return {
399
+ success: false,
400
+ error: error.message,
401
+ logs: [`Package installation failed: ${error.message}`],
402
+ sideEffects: []
403
+ };
404
+ }
405
+ }
406
+ async executeRegistrationAction(action, context) {
407
+ const fullPath = path_1.default.resolve(context.projectRoot, action.file);
408
+ try {
409
+ // Check if file exists
410
+ await promises_1.default.access(fullPath);
411
+ return {
412
+ success: true,
413
+ logs: [`Registered ${action.type === 'registerTask' ? 'task' : 'test'}: ${action.taskId || action.testId}`],
414
+ sideEffects: []
415
+ };
416
+ }
417
+ catch {
418
+ return {
419
+ success: false,
420
+ error: `File not found: ${action.file}`,
421
+ logs: [],
422
+ sideEffects: []
423
+ };
424
+ }
425
+ }
426
+ async executeLogAction(action, context) {
427
+ context.logger[action.level](action.message);
428
+ return {
429
+ success: true,
430
+ logs: [`[${action.level.toUpperCase()}] ${action.message}`],
431
+ sideEffects: []
432
+ };
433
+ }
434
+ async rollbackSideEffect(sideEffect) {
435
+ // Implementation depends on side effect type
436
+ // This is a simplified version
437
+ switch (sideEffect.type) {
438
+ case 'file_created':
439
+ if (sideEffect.target) {
440
+ await promises_1.default.unlink(sideEffect.target).catch(() => { });
441
+ }
442
+ break;
443
+ case 'file_modified':
444
+ if (sideEffect.target && sideEffect.before) {
445
+ await promises_1.default.writeFile(sideEffect.target, sideEffect.before, 'utf8');
446
+ }
447
+ break;
448
+ case 'file_deleted':
449
+ if (sideEffect.target && sideEffect.before) {
450
+ await promises_1.default.writeFile(sideEffect.target, sideEffect.before, 'utf8');
451
+ }
452
+ break;
453
+ }
454
+ }
455
+ isRecoverableError(action, error) {
456
+ // Define which errors are recoverable based on action type and error message
457
+ const recoverablePatterns = [
458
+ /file already exists/i,
459
+ /permission denied/i,
460
+ /network timeout/i,
461
+ /temporary failure/i
462
+ ];
463
+ return recoverablePatterns.some(pattern => pattern.test(error));
464
+ }
465
+ addLog(result, level, message, actionIndex) {
466
+ const log = {
467
+ timestamp: Date.now(),
468
+ level,
469
+ message,
470
+ actionIndex
471
+ };
472
+ result.logs.push(log);
473
+ }
474
+ }
475
+ exports.ArchitectExecutor = ArchitectExecutor;
476
+ //# sourceMappingURL=executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/architect/execution/executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './executor';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ // Execution module exports
18
+ __exportStar(require("./executor"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/architect/execution/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2BAA2B;AAC3B,6CAA2B"}
@@ -0,0 +1,7 @@
1
+ import type { ArchitectPlan, ArchitectResult } from "./core/types";
2
+ /**
3
+ * @deprecated Use ArchitectExecutor class instead
4
+ *
5
+ * Main executor function - legacy implementation
6
+ */
7
+ export declare function executePlan(plan: ArchitectPlan): Promise<ArchitectResult>;