@inkeep/create-agents 0.0.0-dev-20260225024044 → 0.0.0-dev-20260225060111
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.
|
@@ -229,8 +229,12 @@ describe('create-agents quickstart e2e', () => {
|
|
|
229
229
|
console.warn('Login API test failed (non-fatal):', loginTestError);
|
|
230
230
|
}
|
|
231
231
|
// --- Dashboard Lap ---
|
|
232
|
+
// Start the dashboard with ENVIRONMENT=development so the proxy middleware
|
|
233
|
+
// auto-logs in using the bypass secret — this mirrors the real quickstart
|
|
234
|
+
// experience where users never see a login form.
|
|
232
235
|
console.log('Starting dashboard lap');
|
|
233
236
|
const dashboardProcess = await startDashboardServer(projectDir, {
|
|
237
|
+
ENVIRONMENT: 'development',
|
|
234
238
|
INKEEP_AGENTS_API_URL: dashboardApiUrl,
|
|
235
239
|
NEXT_PUBLIC_API_URL: dashboardApiUrl,
|
|
236
240
|
PUBLIC_INKEEP_AGENTS_API_URL: dashboardApiUrl,
|
|
@@ -241,21 +245,19 @@ describe('create-agents quickstart e2e', () => {
|
|
|
241
245
|
const browser = await chromium.launch({ headless: true });
|
|
242
246
|
try {
|
|
243
247
|
const page = await browser.newPage();
|
|
244
|
-
|
|
245
|
-
|
|
248
|
+
// Navigate to root — the proxy middleware auto-logs in via the bypass
|
|
249
|
+
// secret and sets a session cookie, so no manual login is needed.
|
|
250
|
+
console.log('Navigating to dashboard (auto-login via proxy)');
|
|
251
|
+
await page.goto('http://localhost:3000/', {
|
|
246
252
|
waitUntil: 'networkidle',
|
|
247
|
-
timeout:
|
|
253
|
+
timeout: 30000,
|
|
248
254
|
});
|
|
249
|
-
console.log('Filling login form');
|
|
250
|
-
await page.fill('input[type="email"]', 'admin@example.com');
|
|
251
|
-
await page.fill('input[type="password"]', 'adminADMIN!@12');
|
|
252
|
-
await page.click('button[type="submit"]');
|
|
253
255
|
console.log('Waiting for redirect to projects page');
|
|
254
256
|
await page.waitForURL('**/default/projects**', {
|
|
255
|
-
timeout:
|
|
257
|
+
timeout: 30000,
|
|
256
258
|
waitUntil: 'domcontentloaded',
|
|
257
259
|
});
|
|
258
|
-
console.log('
|
|
260
|
+
console.log('Auto-login succeeded — redirected to projects page');
|
|
259
261
|
console.log('Clicking activities-planner project');
|
|
260
262
|
// Use force:true because card uses a linkoverlay pattern that intercepts pointer events
|
|
261
263
|
await page.click(`a[href*="${projectId}"]`, { timeout: 15000, force: true });
|
|
@@ -137,15 +137,32 @@ export async function verifyDirectoryStructure(baseDir, expectedPaths) {
|
|
|
137
137
|
}
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
|
+
/**
|
|
141
|
+
* Recursively find all package.json files in a directory, skipping node_modules and dot-dirs.
|
|
142
|
+
* Mirrors the discovery logic in syncTemplateDependencies so E2E tests cover the same files.
|
|
143
|
+
*/
|
|
144
|
+
async function findPackageJsonFiles(dir) {
|
|
145
|
+
const results = [];
|
|
146
|
+
const rootPkg = path.join(dir, 'package.json');
|
|
147
|
+
if (await fs.pathExists(rootPkg)) {
|
|
148
|
+
results.push(rootPkg);
|
|
149
|
+
}
|
|
150
|
+
const entries = await fs.readdir(dir, { withFileTypes: true });
|
|
151
|
+
for (const entry of entries) {
|
|
152
|
+
if (!entry.isDirectory() || entry.name === 'node_modules' || entry.name.startsWith('.')) {
|
|
153
|
+
continue;
|
|
154
|
+
}
|
|
155
|
+
const nested = await findPackageJsonFiles(path.join(dir, entry.name));
|
|
156
|
+
results.push(...nested);
|
|
157
|
+
}
|
|
158
|
+
return results;
|
|
159
|
+
}
|
|
140
160
|
/**
|
|
141
161
|
* Link local monorepo packages to the created project
|
|
142
162
|
* This replaces published @inkeep packages with local versions for testing
|
|
143
163
|
*/
|
|
144
164
|
export async function linkLocalPackages(projectDir, monorepoRoot) {
|
|
145
|
-
const packageJsonPaths =
|
|
146
|
-
path.join(projectDir, 'package.json'),
|
|
147
|
-
path.join(projectDir, 'apps/agents-api/package.json'),
|
|
148
|
-
];
|
|
165
|
+
const packageJsonPaths = await findPackageJsonFiles(projectDir);
|
|
149
166
|
const packageJsons = {};
|
|
150
167
|
for (const packageJsonPath of packageJsonPaths) {
|
|
151
168
|
packageJsons[packageJsonPath] = await fs.readJson(packageJsonPath);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inkeep/create-agents",
|
|
3
|
-
"version": "0.0.0-dev-
|
|
3
|
+
"version": "0.0.0-dev-20260225060111",
|
|
4
4
|
"description": "Create an Inkeep Agent Framework project",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"degit": "^2.8.4",
|
|
34
34
|
"fs-extra": "^11.0.0",
|
|
35
35
|
"picocolors": "^1.0.0",
|
|
36
|
-
"@inkeep/agents-core": "0.0.0-dev-
|
|
36
|
+
"@inkeep/agents-core": "0.0.0-dev-20260225060111"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@types/degit": "^2.8.6",
|