@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.
Files changed (74) hide show
  1. package/README.md +24 -32
  2. package/dist/bin.js +6 -4
  3. package/dist/bin.js.map +1 -1
  4. package/dist/commands/check.d.ts +1 -0
  5. package/dist/commands/check.js +188 -11
  6. package/dist/commands/check.js.map +1 -1
  7. package/dist/commands/config.js +1 -1
  8. package/dist/commands/config.js.map +1 -1
  9. package/dist/commands/demo.d.ts +1 -0
  10. package/dist/commands/demo.js +341 -36
  11. package/dist/commands/demo.js.map +1 -1
  12. package/dist/commands/issue.js +5 -5
  13. package/dist/commands/issue.js.map +1 -1
  14. package/dist/commands/module.js +11 -28
  15. package/dist/commands/module.js.map +1 -1
  16. package/dist/commands/prep.js +3 -3
  17. package/dist/commands/prep.js.map +1 -1
  18. package/dist/commands/project-init.js +60 -10
  19. package/dist/commands/project-init.js.map +1 -1
  20. package/dist/core/config.d.ts +13 -2
  21. package/dist/core/config.js +64 -11
  22. package/dist/core/config.js.map +1 -1
  23. package/dist/core/scaffolder.js +5 -2
  24. package/dist/core/scaffolder.js.map +1 -1
  25. package/dist/core/workspace-layout.d.ts +54 -0
  26. package/dist/core/workspace-layout.js +107 -0
  27. package/dist/core/workspace-layout.js.map +1 -0
  28. package/package.json +2 -2
  29. package/schemas/zsk-config.schema.json +25 -4
  30. package/templates/issue/default/issue.md +5 -5
  31. package/templates/module/frontend-module/module.yaml +4 -3
  32. package/templates/module/frontend-module/tasks.md +2 -2
  33. package/templates/project-init/.zsk/config.yaml +34 -24
  34. package/templates/project-init/.zsk/docs/PROJECT-CONFIG.md +39 -0
  35. package/templates/project-init/.zsk/docs/SYSTEM-SPEC.md +27 -0
  36. package/templates/project-init/{.issues → .zsk/issues}/README.md +19 -18
  37. package/templates/project-init/.zsk/issues/_taxonomy.md +35 -0
  38. package/templates/project-init/.zsk/modules/.gitkeep +1 -0
  39. package/templates/project-init/.zsk/plans/.gitkeep +1 -0
  40. package/templates/project-init/.zsk/playwright/.gitkeep +1 -0
  41. package/templates/project-init/.zsk/resources/.gitkeep +1 -0
  42. package/templates/module/frontend-module/acceptance.md +0 -18
  43. package/templates/module/frontend-module/archive.md +0 -17
  44. package/templates/module/frontend-module/commit.md +0 -15
  45. package/templates/module/frontend-module/demo-outline.md +0 -59
  46. package/templates/module/frontend-module/demo-report.md +0 -23
  47. package/templates/module/frontend-module/deploy.md +0 -18
  48. package/templates/module/frontend-module/ready.md +0 -12
  49. package/templates/module/frontend-module/review.md +0 -12
  50. package/templates/module/frontend-module/scenarios/index.md +0 -21
  51. package/templates/module/frontend-module/scenarios/p0-happy-path.spec.ts +0 -13
  52. package/templates/module/frontend-module/smoke.md +0 -21
  53. package/templates/module/frontend-module/verification.md +0 -6
  54. package/templates/module/frontend-module/verify.md +0 -12
  55. package/templates/project-init/.issues/_taxonomy.md +0 -35
  56. package/templates/project-init/.raws/README.md +0 -27
  57. package/templates/project-init/.raws/api-contracts/index.md +0 -22
  58. package/templates/project-init/.raws/backend-repositories/index.md +0 -12
  59. package/templates/project-init/.raws/design-assets/index.md +0 -25
  60. package/templates/project-init/.raws/design-sources/index.md +0 -24
  61. package/templates/project-init/.raws/index.md +0 -56
  62. package/templates/project-init/.raws/issues/index.md +0 -4
  63. package/templates/project-init/.raws/manifest.json +0 -4
  64. package/templates/project-init/.raws/requirements/index.md +0 -23
  65. package/templates/project-init/.raws/testing/index.md +0 -22
  66. package/templates/project-init/.zsk/checkpoints/index.md +0 -4
  67. package/templates/project-init/.zsk/learning/index.md +0 -14
  68. package/templates/project-init/.zsk/resource-manifest.json +0 -55
  69. package/templates/project-init/.zsk/workflow-state.json +0 -6
  70. package/templates/project-init/docs/SYSTEM-SPEC.md +0 -53
  71. package/templates/project-init/docs/_module-index.md +0 -15
  72. package/templates/project-init/project-config.md +0 -154
  73. /package/templates/project-init/.zsk/{learning/proposals → evidence}/.gitkeep +0 -0
  74. /package/templates/project-init/{.issues → .zsk/issues}/index.md +0 -0
@@ -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: ctx.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.computerUse
44
- ? "computer-use"
45
- : opts.playwright
46
- ? "playwright"
47
- : "script";
48
- const ctx = await prepare(opts);
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: ctx.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 = ctx.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 an explicit visual/system fallback; record why Playwright or Browser Use was insufficient."));
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 ?? "TODO: map .raws/testing test case",
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 ?? "TODO: Playwright MCP observation id, Browser Use handoff, or snapshot path",
180
+ source: opts.snapshot ?? "unmapped accessibility snapshot, Computer Use observation, or compatible handoff",
170
181
  },
171
- browserUseHandoff: "TODO: optional Browser Use handoff path",
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
- ` test.skip(!process.env.ZSK_DEMO_BASE_URL, "Set ZSK_DEMO_BASE_URL to run this scenario.");`,
185
- ` await page.goto(process.env.ZSK_DEMO_BASE_URL);`,
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 issueRoot = config.paths?.issues ?? ".issues";
251
- const docsRoot = config.paths?.docs ?? "docs";
252
- const evidenceDir = interpolate(demoConfig?.evidenceDir ?? `${issueRoot}/{module}/demo/_evidence`, moduleId);
253
- const scenarioDir = interpolate(demoConfig?.scenarioDir ?? `${docsRoot}/{module}/scenarios`, moduleId);
254
- const bridgePlan = interpolate(demoConfig?.bridge?.planFile ?? `.zsk/demo-sessions/{module}/operation-plan.json`, moduleId);
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, ".zsk", "workflow-state.json"),
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: "TODO: fill from Playwright MCP aria snapshot, Browser Use session note, or Computer Use observation.",
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: "TODO: describe next demo operation.",
327
+ intent: "Describe next demo operation before execution.",
319
328
  locator: {
320
329
  kind: "role",
321
330
  role: "button",
322
- name: "TODO",
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.split("{module}").join(moduleId);
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 "hybrid";
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 computer-use fallback run.";
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(`// TODO: Provide a Playwright MCP aria snapshot to synthesize role-first locators.`);
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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"}