feature-architect-agent 1.0.15 → 1.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/commands/plan.js
CHANGED
|
@@ -210,8 +210,8 @@ async function planCommand(feature, options = {}) {
|
|
|
210
210
|
process.stdout.write('\r\x1b[K');
|
|
211
211
|
(0, logger_js_1.success)('✅ Feature plan generated!');
|
|
212
212
|
(0, logger_js_1.info)(`Saved to: ${outputFile}`);
|
|
213
|
-
// Log activity as completed
|
|
214
|
-
logger.complete(activityId, {
|
|
213
|
+
// Log activity as completed (await to ensure dashboard update completes)
|
|
214
|
+
await logger.complete(activityId, {
|
|
215
215
|
outputFile,
|
|
216
216
|
slug,
|
|
217
217
|
lines: plan.markdown.split('\n').length,
|
|
@@ -60,8 +60,9 @@ export declare class ActivityLogger {
|
|
|
60
60
|
updateStatus(id: string, status: ActivityEntry['status'], metadata?: ActivityEntry['metadata']): boolean;
|
|
61
61
|
/**
|
|
62
62
|
* Mark an activity as completed
|
|
63
|
+
* Note: This is async to ensure dashboard update completes before returning
|
|
63
64
|
*/
|
|
64
|
-
complete(id: string, metadata?: ActivityEntry['metadata']): boolean
|
|
65
|
+
complete(id: string, metadata?: ActivityEntry['metadata']): Promise<boolean>;
|
|
65
66
|
/**
|
|
66
67
|
* Mark an activity as failed
|
|
67
68
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActivityLogger.d.ts","sourceRoot":"","sources":["../../src/services/ActivityLogger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3D,QAAQ,CAAC,EAAE;QACT,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,YAAY,CAAqB;IAEzC,OAAO,CAAC,gBAAgB,CAA0B;IAElD,OAAO,CAAC,qBAAqB,CAA0B;IAEvD,OAAO,CAAC,sBAAsB,CAAqG;IAEnI,OAAO,CAAC,sBAAsB,CAAyC;gBAE3D,OAAO,GAAE,qBAA0B;IAQ/C,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACI,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,CAAC,GAAG,MAAM;IA8BxF;;OAEG;YACW,eAAe;IA4G7B;;OAEG;IACI,cAAc,CACnB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,GAAG,EACZ,KAAK,CAAC,EAAE,MAAM,GACb,OAAO;IA0CV;;OAEG;IACI,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,GAAG,OAAO;IA0BnH;;OAEG;IACI,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,OAAO;IAI/G
|
|
1
|
+
{"version":3,"file":"ActivityLogger.d.ts","sourceRoot":"","sources":["../../src/services/ActivityLogger.ts"],"names":[],"mappings":"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"}
|
|
@@ -180,8 +180,8 @@ class ActivityLogger {
|
|
|
180
180
|
'Content-Type': 'application/json',
|
|
181
181
|
'Content-Length': Buffer.byteLength(postData)
|
|
182
182
|
},
|
|
183
|
-
// Add timeout
|
|
184
|
-
timeout:
|
|
183
|
+
// Add timeout - longer for ngrok URLs
|
|
184
|
+
timeout: 15000
|
|
185
185
|
};
|
|
186
186
|
const req = client.request(options, (res) => {
|
|
187
187
|
let data = '';
|
|
@@ -303,9 +303,15 @@ class ActivityLogger {
|
|
|
303
303
|
}
|
|
304
304
|
/**
|
|
305
305
|
* Mark an activity as completed
|
|
306
|
+
* Note: This is async to ensure dashboard update completes before returning
|
|
306
307
|
*/
|
|
307
|
-
complete(id, metadata) {
|
|
308
|
-
|
|
308
|
+
async complete(id, metadata) {
|
|
309
|
+
const result = this.updateStatus(id, 'completed', metadata);
|
|
310
|
+
// Wait a bit for dashboard request to complete
|
|
311
|
+
if (result && this.dashboardUrl) {
|
|
312
|
+
await new Promise(resolve => setTimeout(resolve, 2000));
|
|
313
|
+
}
|
|
314
|
+
return result;
|
|
309
315
|
}
|
|
310
316
|
/**
|
|
311
317
|
* Mark an activity as failed
|
|
@@ -364,7 +370,7 @@ class ActivityLogger {
|
|
|
364
370
|
'Content-Type': 'application/json',
|
|
365
371
|
'Content-Length': Buffer.byteLength(postData)
|
|
366
372
|
},
|
|
367
|
-
timeout:
|
|
373
|
+
timeout: 10000 // Longer timeout for ngrok URLs
|
|
368
374
|
};
|
|
369
375
|
const req = client.request(options, (res) => {
|
|
370
376
|
let data = '';
|