tryassay 0.21.0 → 0.21.2
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/README.md +4 -4
- package/dist/api/server.d.ts +3 -0
- package/dist/api/server.js +144 -2
- package/dist/api/server.js.map +1 -1
- package/dist/cli.js +4 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/runtime.d.ts +4 -0
- package/dist/commands/runtime.js +50 -3
- package/dist/commands/runtime.js.map +1 -1
- package/dist/runtime/__tests__/check-loop.test.js +2 -2
- package/dist/runtime/__tests__/cross-verification-checks.test.d.ts +8 -0
- package/dist/runtime/__tests__/cross-verification-checks.test.js +365 -0
- package/dist/runtime/__tests__/cross-verification-checks.test.js.map +1 -0
- package/dist/runtime/agents/planner-agent.d.ts +18 -1
- package/dist/runtime/agents/planner-agent.js +162 -0
- package/dist/runtime/agents/planner-agent.js.map +1 -1
- package/dist/runtime/app-create-orchestrator.d.ts +39 -1
- package/dist/runtime/app-create-orchestrator.js +579 -1
- package/dist/runtime/app-create-orchestrator.js.map +1 -1
- package/dist/runtime/check-catalog.js +53 -0
- package/dist/runtime/check-catalog.js.map +1 -1
- package/dist/runtime/dashboard-sync.d.ts +25 -0
- package/dist/runtime/dashboard-sync.js +169 -0
- package/dist/runtime/dashboard-sync.js.map +1 -0
- package/dist/runtime/fs-helpers.d.ts +2 -0
- package/dist/runtime/fs-helpers.js +14 -0
- package/dist/runtime/fs-helpers.js.map +1 -1
- package/dist/runtime/functional-tester.d.ts +8 -0
- package/dist/runtime/functional-tester.js +230 -0
- package/dist/runtime/functional-tester.js.map +1 -1
- package/dist/runtime/types.d.ts +41 -2
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SpecializedAgent, type TaskAssignmentPayload, type TaskResultPayload } from '../specialized-agent.js';
|
|
2
|
-
import type { AgentMessage } from '../types.js';
|
|
2
|
+
import type { AgentMessage, ArchitecturePlan, PlanQuestion, PlanAnswer } from '../types.js';
|
|
3
3
|
import type { MessageBus } from '../message-bus.js';
|
|
4
4
|
export declare class PlannerAgent extends SpecializedAgent {
|
|
5
5
|
constructor(messageBus: MessageBus, opts?: {
|
|
@@ -7,6 +7,23 @@ export declare class PlannerAgent extends SpecializedAgent {
|
|
|
7
7
|
});
|
|
8
8
|
protected onMessage(_message: AgentMessage): void;
|
|
9
9
|
executeTask(task: TaskAssignmentPayload): Promise<TaskResultPayload>;
|
|
10
|
+
/**
|
|
11
|
+
* Analyze the user prompt and current plan to generate structured questions
|
|
12
|
+
* about ambiguities that significantly affect architecture decisions.
|
|
13
|
+
*/
|
|
14
|
+
generateQuestions(userPrompt: string, currentPlan?: ArchitecturePlan): Promise<PlanQuestion[]>;
|
|
15
|
+
/**
|
|
16
|
+
* Refine the architecture plan by incorporating user answers to questions.
|
|
17
|
+
* Returns updated plan and a confidence score (0-1).
|
|
18
|
+
*/
|
|
19
|
+
refinePlan(currentPlan: ArchitecturePlan, answers: PlanAnswer[], userPrompt: string): Promise<{
|
|
20
|
+
plan: ArchitecturePlan;
|
|
21
|
+
confidence: number;
|
|
22
|
+
}>;
|
|
23
|
+
/**
|
|
24
|
+
* Try to extract a JSON array from LLM response text.
|
|
25
|
+
*/
|
|
26
|
+
private extractJsonArray;
|
|
10
27
|
private parsePlanResponse;
|
|
11
28
|
/**
|
|
12
29
|
* Try multiple strategies to extract JSON from LLM response:
|
|
@@ -161,6 +161,168 @@ Design the complete architecture now. Remember to state your claims explicitly.`
|
|
|
161
161
|
};
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
|
+
/**
|
|
165
|
+
* Analyze the user prompt and current plan to generate structured questions
|
|
166
|
+
* about ambiguities that significantly affect architecture decisions.
|
|
167
|
+
*/
|
|
168
|
+
async generateQuestions(userPrompt, currentPlan) {
|
|
169
|
+
const systemPrompt = `You are a Requirements Analyst clarifying what the user wants to build BEFORE architecture planning begins.
|
|
170
|
+
|
|
171
|
+
Given the user's prompt, identify 2-6 questions about decisions that significantly affect what gets built. These questions refine requirements so the architecture plan is accurate on the first pass.
|
|
172
|
+
|
|
173
|
+
Rules:
|
|
174
|
+
1. Focus on decisions that change scope, features, auth, data model, or user experience — not implementation details.
|
|
175
|
+
2. Generate options SPECIFIC to this prompt (not generic boilerplate).
|
|
176
|
+
3. Use multiSelect: true for feature selection questions where multiple options can apply.
|
|
177
|
+
4. Keep headers under 12 characters.
|
|
178
|
+
5. Each question should have 2-4 concrete options with short labels and clear descriptions.
|
|
179
|
+
6. Do NOT ask about things the user already specified clearly in their prompt.
|
|
180
|
+
7. Prioritize the highest-impact decisions first.
|
|
181
|
+
|
|
182
|
+
Respond with ONLY a JSON array of question objects:
|
|
183
|
+
[
|
|
184
|
+
{
|
|
185
|
+
"id": "unique-id",
|
|
186
|
+
"question": "Full question text?",
|
|
187
|
+
"header": "Short label",
|
|
188
|
+
"options": [
|
|
189
|
+
{ "label": "Option A", "description": "What this means for the app" },
|
|
190
|
+
{ "label": "Option B", "description": "What this means for the app" }
|
|
191
|
+
],
|
|
192
|
+
"multiSelect": false
|
|
193
|
+
}
|
|
194
|
+
]`;
|
|
195
|
+
let userMessage = `USER PROMPT: ${userPrompt}`;
|
|
196
|
+
if (currentPlan) {
|
|
197
|
+
userMessage += `\n\nCURRENT PLAN SUMMARY:
|
|
198
|
+
- Features: ${currentPlan.features.map(f => f.name).join(', ')}
|
|
199
|
+
- Schema entities: ${currentPlan.schema.map(e => e.name).join(', ')}
|
|
200
|
+
- API routes: ${currentPlan.apiRoutes.length}
|
|
201
|
+
- Pages: ${currentPlan.pages.length}
|
|
202
|
+
- Auth: ${currentPlan.authPlan ? `${currentPlan.authPlan.provider} (${currentPlan.authPlan.methods.join(', ')})` : 'None'}`;
|
|
203
|
+
}
|
|
204
|
+
userMessage += `\n\nIdentify what's ambiguous or underspecified and generate structured questions.`;
|
|
205
|
+
try {
|
|
206
|
+
const { content } = await this.callClaude(systemPrompt, userMessage);
|
|
207
|
+
const parsed = this.extractJsonArray(content);
|
|
208
|
+
if (!Array.isArray(parsed))
|
|
209
|
+
return [];
|
|
210
|
+
return parsed
|
|
211
|
+
.filter((q) => q !== null && typeof q === 'object')
|
|
212
|
+
.map((q) => ({
|
|
213
|
+
id: typeof q.id === 'string' ? q.id : `q-${Math.random().toString(36).slice(2, 8)}`,
|
|
214
|
+
question: typeof q.question === 'string' ? q.question : '',
|
|
215
|
+
header: typeof q.header === 'string' ? q.header.slice(0, 12) : '',
|
|
216
|
+
options: Array.isArray(q.options)
|
|
217
|
+
? q.options
|
|
218
|
+
.filter((o) => o !== null && typeof o === 'object')
|
|
219
|
+
.map((o) => ({
|
|
220
|
+
label: typeof o.label === 'string' ? o.label : '',
|
|
221
|
+
description: typeof o.description === 'string' ? o.description : '',
|
|
222
|
+
}))
|
|
223
|
+
: [],
|
|
224
|
+
multiSelect: typeof q.multiSelect === 'boolean' ? q.multiSelect : false,
|
|
225
|
+
}))
|
|
226
|
+
.filter((q) => q.question && q.options.length >= 2);
|
|
227
|
+
}
|
|
228
|
+
catch {
|
|
229
|
+
return [];
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Refine the architecture plan by incorporating user answers to questions.
|
|
234
|
+
* Returns updated plan and a confidence score (0-1).
|
|
235
|
+
*/
|
|
236
|
+
async refinePlan(currentPlan, answers, userPrompt) {
|
|
237
|
+
const answersText = answers
|
|
238
|
+
.map((a) => `- ${a.questionId}: ${a.selectedOptions.join(', ')}${a.customText ? ` (note: ${a.customText})` : ''}`)
|
|
239
|
+
.join('\n');
|
|
240
|
+
const systemPrompt = `You are a Planning Agent refining an application architecture based on user feedback.
|
|
241
|
+
|
|
242
|
+
Given the original prompt, the current architecture plan, and the user's answers to clarifying questions, produce an UPDATED architecture plan that incorporates the answers.
|
|
243
|
+
|
|
244
|
+
Also assess your confidence (0.0 to 1.0) that the plan now fully captures the user's intent. A confidence >= 0.95 means no more questions are needed.
|
|
245
|
+
|
|
246
|
+
Respond with JSON:
|
|
247
|
+
{
|
|
248
|
+
"plan": { ... full ArchitecturePlan ... },
|
|
249
|
+
"confidence": 0.85,
|
|
250
|
+
"reasoning": "Why this confidence level"
|
|
251
|
+
}`;
|
|
252
|
+
const userMessage = `ORIGINAL PROMPT: ${userPrompt}
|
|
253
|
+
|
|
254
|
+
USER ANSWERS:
|
|
255
|
+
${answersText}
|
|
256
|
+
|
|
257
|
+
CURRENT PLAN:
|
|
258
|
+
${JSON.stringify(currentPlan, null, 2)}
|
|
259
|
+
|
|
260
|
+
Refine the plan incorporating these answers. Return the complete updated plan.`;
|
|
261
|
+
try {
|
|
262
|
+
const { content } = await this.callClaude(systemPrompt, userMessage);
|
|
263
|
+
const parsed = this.extractJson(content);
|
|
264
|
+
if (!parsed || !parsed.plan) {
|
|
265
|
+
return { plan: currentPlan, confidence: 0.5 };
|
|
266
|
+
}
|
|
267
|
+
const rawPlan = parsed.plan;
|
|
268
|
+
const refinedPlan = {
|
|
269
|
+
schema: Array.isArray(rawPlan.schema) ? rawPlan.schema : currentPlan.schema,
|
|
270
|
+
apiRoutes: Array.isArray(rawPlan.apiRoutes) ? rawPlan.apiRoutes : currentPlan.apiRoutes,
|
|
271
|
+
pages: Array.isArray(rawPlan.pages) ? rawPlan.pages : currentPlan.pages,
|
|
272
|
+
features: Array.isArray(rawPlan.features) ? rawPlan.features : currentPlan.features,
|
|
273
|
+
ipcChannels: Array.isArray(rawPlan.ipcChannels) ? rawPlan.ipcChannels : currentPlan.ipcChannels,
|
|
274
|
+
dependencyOrder: Array.isArray(rawPlan.dependencyOrder) ? rawPlan.dependencyOrder : currentPlan.dependencyOrder,
|
|
275
|
+
authPlan: rawPlan.authPlan !== undefined ? rawPlan.authPlan : currentPlan.authPlan,
|
|
276
|
+
deployConfig: rawPlan.deployConfig !== undefined ? rawPlan.deployConfig : currentPlan.deployConfig,
|
|
277
|
+
};
|
|
278
|
+
const confidence = typeof parsed.confidence === 'number'
|
|
279
|
+
? Math.max(0, Math.min(1, parsed.confidence))
|
|
280
|
+
: 0.5;
|
|
281
|
+
return { plan: refinedPlan, confidence };
|
|
282
|
+
}
|
|
283
|
+
catch {
|
|
284
|
+
return { plan: currentPlan, confidence: 0.5 };
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Try to extract a JSON array from LLM response text.
|
|
289
|
+
*/
|
|
290
|
+
extractJsonArray(raw) {
|
|
291
|
+
const cleaned = raw.trim();
|
|
292
|
+
// Strategy 1: Direct parse
|
|
293
|
+
try {
|
|
294
|
+
const parsed = JSON.parse(cleaned);
|
|
295
|
+
if (Array.isArray(parsed))
|
|
296
|
+
return parsed;
|
|
297
|
+
}
|
|
298
|
+
catch { /* continue */ }
|
|
299
|
+
// Strategy 2: Strip markdown code fences
|
|
300
|
+
if (cleaned.startsWith('```')) {
|
|
301
|
+
const firstNewline = cleaned.indexOf('\n');
|
|
302
|
+
const lastFence = cleaned.lastIndexOf('```');
|
|
303
|
+
if (firstNewline > 0 && lastFence > firstNewline) {
|
|
304
|
+
const inner = cleaned.slice(firstNewline + 1, lastFence).trim();
|
|
305
|
+
try {
|
|
306
|
+
const parsed = JSON.parse(inner);
|
|
307
|
+
if (Array.isArray(parsed))
|
|
308
|
+
return parsed;
|
|
309
|
+
}
|
|
310
|
+
catch { /* continue */ }
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
// Strategy 3: Find first [ to last ]
|
|
314
|
+
const firstBracket = cleaned.indexOf('[');
|
|
315
|
+
const lastBracket = cleaned.lastIndexOf(']');
|
|
316
|
+
if (firstBracket >= 0 && lastBracket > firstBracket) {
|
|
317
|
+
try {
|
|
318
|
+
const parsed = JSON.parse(cleaned.slice(firstBracket, lastBracket + 1));
|
|
319
|
+
if (Array.isArray(parsed))
|
|
320
|
+
return parsed;
|
|
321
|
+
}
|
|
322
|
+
catch { /* continue */ }
|
|
323
|
+
}
|
|
324
|
+
return null;
|
|
325
|
+
}
|
|
164
326
|
parsePlanResponse(raw) {
|
|
165
327
|
const parsed = this.extractJson(raw);
|
|
166
328
|
if (parsed) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planner-agent.js","sourceRoot":"","sources":["../../../src/runtime/agents/planner-agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"planner-agent.js","sourceRoot":"","sources":["../../../src/runtime/agents/planner-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventEmitter } from 'node:events';
|
|
2
|
-
import type { AppDescription, AppCreateOptions, AppCreateResult, PlanSummary, PlanApprovalResult } from './types.js';
|
|
2
|
+
import type { AppDescription, AppCreateOptions, AppCreateResult, PlanSummary, PlanApprovalResult, PlanAnswer } from './types.js';
|
|
3
3
|
export declare class AppCreateOrchestrator extends EventEmitter {
|
|
4
4
|
private description;
|
|
5
5
|
private options;
|
|
@@ -7,11 +7,14 @@ export declare class AppCreateOrchestrator extends EventEmitter {
|
|
|
7
7
|
private startTime;
|
|
8
8
|
private planSummaryCache;
|
|
9
9
|
private approvalResolve;
|
|
10
|
+
private answersResolve;
|
|
10
11
|
constructor(description: AppDescription, options: AppCreateOptions);
|
|
11
12
|
/** Get the current plan summary (available after planning phase). */
|
|
12
13
|
getPlanSummary(): PlanSummary | null;
|
|
13
14
|
/** Approve or reject the plan. Resolves the blocked pipeline. */
|
|
14
15
|
approvePlan(result: PlanApprovalResult): void;
|
|
16
|
+
/** Submit answers to plan questions. Resolves the waiting questioning loop. */
|
|
17
|
+
submitAnswers(answers: PlanAnswer[]): void;
|
|
15
18
|
/** Run the full app creation pipeline. */
|
|
16
19
|
run(): Promise<AppCreateResult>;
|
|
17
20
|
private runPlanningPhase;
|
|
@@ -68,4 +71,39 @@ export declare class AppCreateOrchestrator extends EventEmitter {
|
|
|
68
71
|
private pageToFilePath;
|
|
69
72
|
private fileExists;
|
|
70
73
|
private searchForSchemaEntity;
|
|
74
|
+
/**
|
|
75
|
+
* Scan generated page files for href/Link targets and verify
|
|
76
|
+
* each internal route has a corresponding page file.
|
|
77
|
+
* Catches hallucinated links like href="/categories" when
|
|
78
|
+
* no /categories/page.tsx exists.
|
|
79
|
+
*/
|
|
80
|
+
private checkLinkIntegrity;
|
|
81
|
+
/**
|
|
82
|
+
* Check A1: Verify all import paths resolve to actual files.
|
|
83
|
+
* Catches: broken relative imports, unresolvable @/ aliases.
|
|
84
|
+
*/
|
|
85
|
+
private checkImportResolution;
|
|
86
|
+
/**
|
|
87
|
+
* Check A2: Verify all imported packages exist in package.json.
|
|
88
|
+
* Also detects invalid alias entries (e.g. "@/lib": "latest").
|
|
89
|
+
*/
|
|
90
|
+
private checkPackageDepsComplete;
|
|
91
|
+
/**
|
|
92
|
+
* Check A3: Detect server components that fetch their own API routes (deadlock risk).
|
|
93
|
+
* Only applies to Next.js apps.
|
|
94
|
+
*/
|
|
95
|
+
private checkNoSelfFetch;
|
|
96
|
+
/**
|
|
97
|
+
* Check A4: Verify TypeScript compiles without errors.
|
|
98
|
+
* Uses `npx tsc --noEmit` with 60s timeout.
|
|
99
|
+
*/
|
|
100
|
+
private checkTypescriptCompiles;
|
|
101
|
+
/**
|
|
102
|
+
* Check A5: Verify all referenced environment variables are defined in .env files.
|
|
103
|
+
*/
|
|
104
|
+
private checkEnvVarsComplete;
|
|
105
|
+
/**
|
|
106
|
+
* Check A6: Verify asset references (images, CSS, icons) point to existing files.
|
|
107
|
+
*/
|
|
108
|
+
private checkAssetRefsValid;
|
|
71
109
|
}
|