@captain_z/zsk 1.6.0 → 1.7.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.
- package/README.md +24 -32
- package/dist/bin.js +6 -4
- package/dist/bin.js.map +1 -1
- package/dist/commands/check.d.ts +1 -0
- package/dist/commands/check.js +188 -11
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/config.js +1 -1
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/demo.d.ts +1 -0
- package/dist/commands/demo.js +341 -36
- package/dist/commands/demo.js.map +1 -1
- package/dist/commands/issue.js +5 -5
- package/dist/commands/issue.js.map +1 -1
- package/dist/commands/module.js +11 -28
- package/dist/commands/module.js.map +1 -1
- package/dist/commands/prep.js +3 -3
- package/dist/commands/prep.js.map +1 -1
- package/dist/commands/project-init.js +60 -10
- package/dist/commands/project-init.js.map +1 -1
- package/dist/core/config.d.ts +13 -2
- package/dist/core/config.js +64 -11
- package/dist/core/config.js.map +1 -1
- package/dist/core/scaffolder.js +5 -2
- package/dist/core/scaffolder.js.map +1 -1
- package/dist/core/workspace-layout.d.ts +54 -0
- package/dist/core/workspace-layout.js +107 -0
- package/dist/core/workspace-layout.js.map +1 -0
- package/package.json +2 -2
- package/schemas/zsk-config.schema.json +25 -4
- package/templates/issue/default/issue.md +5 -5
- package/templates/module/frontend-module/module.yaml +4 -3
- package/templates/module/frontend-module/tasks.md +2 -2
- package/templates/project-init/.zsk/config.yaml +34 -24
- package/templates/project-init/.zsk/docs/PROJECT-CONFIG.md +39 -0
- package/templates/project-init/.zsk/docs/SYSTEM-SPEC.md +27 -0
- package/templates/project-init/{.issues → .zsk/issues}/README.md +19 -18
- package/templates/project-init/.zsk/issues/_taxonomy.md +35 -0
- package/templates/project-init/.zsk/modules/.gitkeep +1 -0
- package/templates/project-init/.zsk/plans/.gitkeep +1 -0
- package/templates/project-init/.zsk/playwright/.gitkeep +1 -0
- package/templates/project-init/.zsk/resources/.gitkeep +1 -0
- package/templates/module/frontend-module/acceptance.md +0 -18
- package/templates/module/frontend-module/archive.md +0 -17
- package/templates/module/frontend-module/commit.md +0 -15
- package/templates/module/frontend-module/demo-outline.md +0 -59
- package/templates/module/frontend-module/demo-report.md +0 -23
- package/templates/module/frontend-module/deploy.md +0 -18
- package/templates/module/frontend-module/ready.md +0 -12
- package/templates/module/frontend-module/review.md +0 -12
- package/templates/module/frontend-module/scenarios/index.md +0 -21
- package/templates/module/frontend-module/scenarios/p0-happy-path.spec.ts +0 -13
- package/templates/module/frontend-module/smoke.md +0 -21
- package/templates/module/frontend-module/verification.md +0 -6
- package/templates/module/frontend-module/verify.md +0 -12
- package/templates/project-init/.issues/_taxonomy.md +0 -35
- package/templates/project-init/.raws/README.md +0 -27
- package/templates/project-init/.raws/api-contracts/index.md +0 -22
- package/templates/project-init/.raws/backend-repositories/index.md +0 -12
- package/templates/project-init/.raws/design-assets/index.md +0 -25
- package/templates/project-init/.raws/design-sources/index.md +0 -24
- package/templates/project-init/.raws/index.md +0 -56
- package/templates/project-init/.raws/issues/index.md +0 -4
- package/templates/project-init/.raws/manifest.json +0 -4
- package/templates/project-init/.raws/requirements/index.md +0 -23
- package/templates/project-init/.raws/testing/index.md +0 -22
- package/templates/project-init/.zsk/checkpoints/index.md +0 -4
- package/templates/project-init/.zsk/learning/index.md +0 -14
- package/templates/project-init/.zsk/resource-manifest.json +0 -55
- package/templates/project-init/.zsk/workflow-state.json +0 -6
- package/templates/project-init/docs/SYSTEM-SPEC.md +0 -53
- package/templates/project-init/docs/_module-index.md +0 -15
- package/templates/project-init/project-config.md +0 -154
- /package/templates/project-init/.zsk/{learning/proposals → evidence}/.gitkeep +0 -0
- /package/templates/project-init/{.issues → .zsk/issues}/index.md +0 -0
package/dist/commands/demo.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import pc from "picocolors";
|
|
2
2
|
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
3
3
|
import { join, resolve } from "node:path";
|
|
4
|
+
import YAML from "yaml";
|
|
4
5
|
import { resolvePath } from "../core/targets.js";
|
|
5
|
-
import { checkProjectConfig, readProjectConfig } from "../core/config.js";
|
|
6
|
+
import { checkProjectConfig, findModuleConfigFiles, readProjectConfig, } from "../core/config.js";
|
|
7
|
+
import { getWorkspacePath, interpolateModulePath } from "../core/workspace-layout.js";
|
|
6
8
|
export async function start(opts = {}) {
|
|
7
9
|
const ctx = await prepare(opts);
|
|
8
10
|
const now = new Date().toISOString();
|
|
11
|
+
const bridge = bridgeForMode(ctx.defaultMode, ctx.bridge);
|
|
9
12
|
const session = {
|
|
10
13
|
version: 1,
|
|
11
14
|
id: createSessionId(now),
|
|
@@ -15,7 +18,7 @@ export async function start(opts = {}) {
|
|
|
15
18
|
cursor: null,
|
|
16
19
|
evidenceDir: ctx.evidenceDir,
|
|
17
20
|
scenarioDir: ctx.scenarioDir,
|
|
18
|
-
bridge
|
|
21
|
+
bridge,
|
|
19
22
|
startedAt: now,
|
|
20
23
|
updatedAt: now,
|
|
21
24
|
note: opts.note,
|
|
@@ -38,14 +41,17 @@ export async function complete(opts = {}) {
|
|
|
38
41
|
await updateExisting(opts, "completed", "complete", true);
|
|
39
42
|
}
|
|
40
43
|
export async function run(opts = {}) {
|
|
44
|
+
const ctx = await prepare(opts);
|
|
41
45
|
const mode = opts.hybrid || (opts.computerUse && opts.playwright)
|
|
42
46
|
? "hybrid"
|
|
43
|
-
: opts.
|
|
44
|
-
? "
|
|
45
|
-
: opts.
|
|
46
|
-
? "
|
|
47
|
-
:
|
|
48
|
-
|
|
47
|
+
: opts.optimized
|
|
48
|
+
? "optimized"
|
|
49
|
+
: opts.computerUse
|
|
50
|
+
? "computer-use"
|
|
51
|
+
: opts.playwright
|
|
52
|
+
? "playwright"
|
|
53
|
+
: ctx.defaultMode;
|
|
54
|
+
const bridge = bridgeForMode(mode, ctx.bridge);
|
|
49
55
|
const existing = await readSession(ctx);
|
|
50
56
|
const now = new Date().toISOString();
|
|
51
57
|
const session = existing ?? {
|
|
@@ -57,14 +63,14 @@ export async function run(opts = {}) {
|
|
|
57
63
|
cursor: null,
|
|
58
64
|
evidenceDir: ctx.evidenceDir,
|
|
59
65
|
scenarioDir: ctx.scenarioDir,
|
|
60
|
-
bridge
|
|
66
|
+
bridge,
|
|
61
67
|
startedAt: now,
|
|
62
68
|
updatedAt: now,
|
|
63
69
|
events: [],
|
|
64
70
|
};
|
|
65
71
|
session.status = "running";
|
|
66
72
|
session.mode = mode;
|
|
67
|
-
session.bridge =
|
|
73
|
+
session.bridge = bridge;
|
|
68
74
|
session.updatedAt = now;
|
|
69
75
|
session.note = opts.note ?? session.note;
|
|
70
76
|
session.events.push({
|
|
@@ -72,12 +78,17 @@ export async function run(opts = {}) {
|
|
|
72
78
|
type: `run:${mode}`,
|
|
73
79
|
note: opts.note ?? automationNote(mode),
|
|
74
80
|
});
|
|
75
|
-
await persistSession(ctx, session);
|
|
76
81
|
if (mode === "hybrid")
|
|
77
82
|
await ensureBridgeArtifacts(ctx, session);
|
|
83
|
+
if (mode === "optimized")
|
|
84
|
+
await ensureOptimizedArtifacts(ctx, session);
|
|
85
|
+
await persistSession(ctx, session);
|
|
78
86
|
console.log(pc.green(`✓ zsk demo run prepared (${mode})`));
|
|
87
|
+
if (mode === "optimized") {
|
|
88
|
+
console.log(pc.dim("optimized: raw testing inputs -> test-plan.json -> Playwright spec; no MCP or bridge fallback."));
|
|
89
|
+
}
|
|
79
90
|
if (mode === "computer-use") {
|
|
80
|
-
console.log(pc.yellow("! Computer Use is
|
|
91
|
+
console.log(pc.yellow("! Computer Use is the preferred visual/system observation lane when available; record fallback if the runtime does not provide it."));
|
|
81
92
|
}
|
|
82
93
|
if (mode === "hybrid") {
|
|
83
94
|
console.log(pc.dim("bridge: configured decision tool understands/chooses operations; Playwright executes and records when feasible."));
|
|
@@ -88,7 +99,7 @@ export async function run(opts = {}) {
|
|
|
88
99
|
console.log(pc.dim(`execution: ${session.bridge.executionFile}`));
|
|
89
100
|
}
|
|
90
101
|
}
|
|
91
|
-
if (mode === "playwright" || mode === "hybrid") {
|
|
102
|
+
if (mode === "playwright" || mode === "hybrid" || mode === "optimized") {
|
|
92
103
|
console.log(pc.dim(`scenario dir: ${session.scenarioDir}`));
|
|
93
104
|
}
|
|
94
105
|
printSession(session);
|
|
@@ -159,16 +170,16 @@ export async function scenarioGenerate(opts = {}) {
|
|
|
159
170
|
version: 1,
|
|
160
171
|
module: ctx.moduleId,
|
|
161
172
|
inputs: {
|
|
162
|
-
testCase: opts.testCase ?? "
|
|
173
|
+
testCase: opts.testCase ?? "unmapped .zsk/resources/testing test case",
|
|
163
174
|
prdRefs: [],
|
|
164
175
|
specRefs: [],
|
|
165
176
|
designRefs: [],
|
|
166
177
|
taskRefs: [],
|
|
167
178
|
pageStructure: {
|
|
168
179
|
kind: snapshot ? "aria_snapshot" : "playwright_mcp",
|
|
169
|
-
source: opts.snapshot ?? "
|
|
180
|
+
source: opts.snapshot ?? "unmapped accessibility snapshot, Computer Use observation, or compatible handoff",
|
|
170
181
|
},
|
|
171
|
-
|
|
182
|
+
uiObservationHandoff: "optional Computer Use, Playwright MCP/ARIA/CDP, documented manual evidence, or supported Browser Use handoff path",
|
|
172
183
|
},
|
|
173
184
|
output: {
|
|
174
185
|
playwrightSpec: `${ctx.scenarioDir}/${generatedName}.spec.ts`,
|
|
@@ -181,8 +192,9 @@ export async function scenarioGenerate(opts = {}) {
|
|
|
181
192
|
``,
|
|
182
193
|
`test.describe("${ctx.moduleId} synthesized scenarios", () => {`,
|
|
183
194
|
` test("${escapeForDoubleQuotedString(opts.name ?? "generated from test case and aria snapshot")}", async ({ page }) => {`,
|
|
184
|
-
`
|
|
185
|
-
`
|
|
195
|
+
` const baseUrl = process.env.ZSK_DEMO_BASE_URL;`,
|
|
196
|
+
` if (!baseUrl) throw new Error("Set ZSK_DEMO_BASE_URL to run this scenario.");`,
|
|
197
|
+
` await page.goto(baseUrl);`,
|
|
186
198
|
``,
|
|
187
199
|
...generatedSteps.map((step) => ` ${step}`),
|
|
188
200
|
` });`,
|
|
@@ -247,31 +259,28 @@ async function prepare(opts) {
|
|
|
247
259
|
}
|
|
248
260
|
const config = await readProjectConfig(target);
|
|
249
261
|
const demoConfig = config.automation?.demo;
|
|
250
|
-
const
|
|
251
|
-
const
|
|
252
|
-
const
|
|
253
|
-
const
|
|
254
|
-
const
|
|
255
|
-
const bridgeExecution = interpolate(demoConfig?.bridge?.executionFile ?? `.zsk/demo-sessions/{module}/playwright-execution.json`, moduleId);
|
|
256
|
-
const sessionRoot = resolve(target, ".zsk", "demo-sessions", moduleId);
|
|
262
|
+
const evidenceDir = interpolate(demoConfig?.evidenceDir ?? getWorkspacePath(config, "demoEvidence", { module: moduleId }), moduleId);
|
|
263
|
+
const scenarioDir = interpolate(demoConfig?.scenarioDir ?? getWorkspacePath(config, "playwrightSpecs", { module: moduleId }), moduleId);
|
|
264
|
+
const bridgePlan = interpolate(demoConfig?.bridge?.planFile ?? getWorkspacePath(config, "bridgeOperationPlan", { module: moduleId }), moduleId);
|
|
265
|
+
const bridgeExecution = interpolate(demoConfig?.bridge?.executionFile ?? getWorkspacePath(config, "bridgeExecution", { module: moduleId }), moduleId);
|
|
266
|
+
const sessionRoot = resolve(target, getWorkspacePath(config, "playwrightExecution", { module: moduleId }));
|
|
257
267
|
await mkdir(sessionRoot, { recursive: true });
|
|
258
268
|
await mkdir(resolve(target, evidenceDir), { recursive: true });
|
|
259
269
|
await mkdir(resolve(target, scenarioDir), { recursive: true });
|
|
260
|
-
await mkdir(resolve(target, bridgePlan, ".."), { recursive: true });
|
|
261
|
-
await mkdir(resolve(target, bridgeExecution, ".."), { recursive: true });
|
|
262
270
|
return {
|
|
263
271
|
target,
|
|
264
272
|
moduleId,
|
|
265
273
|
config,
|
|
266
274
|
sessionFile: join(sessionRoot, "current.json"),
|
|
267
|
-
workflowStateFile: resolve(target,
|
|
275
|
+
workflowStateFile: resolve(target, getWorkspacePath(config, "workflowState")),
|
|
268
276
|
evidenceDir,
|
|
269
277
|
evidenceDirAbs: resolve(target, evidenceDir),
|
|
270
278
|
scenarioDir,
|
|
271
279
|
scenarioDirAbs: resolve(target, scenarioDir),
|
|
280
|
+
playwrightAuthState: getWorkspacePath(config, "playwrightAuthState", { module: moduleId }),
|
|
272
281
|
defaultMode: normalizeMode(demoConfig?.defaultMode),
|
|
273
282
|
bridge: {
|
|
274
|
-
decisionTool: demoConfig?.bridge?.decisionTool ?? "playwright_mcp",
|
|
283
|
+
decisionTool: demoConfig?.bridge?.decisionTool ?? (demoConfig?.computerUse?.enabled ? "computer_use" : "playwright_mcp"),
|
|
275
284
|
executionTool: demoConfig?.bridge?.executionTool ?? "playwright",
|
|
276
285
|
planFile: bridgePlan,
|
|
277
286
|
executionFile: bridgeExecution,
|
|
@@ -311,15 +320,15 @@ async function ensureBridgeArtifacts(ctx, session) {
|
|
|
311
320
|
functionPoint: session.cursor ?? "next-demo-function-point",
|
|
312
321
|
observation: {
|
|
313
322
|
source: observationSourceForDecisionTool(session.bridge.decisionTool),
|
|
314
|
-
summary: "
|
|
323
|
+
summary: "Fill from Computer Use observation, Playwright MCP/ARIA/CDP handoff, documented manual evidence, or supported Browser Use note before execution.",
|
|
315
324
|
rawRef: "",
|
|
316
325
|
},
|
|
317
326
|
operation: {
|
|
318
|
-
intent: "
|
|
327
|
+
intent: "Describe next demo operation before execution.",
|
|
319
328
|
locator: {
|
|
320
329
|
kind: "role",
|
|
321
330
|
role: "button",
|
|
322
|
-
name: "
|
|
331
|
+
name: "Unspecified",
|
|
323
332
|
},
|
|
324
333
|
action: {
|
|
325
334
|
type: "click",
|
|
@@ -353,6 +362,275 @@ async function ensureBridgeArtifacts(ctx, session) {
|
|
|
353
362
|
updatedAt: now,
|
|
354
363
|
});
|
|
355
364
|
}
|
|
365
|
+
async function ensureOptimizedArtifacts(ctx, session) {
|
|
366
|
+
const moduleConfig = await readModuleConfig(ctx.target, ctx.moduleId);
|
|
367
|
+
const rawInputs = [
|
|
368
|
+
...(moduleConfig.tests?.raw_cases ?? []),
|
|
369
|
+
...((moduleConfig.tests?.raw_cases?.length ?? 0) > 0 ? [] : (moduleConfig.sources?.testing ?? [])),
|
|
370
|
+
];
|
|
371
|
+
if (rawInputs.length === 0) {
|
|
372
|
+
console.error(pc.red("✗ optimized demo stopped: no raw testing inputs mapped"));
|
|
373
|
+
console.error(pc.dim("Add .zsk/resources/testing cases to .zsk/modules/{module}/module.yaml tests.raw_cases or sources.testing."));
|
|
374
|
+
process.exit(1);
|
|
375
|
+
}
|
|
376
|
+
const testPlanRel = chooseTestPlanPath(moduleConfig, ctx.scenarioDir);
|
|
377
|
+
const specRel = chooseSpecPath(moduleConfig, ctx.scenarioDir, ctx.moduleId);
|
|
378
|
+
const now = new Date().toISOString();
|
|
379
|
+
const authValidation = await validatePlaywrightAuthState(ctx.target, ctx.playwrightAuthState, now);
|
|
380
|
+
if (authValidation.status === "invalid") {
|
|
381
|
+
console.error(pc.red(`✗ optimized demo stopped: invalid Playwright storageState at ${ctx.playwrightAuthState}`));
|
|
382
|
+
console.error(pc.dim(authValidation.message));
|
|
383
|
+
process.exit(1);
|
|
384
|
+
}
|
|
385
|
+
session.auth = authValidation;
|
|
386
|
+
const cases = [];
|
|
387
|
+
for (const rawInput of rawInputs) {
|
|
388
|
+
const rawPath = resolve(ctx.target, rawInput);
|
|
389
|
+
const content = await readOptional(rawPath);
|
|
390
|
+
if (!content.trim()) {
|
|
391
|
+
console.error(pc.red(`✗ optimized demo stopped: raw testing input is empty or missing: ${rawInput}`));
|
|
392
|
+
process.exit(1);
|
|
393
|
+
}
|
|
394
|
+
const title = inferScenarioName(content) ?? rawInput.split("/").pop()?.replace(/\.[^.]+$/, "") ?? "generated case";
|
|
395
|
+
const fillValue = inferFillValue(content);
|
|
396
|
+
const expectedText = inferExpectedText(content, fillValue);
|
|
397
|
+
const caseId = slugify(`${ctx.moduleId}-${title}`);
|
|
398
|
+
const steps = [
|
|
399
|
+
{
|
|
400
|
+
id: "step-1",
|
|
401
|
+
intent: "Open the demo entry page",
|
|
402
|
+
action: "goto",
|
|
403
|
+
target: "{{baseUrl}}",
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
id: "step-2",
|
|
407
|
+
intent: "Perform the primary user input from the raw test case",
|
|
408
|
+
action: "fill",
|
|
409
|
+
locator: {
|
|
410
|
+
strategy: "role",
|
|
411
|
+
role: "textbox",
|
|
412
|
+
},
|
|
413
|
+
value: fillValue,
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
id: "step-3",
|
|
417
|
+
intent: "Submit or advance the flow",
|
|
418
|
+
action: "click",
|
|
419
|
+
locator: {
|
|
420
|
+
strategy: "role",
|
|
421
|
+
role: "button",
|
|
422
|
+
},
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
id: "step-4",
|
|
426
|
+
intent: "Verify the expected visible result",
|
|
427
|
+
action: "assert",
|
|
428
|
+
locator: {
|
|
429
|
+
strategy: "text",
|
|
430
|
+
text: expectedText,
|
|
431
|
+
},
|
|
432
|
+
},
|
|
433
|
+
];
|
|
434
|
+
cases.push({
|
|
435
|
+
id: caseId,
|
|
436
|
+
title,
|
|
437
|
+
source: rawInput,
|
|
438
|
+
priority: "P0",
|
|
439
|
+
preconditions: [
|
|
440
|
+
"Raw test case is mapped in module.yaml.",
|
|
441
|
+
`If authentication is required, Playwright storageState is prepared under ${ctx.playwrightAuthState} and gitignored.`,
|
|
442
|
+
"Computer Use observation is preferred for visual/current-page refinement when available; otherwise use Playwright MCP/ARIA/CDP, manual evidence, or Browser Use only in runtimes that support it.",
|
|
443
|
+
],
|
|
444
|
+
uiObservationBoundary: {
|
|
445
|
+
role: "observation-only",
|
|
446
|
+
allowedOutput: "structured observation with URL, page title, visible targets, role/label hints, auth/session note, and privacy note",
|
|
447
|
+
prohibitedOutputs: ["test-plan.json", ".spec.ts"],
|
|
448
|
+
},
|
|
449
|
+
steps,
|
|
450
|
+
assertions: [
|
|
451
|
+
{
|
|
452
|
+
intent: "Expected result from raw test case is visible",
|
|
453
|
+
type: "visible",
|
|
454
|
+
locator: {
|
|
455
|
+
strategy: "text",
|
|
456
|
+
text: expectedText,
|
|
457
|
+
},
|
|
458
|
+
},
|
|
459
|
+
],
|
|
460
|
+
risks: [
|
|
461
|
+
"Generated locator names must be refined from Computer Use, Playwright MCP/ARIA/CDP, manual evidence, or supported Browser Use observation before promotion.",
|
|
462
|
+
"Do not fall back to Playwright MCP or the hybrid bridge in optimized mode.",
|
|
463
|
+
],
|
|
464
|
+
});
|
|
465
|
+
}
|
|
466
|
+
await writeJson(resolve(ctx.target, testPlanRel), {
|
|
467
|
+
version: 1,
|
|
468
|
+
mode: "optimized",
|
|
469
|
+
module: ctx.moduleId,
|
|
470
|
+
session: session.id,
|
|
471
|
+
generatedAt: now,
|
|
472
|
+
toolchain: ["ui-observation", "playwright-cli", "playwright-skills", "playwright-test"],
|
|
473
|
+
forbiddenSurfaces: ["playwright_mcp", "hybrid_bridge"],
|
|
474
|
+
sources: {
|
|
475
|
+
testing: rawInputs,
|
|
476
|
+
},
|
|
477
|
+
auth: {
|
|
478
|
+
storageState: ctx.playwrightAuthState,
|
|
479
|
+
validation: authValidation,
|
|
480
|
+
gitignoreRequired: true,
|
|
481
|
+
runtimeEnv: "ZSK_PLAYWRIGHT_STORAGE_STATE",
|
|
482
|
+
note: authValidation.status === "valid"
|
|
483
|
+
? "Storage state was validated as a reusable Playwright login/session state. It may contain sensitive cookies/localStorage and must not be committed."
|
|
484
|
+
: "No reusable storageState file was found. Public demos may proceed; authenticated demos must capture and validate storageState before completion.",
|
|
485
|
+
},
|
|
486
|
+
uiObservationHandoff: {
|
|
487
|
+
requiredBeforePromotion: true,
|
|
488
|
+
writesRepoArtifacts: false,
|
|
489
|
+
expectedShape: {
|
|
490
|
+
url: "",
|
|
491
|
+
title: "",
|
|
492
|
+
humanGoal: "",
|
|
493
|
+
visibleTargets: [],
|
|
494
|
+
locatorHints: [],
|
|
495
|
+
authSessionNote: "",
|
|
496
|
+
privacyNote: "",
|
|
497
|
+
},
|
|
498
|
+
},
|
|
499
|
+
output: {
|
|
500
|
+
playwrightSpec: specRel,
|
|
501
|
+
evidenceDir: session.evidenceDir,
|
|
502
|
+
},
|
|
503
|
+
cases,
|
|
504
|
+
});
|
|
505
|
+
const specPath = resolve(ctx.target, specRel);
|
|
506
|
+
await mkdir(resolve(specPath, ".."), { recursive: true });
|
|
507
|
+
await writeFile(specPath, renderOptimizedSpec(ctx.moduleId, cases), "utf8");
|
|
508
|
+
console.log(pc.dim(`test plan: ${testPlanRel}`));
|
|
509
|
+
console.log(pc.dim(`spec: ${specRel}`));
|
|
510
|
+
}
|
|
511
|
+
async function readModuleConfig(target, moduleId) {
|
|
512
|
+
const config = await readProjectConfig(target);
|
|
513
|
+
const moduleFiles = await findModuleConfigFiles(target, config);
|
|
514
|
+
for (const file of moduleFiles) {
|
|
515
|
+
const parsed = YAML.parse(await readFile(file, "utf8"));
|
|
516
|
+
if (isModuleConfig(parsed) && parsed.module?.id === moduleId)
|
|
517
|
+
return parsed;
|
|
518
|
+
}
|
|
519
|
+
console.error(pc.red(`✗ optimized demo stopped: module config not found for ${moduleId}`));
|
|
520
|
+
process.exit(1);
|
|
521
|
+
}
|
|
522
|
+
function chooseTestPlanPath(moduleConfig, scenarioDir) {
|
|
523
|
+
return (moduleConfig.tests?.derived_cases?.find((entry) => entry.endsWith(".json")) ??
|
|
524
|
+
join(scenarioDir, "test-plan.json"));
|
|
525
|
+
}
|
|
526
|
+
function chooseSpecPath(moduleConfig, scenarioDir, moduleId) {
|
|
527
|
+
const e2e = moduleConfig.tests?.automated?.e2e?.[0];
|
|
528
|
+
if (e2e?.endsWith(".ts"))
|
|
529
|
+
return e2e;
|
|
530
|
+
return join(e2e ?? scenarioDir, `${moduleId}-generated.spec.ts`);
|
|
531
|
+
}
|
|
532
|
+
function renderOptimizedSpec(moduleId, cases) {
|
|
533
|
+
const lines = [
|
|
534
|
+
`import { test, expect } from "@playwright/test";`,
|
|
535
|
+
``,
|
|
536
|
+
`const storageState = process.env.ZSK_PLAYWRIGHT_STORAGE_STATE;`,
|
|
537
|
+
`if (storageState) test.use({ storageState });`,
|
|
538
|
+
``,
|
|
539
|
+
`test.describe("${escapeForDoubleQuotedString(moduleId)} optimized demo scenarios", () => {`,
|
|
540
|
+
];
|
|
541
|
+
for (const testCase of cases) {
|
|
542
|
+
const fill = testCase.steps.find((step) => step.action === "fill");
|
|
543
|
+
const click = testCase.steps.find((step) => step.action === "click");
|
|
544
|
+
const assertion = testCase.steps.find((step) => step.action === "assert");
|
|
545
|
+
lines.push(` test("${escapeForDoubleQuotedString(testCase.title)}", async ({ page }) => {`, ` const baseUrl = process.env.ZSK_DEMO_BASE_URL;`, ` if (!baseUrl) throw new Error("Set ZSK_DEMO_BASE_URL to run this scenario.");`, ` await page.goto(baseUrl);`, ``, ` // Source: ${escapeForLineComment(testCase.source)}`, ` // ZSK_GENERATED_REFINEMENT_REQUIRED: refine locator names from Computer Use, Playwright MCP/ARIA/CDP, manual evidence, or compatible Browser Use before promotion.`);
|
|
546
|
+
if (fill?.locator?.role && fill.value) {
|
|
547
|
+
lines.push(` await ${renderRoleLocator(fill.locator.role, fill.locator.name)}.fill(${quote(fill.value)});`);
|
|
548
|
+
}
|
|
549
|
+
if (click?.locator?.role) {
|
|
550
|
+
lines.push(` await ${renderRoleLocator(click.locator.role, click.locator.name)}.click();`);
|
|
551
|
+
}
|
|
552
|
+
if (assertion?.locator?.text) {
|
|
553
|
+
lines.push(` await expect(page.getByText(${quote(assertion.locator.text)})).toBeVisible();`);
|
|
554
|
+
}
|
|
555
|
+
else {
|
|
556
|
+
lines.push(` await expect(page).toHaveURL(/.+/);`);
|
|
557
|
+
}
|
|
558
|
+
lines.push(` });`, ``);
|
|
559
|
+
}
|
|
560
|
+
lines.push(`});`, ``);
|
|
561
|
+
return lines.join("\n");
|
|
562
|
+
}
|
|
563
|
+
async function validatePlaywrightAuthState(target, storageState, validatedAt) {
|
|
564
|
+
const file = resolve(target, storageState);
|
|
565
|
+
let parsed;
|
|
566
|
+
try {
|
|
567
|
+
parsed = JSON.parse(await readFile(file, "utf8"));
|
|
568
|
+
}
|
|
569
|
+
catch (error) {
|
|
570
|
+
const code = typeof error === "object" && error !== null && "code" in error
|
|
571
|
+
? String(error.code)
|
|
572
|
+
: "";
|
|
573
|
+
if (code === "ENOENT") {
|
|
574
|
+
return {
|
|
575
|
+
storageState,
|
|
576
|
+
status: "missing",
|
|
577
|
+
validatedAt,
|
|
578
|
+
cookies: 0,
|
|
579
|
+
origins: 0,
|
|
580
|
+
message: "storageState file does not exist yet",
|
|
581
|
+
};
|
|
582
|
+
}
|
|
583
|
+
return {
|
|
584
|
+
storageState,
|
|
585
|
+
status: "invalid",
|
|
586
|
+
validatedAt,
|
|
587
|
+
cookies: 0,
|
|
588
|
+
origins: 0,
|
|
589
|
+
message: "storageState file is not valid JSON",
|
|
590
|
+
};
|
|
591
|
+
}
|
|
592
|
+
if (!isRecord(parsed)) {
|
|
593
|
+
return {
|
|
594
|
+
storageState,
|
|
595
|
+
status: "invalid",
|
|
596
|
+
validatedAt,
|
|
597
|
+
cookies: 0,
|
|
598
|
+
origins: 0,
|
|
599
|
+
message: "storageState JSON must be an object",
|
|
600
|
+
};
|
|
601
|
+
}
|
|
602
|
+
const cookies = Array.isArray(parsed.cookies) ? parsed.cookies.length : -1;
|
|
603
|
+
const origins = Array.isArray(parsed.origins) ? parsed.origins.length : -1;
|
|
604
|
+
if (cookies < 0 || origins < 0) {
|
|
605
|
+
return {
|
|
606
|
+
storageState,
|
|
607
|
+
status: "invalid",
|
|
608
|
+
validatedAt,
|
|
609
|
+
cookies: Math.max(cookies, 0),
|
|
610
|
+
origins: Math.max(origins, 0),
|
|
611
|
+
message: "storageState must include Playwright cookies and origins arrays",
|
|
612
|
+
};
|
|
613
|
+
}
|
|
614
|
+
if (cookies === 0 && origins === 0) {
|
|
615
|
+
return {
|
|
616
|
+
storageState,
|
|
617
|
+
status: "invalid",
|
|
618
|
+
validatedAt,
|
|
619
|
+
cookies,
|
|
620
|
+
origins,
|
|
621
|
+
message: "storageState contains no cookies or localStorage origins, so it cannot prove reusable login/session credentials",
|
|
622
|
+
};
|
|
623
|
+
}
|
|
624
|
+
return {
|
|
625
|
+
storageState,
|
|
626
|
+
status: "valid",
|
|
627
|
+
validatedAt,
|
|
628
|
+
cookies,
|
|
629
|
+
origins,
|
|
630
|
+
message: "storageState is parseable and contains reusable session material",
|
|
631
|
+
loginBypassEvidence: "Generated Playwright specs can reuse this state through ZSK_PLAYWRIGHT_STORAGE_STATE.",
|
|
632
|
+
};
|
|
633
|
+
}
|
|
356
634
|
async function updateWorkflowState(file, moduleId, session) {
|
|
357
635
|
let state = { version: 1, modules: {} };
|
|
358
636
|
try {
|
|
@@ -389,17 +667,18 @@ function createSessionId(now) {
|
|
|
389
667
|
return `demo-${now.replace(/[-:.TZ]/g, "").slice(0, 14)}`;
|
|
390
668
|
}
|
|
391
669
|
function interpolate(value, moduleId) {
|
|
392
|
-
return value
|
|
670
|
+
return interpolateModulePath(value, moduleId);
|
|
393
671
|
}
|
|
394
672
|
function normalizeMode(value) {
|
|
395
673
|
if (value === "manual" ||
|
|
396
674
|
value === "script" ||
|
|
675
|
+
value === "optimized" ||
|
|
397
676
|
value === "playwright" ||
|
|
398
677
|
value === "computer-use" ||
|
|
399
678
|
value === "hybrid") {
|
|
400
679
|
return value;
|
|
401
680
|
}
|
|
402
|
-
return "
|
|
681
|
+
return "optimized";
|
|
403
682
|
}
|
|
404
683
|
function mapWorkflowStatus(status) {
|
|
405
684
|
if (status === "completed")
|
|
@@ -407,14 +686,19 @@ function mapWorkflowStatus(status) {
|
|
|
407
686
|
return status;
|
|
408
687
|
}
|
|
409
688
|
function automationNote(mode) {
|
|
689
|
+
if (mode === "optimized")
|
|
690
|
+
return "Generated test-plan.json and Playwright spec from raw testing inputs.";
|
|
410
691
|
if (mode === "playwright")
|
|
411
692
|
return "Prepared Playwright demo run and scenario preservation paths.";
|
|
412
693
|
if (mode === "hybrid")
|
|
413
694
|
return "Prepared decision-tool -> Playwright bridge run.";
|
|
414
695
|
if (mode === "computer-use")
|
|
415
|
-
return "Prepared explicit
|
|
696
|
+
return "Prepared explicit Computer Use observation run with compatible fallback evidence if unavailable.";
|
|
416
697
|
return "Prepared scripted demo run.";
|
|
417
698
|
}
|
|
699
|
+
function bridgeForMode(mode, bridge) {
|
|
700
|
+
return mode === "hybrid" ? bridge : undefined;
|
|
701
|
+
}
|
|
418
702
|
function observationSourceForDecisionTool(decisionTool) {
|
|
419
703
|
if (decisionTool === "playwright_mcp")
|
|
420
704
|
return "aria_snapshot";
|
|
@@ -486,11 +770,16 @@ function synthesizePlaywrightSteps(targets, testCase) {
|
|
|
486
770
|
steps.push(`await expect(page).toHaveURL(/.+/);`);
|
|
487
771
|
}
|
|
488
772
|
else {
|
|
489
|
-
steps.push(`//
|
|
773
|
+
steps.push(`// Provide a Playwright accessibility snapshot to synthesize role-first locators.`);
|
|
490
774
|
steps.push(`await expect(page).toHaveURL(/.+/);`);
|
|
491
775
|
}
|
|
492
776
|
return steps;
|
|
493
777
|
}
|
|
778
|
+
function renderRoleLocator(role, name) {
|
|
779
|
+
if (name)
|
|
780
|
+
return `page.getByRole(${quote(role)}, { name: ${quote(name)} })`;
|
|
781
|
+
return `page.getByRole(${quote(role)}).first()`;
|
|
782
|
+
}
|
|
494
783
|
function normalizeRole(role) {
|
|
495
784
|
if (role === "textbox")
|
|
496
785
|
return "textbox";
|
|
@@ -530,4 +819,20 @@ function quote(value) {
|
|
|
530
819
|
function escapeForDoubleQuotedString(value) {
|
|
531
820
|
return value.replace(/\\/g, "\\\\").replace(/"/g, "\\\"");
|
|
532
821
|
}
|
|
822
|
+
function escapeForLineComment(value) {
|
|
823
|
+
return value.replace(/\*\//g, "* /").replace(/\n/g, " ");
|
|
824
|
+
}
|
|
825
|
+
function inferExpectedText(testCase, fallback) {
|
|
826
|
+
const expected = testCase.match(/(?:expect|should see|visible|断言|期望|显示|可见)\s*[::]?\s*["“”']?([^"“”'\n。]{2,80})/i);
|
|
827
|
+
if (expected?.[1])
|
|
828
|
+
return expected[1].trim();
|
|
829
|
+
const quoted = [...testCase.matchAll(/["“”']([^"“”']{2,80})["“”']/g)].map((match) => match[1]).filter(Boolean);
|
|
830
|
+
return quoted.at(-1) ?? fallback;
|
|
831
|
+
}
|
|
832
|
+
function isModuleConfig(value) {
|
|
833
|
+
return typeof value === "object" && value !== null;
|
|
834
|
+
}
|
|
835
|
+
function isRecord(value) {
|
|
836
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
837
|
+
}
|
|
533
838
|
//# sourceMappingURL=demo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/commands/demo.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/commands/demo.ts"],"names":[],"mappings":"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"}
|