@tryvitris/website-harness 1.0.0 → 1.0.1

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 (37) hide show
  1. package/bin/api/agent/evaluate.js +1 -1
  2. package/bin/api/agent/grade.js +1 -1
  3. package/bin/api/cli/api.js +9 -9
  4. package/bin/api/cli.js +11 -11
  5. package/bin/api/engine.js +2 -2
  6. package/bin/api/hosting.js +3 -3
  7. package/bin/chunks/{chunk-SEMH6MCV.js → chunk-445FZZEC.js} +7 -7
  8. package/bin/chunks/{chunk-PYCRUMCT.js → chunk-54QPYUM2.js} +1 -1
  9. package/bin/chunks/{chunk-R2WRQDVE.js → chunk-65LRZIBP.js} +1 -1
  10. package/bin/chunks/{chunk-FGSQE3DU.js → chunk-72Y4YMTV.js} +1 -1
  11. package/bin/chunks/{chunk-XY73ZLHB.js → chunk-GQPUILFR.js} +33 -5
  12. package/bin/chunks/{chunk-A2XMAPVW.js → chunk-JBSGJR7X.js} +1 -1
  13. package/bin/chunks/{chunk-YXJAQYDE.js → chunk-KIWEFRNG.js} +5 -5
  14. package/bin/chunks/{chunk-UFTVWTEZ.js → chunk-M72KKZIB.js} +2 -2
  15. package/bin/chunks/{chunk-LZC37OJZ.js → chunk-RE4GOHSU.js} +2 -2
  16. package/bin/chunks/{chunk-WMJVLMU2.js → chunk-UR4NWYVW.js} +2 -2
  17. package/bin/chunks/{chunk-3OKR5AZJ.js → chunk-VKU5TY5C.js} +1 -1
  18. package/bin/chunks/{design-context-store-W3VTZ4HA.js → design-context-store-ETVS4N6W.js} +1 -1
  19. package/bin/chunks/{packets-LBMDIFPO.js → packets-XFXKHSEY.js} +1 -1
  20. package/bin/chunks/{preparation-AV4PDQY6.js → preparation-3OR7LVPQ.js} +1 -1
  21. package/bin/types/src/agent/refine-document-checks.d.ts +5 -0
  22. package/bin/vitris-art.js +1 -1
  23. package/bin/vitris-create-site.js +3 -3
  24. package/bin/vitris-cursor-hook.js +1 -1
  25. package/bin/vitris-eval.js +3 -3
  26. package/bin/vitris-go.js +3 -3
  27. package/bin/vitris-harvest.js +2 -2
  28. package/bin/vitris-knowledge.js +2 -2
  29. package/bin/vitris-launch-preflight.js +1 -1
  30. package/bin/vitris-motion-view.js +1 -1
  31. package/bin/vitris-refresh.js +2 -2
  32. package/bin/vitris-stock.js +1 -1
  33. package/bin/vitris-themes.js +1 -1
  34. package/bin/vitris-upgrade.js +2 -2
  35. package/bin/vitris-verify-browser.js +1 -1
  36. package/bin/vitris.js +11 -11
  37. package/package.json +2 -2
@@ -11,7 +11,7 @@ import {
11
11
  parentDiversitySourceSubject,
12
12
  reviewSubject,
13
13
  validateParentDiversityReview
14
- } from "../../chunks/chunk-XY73ZLHB.js";
14
+ } from "../../chunks/chunk-GQPUILFR.js";
15
15
  import "../../chunks/chunk-KVMZSQ3D.js";
16
16
  import "../../chunks/chunk-WOORR67N.js";
17
17
  import "../../chunks/chunk-PRLL7B63.js";
@@ -9,7 +9,7 @@ import {
9
9
  gradePages,
10
10
  gradePreview,
11
11
  gradeResearch
12
- } from "../../chunks/chunk-XY73ZLHB.js";
12
+ } from "../../chunks/chunk-GQPUILFR.js";
13
13
  import "../../chunks/chunk-KVMZSQ3D.js";
14
14
  import "../../chunks/chunk-WOORR67N.js";
15
15
  import "../../chunks/chunk-PRLL7B63.js";
@@ -11,7 +11,7 @@ import {
11
11
  runDoctor,
12
12
  shareSite,
13
13
  synthesizeSite
14
- } from "../../chunks/chunk-YXJAQYDE.js";
14
+ } from "../../chunks/chunk-KIWEFRNG.js";
15
15
  import {
16
16
  applyOperations,
17
17
  buildSiteDraft,
@@ -19,35 +19,35 @@ import {
19
19
  inspectSite,
20
20
  prepareChange,
21
21
  verifyChange
22
- } from "../../chunks/chunk-FGSQE3DU.js";
22
+ } from "../../chunks/chunk-72Y4YMTV.js";
23
23
  import {
24
24
  deployVerifiedArtifact,
25
25
  prepareQuickRelease,
26
26
  prepareVerifiedRelease,
27
27
  verifySite
28
- } from "../../chunks/chunk-WMJVLMU2.js";
28
+ } from "../../chunks/chunk-UR4NWYVW.js";
29
29
  import {
30
30
  upgradeSite
31
- } from "../../chunks/chunk-A2XMAPVW.js";
31
+ } from "../../chunks/chunk-JBSGJR7X.js";
32
32
  import {
33
33
  createSite
34
- } from "../../chunks/chunk-UFTVWTEZ.js";
34
+ } from "../../chunks/chunk-M72KKZIB.js";
35
35
  import "../../chunks/chunk-2NW7KSPA.js";
36
36
  import {
37
37
  buildAdapterConfig,
38
38
  runPreserve,
39
39
  runSite,
40
40
  statusSite
41
- } from "../../chunks/chunk-LZC37OJZ.js";
42
- import "../../chunks/chunk-R2WRQDVE.js";
41
+ } from "../../chunks/chunk-RE4GOHSU.js";
42
+ import "../../chunks/chunk-65LRZIBP.js";
43
43
  import "../../chunks/chunk-34H54KEY.js";
44
44
  import {
45
45
  EXIT_CODES
46
46
  } from "../../chunks/chunk-JCRGE6AL.js";
47
47
  import "../../chunks/chunk-XL2DRAYI.js";
48
- import "../../chunks/chunk-PYCRUMCT.js";
48
+ import "../../chunks/chunk-54QPYUM2.js";
49
49
  import "../../chunks/chunk-XGTHGWPW.js";
50
- import "../../chunks/chunk-XY73ZLHB.js";
50
+ import "../../chunks/chunk-GQPUILFR.js";
51
51
  import "../../chunks/chunk-KVMZSQ3D.js";
52
52
  import "../../chunks/chunk-WOORR67N.js";
53
53
  import "../../chunks/chunk-PRLL7B63.js";
package/bin/api/cli.js CHANGED
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  runCli
3
- } from "../chunks/chunk-SEMH6MCV.js";
4
- import "../chunks/chunk-YXJAQYDE.js";
5
- import "../chunks/chunk-FGSQE3DU.js";
6
- import "../chunks/chunk-WMJVLMU2.js";
7
- import "../chunks/chunk-A2XMAPVW.js";
8
- import "../chunks/chunk-UFTVWTEZ.js";
3
+ } from "../chunks/chunk-445FZZEC.js";
4
+ import "../chunks/chunk-KIWEFRNG.js";
5
+ import "../chunks/chunk-72Y4YMTV.js";
6
+ import "../chunks/chunk-UR4NWYVW.js";
7
+ import "../chunks/chunk-JBSGJR7X.js";
8
+ import "../chunks/chunk-M72KKZIB.js";
9
9
  import "../chunks/chunk-2NW7KSPA.js";
10
- import "../chunks/chunk-3OKR5AZJ.js";
11
- import "../chunks/chunk-LZC37OJZ.js";
12
- import "../chunks/chunk-R2WRQDVE.js";
10
+ import "../chunks/chunk-VKU5TY5C.js";
11
+ import "../chunks/chunk-RE4GOHSU.js";
12
+ import "../chunks/chunk-65LRZIBP.js";
13
13
  import "../chunks/chunk-34H54KEY.js";
14
14
  import "../chunks/chunk-JCRGE6AL.js";
15
15
  import "../chunks/chunk-XL2DRAYI.js";
16
- import "../chunks/chunk-PYCRUMCT.js";
16
+ import "../chunks/chunk-54QPYUM2.js";
17
17
  import "../chunks/chunk-XGTHGWPW.js";
18
- import "../chunks/chunk-XY73ZLHB.js";
18
+ import "../chunks/chunk-GQPUILFR.js";
19
19
  import "../chunks/chunk-KVMZSQ3D.js";
20
20
  import "../chunks/chunk-WOORR67N.js";
21
21
  import "../chunks/chunk-PRLL7B63.js";
package/bin/api/engine.js CHANGED
@@ -7,11 +7,11 @@ import {
7
7
  prepareChange,
8
8
  publicEditManifest,
9
9
  verifyChange
10
- } from "../chunks/chunk-FGSQE3DU.js";
10
+ } from "../chunks/chunk-72Y4YMTV.js";
11
11
  import {
12
12
  changedSourceFiles,
13
13
  sourceRevision
14
- } from "../chunks/chunk-XY73ZLHB.js";
14
+ } from "../chunks/chunk-GQPUILFR.js";
15
15
  import "../chunks/chunk-KVMZSQ3D.js";
16
16
  import "../chunks/chunk-WOORR67N.js";
17
17
  import "../chunks/chunk-PRLL7B63.js";
@@ -2,12 +2,12 @@ import {
2
2
  deployVerifiedArtifact,
3
3
  prepareQuickRelease,
4
4
  prepareVerifiedRelease
5
- } from "../chunks/chunk-WMJVLMU2.js";
5
+ } from "../chunks/chunk-UR4NWYVW.js";
6
6
  import "../chunks/chunk-2NW7KSPA.js";
7
- import "../chunks/chunk-R2WRQDVE.js";
7
+ import "../chunks/chunk-65LRZIBP.js";
8
8
  import "../chunks/chunk-JCRGE6AL.js";
9
9
  import "../chunks/chunk-XL2DRAYI.js";
10
- import "../chunks/chunk-XY73ZLHB.js";
10
+ import "../chunks/chunk-GQPUILFR.js";
11
11
  import "../chunks/chunk-KVMZSQ3D.js";
12
12
  import "../chunks/chunk-WOORR67N.js";
13
13
  import "../chunks/chunk-PRLL7B63.js";
@@ -11,30 +11,30 @@ import {
11
11
  runDoctor,
12
12
  shareSite,
13
13
  synthesizeSite
14
- } from "./chunk-YXJAQYDE.js";
14
+ } from "./chunk-KIWEFRNG.js";
15
15
  import {
16
16
  verifySite
17
- } from "./chunk-WMJVLMU2.js";
17
+ } from "./chunk-UR4NWYVW.js";
18
18
  import {
19
19
  upgradeSite
20
- } from "./chunk-A2XMAPVW.js";
20
+ } from "./chunk-JBSGJR7X.js";
21
21
  import {
22
22
  createSite
23
- } from "./chunk-UFTVWTEZ.js";
23
+ } from "./chunk-M72KKZIB.js";
24
24
  import {
25
25
  explainStage
26
- } from "./chunk-3OKR5AZJ.js";
26
+ } from "./chunk-VKU5TY5C.js";
27
27
  import {
28
28
  runSite,
29
29
  statusSite,
30
30
  workflowArgvFromFlags
31
- } from "./chunk-LZC37OJZ.js";
31
+ } from "./chunk-RE4GOHSU.js";
32
32
  import {
33
33
  EXIT_CODES
34
34
  } from "./chunk-JCRGE6AL.js";
35
35
  import {
36
36
  siteInputsFromFlags
37
- } from "./chunk-XY73ZLHB.js";
37
+ } from "./chunk-GQPUILFR.js";
38
38
  import {
39
39
  buildVerified,
40
40
  findHarnessRoot
@@ -13,7 +13,7 @@ import {
13
13
  formatExclusion,
14
14
  isErrorPage,
15
15
  isPlaywrightLaunchFailure
16
- } from "./chunk-XY73ZLHB.js";
16
+ } from "./chunk-GQPUILFR.js";
17
17
  import {
18
18
  json,
19
19
  save
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-XL2DRAYI.js";
4
4
  import {
5
5
  sourceRevision
6
- } from "./chunk-XY73ZLHB.js";
6
+ } from "./chunk-GQPUILFR.js";
7
7
  import {
8
8
  previewServer
9
9
  } from "./chunk-WEFDVXFX.js";
@@ -7,7 +7,7 @@ import {
7
7
  sourceRevision,
8
8
  verifyRefine,
9
9
  withMutationLock
10
- } from "./chunk-XY73ZLHB.js";
10
+ } from "./chunk-GQPUILFR.js";
11
11
  import {
12
12
  assertRequestId,
13
13
  parseChangePlan,
@@ -5172,7 +5172,7 @@ ${message}`;
5172
5172
  }
5173
5173
 
5174
5174
  // src/agent/refine.ts
5175
- import { parseFragment as parseFragment3 } from "parse5";
5175
+ import { parseFragment as parseFragment4 } from "parse5";
5176
5176
 
5177
5177
  // src/editing/identity.ts
5178
5178
  function attribute(attrs, name) {
@@ -5182,6 +5182,33 @@ function elementMatchesIdentity(attrs, identity) {
5182
5182
  return attribute(attrs, "data-vitris-field") === identity || attribute(attrs, "id") === identity;
5183
5183
  }
5184
5184
 
5185
+ // src/agent/refine-document-checks.ts
5186
+ import { parseFragment as parseFragment3 } from "parse5";
5187
+ function hasRefinementPlaceholder(html) {
5188
+ const token = /\[TODO\b|\[INSERT\b|\[TBD\b|\bundefined\b|\bNaN\b/i;
5189
+ const contains = (node) => {
5190
+ if (["script", "style", "#comment"].includes(node.nodeName)) return false;
5191
+ if (node.nodeName === "#text" && token.test(node.value || "")) return true;
5192
+ if (node.attrs?.some((attr2) => !/^on/i.test(attr2.name) && attr2.name !== "style" && token.test(attr2.value))) return true;
5193
+ return (node.childNodes || []).some(contains) || !!(node.content && contains(node.content));
5194
+ };
5195
+ return contains(parseFragment3(html));
5196
+ }
5197
+ async function settleRefinementImages(page, timeoutMs = 5e3) {
5198
+ await page.evaluate(`(async () => {
5199
+ let timer;
5200
+ try {
5201
+ await Promise.race([
5202
+ Promise.all([...document.images].filter(image => image.getClientRects().length).map(image => {
5203
+ image.loading = 'eager';
5204
+ return image.decode().catch(() => {});
5205
+ })),
5206
+ new Promise(resolve => { timer = setTimeout(resolve, ${Math.max(0, timeoutMs)}); })
5207
+ ]);
5208
+ } finally { clearTimeout(timer); }
5209
+ })()`);
5210
+ }
5211
+
5185
5212
  // src/agent/refine.ts
5186
5213
  var CHANGE_SCOPES = ["business", "copy", "pages", "direction", "media"];
5187
5214
  var COPY_REQUEST_NODES = ["copy", "pages"];
@@ -6350,7 +6377,7 @@ function sourceTargetText(root, target) {
6350
6377
  const matches = [];
6351
6378
  const content = (node) => node.nodeName === "#text" ? node.value || "" : (node.childNodes || []).map(content).join("");
6352
6379
  for (const file of candidates.filter((file2) => existsSync23(file2))) {
6353
- const tree = parseFragment3(readFileSync18(file, "utf8"));
6380
+ const tree = parseFragment4(readFileSync18(file, "utf8"));
6354
6381
  const walk = (node) => {
6355
6382
  if (elementMatchesIdentity(node.attrs, id)) matches.push(content(node).trim());
6356
6383
  for (const child of node.childNodes || []) walk(child);
@@ -6518,7 +6545,7 @@ function verifyFulfillment(root, request, baseline) {
6518
6545
  const htmlFiles = files(distDir).filter((f) => f.endsWith(".html"));
6519
6546
  for (const file of htmlFiles) {
6520
6547
  const content = readFileSync18(file, "utf8");
6521
- if (/\[TODO\b|\[INSERT\b|\[TBD\b|\bundefined\b|\bNaN\b/i.test(content)) {
6548
+ if (hasRefinementPlaceholder(content)) {
6522
6549
  errors.push(`Unresolved placeholder content found in ${file.slice(distDir.length).replace(/\\/g, "/")}`);
6523
6550
  }
6524
6551
  if (/<h[1-6]>\s*<\/h[1-6]>/i.test(content)) {
@@ -6543,7 +6570,7 @@ function verifyFulfillment(root, request, baseline) {
6543
6570
  errors.push(`Criterion ${criterion.id} route ${route} was not built`);
6544
6571
  continue;
6545
6572
  }
6546
- const tree = parseFragment3(readFileSync18(output, "utf8"));
6573
+ const tree = parseFragment4(readFileSync18(output, "utf8"));
6547
6574
  const matches = [];
6548
6575
  const walk = (node) => {
6549
6576
  if (elementMatchesIdentity(node.attrs, id)) matches.push(node);
@@ -6634,7 +6661,7 @@ function verifyFulfillment(root, request, baseline) {
6634
6661
  if (intentKeywords.length > 0) {
6635
6662
  const isRemoval = /\b(remove|delete|drop|hide|eliminate)\b/i.test(request.instruction);
6636
6663
  const visibleText = (node) => ["script", "style", "svg", "noscript"].includes(node.tagName) ? "" : node.nodeName === "#text" ? node.value : (node.childNodes || []).map(visibleText).join(" ");
6637
- const currentAllText = htmlFiles.map((f) => visibleText(parseFragment3(readFileSync18(f, "utf8"))).toLowerCase()).join(" ");
6664
+ const currentAllText = htmlFiles.map((f) => visibleText(parseFragment4(readFileSync18(f, "utf8"))).toLowerCase()).join(" ");
6638
6665
  const copyPlanPath = join22(root, "onboarding/copy-plan.json");
6639
6666
  const copyText = existsSync23(copyPlanPath) ? readFileSync18(copyPlanPath, "utf8").toLowerCase() : "";
6640
6667
  const fullText = currentAllText + " " + copyText;
@@ -6818,6 +6845,7 @@ async function verifyRefine(opts) {
6818
6845
  const url = `http://127.0.0.1:${address.port}${route === "/" ? "" : route}`;
6819
6846
  try {
6820
6847
  await page.goto(url, { waitUntil: "domcontentloaded", timeout: 15e3 });
6848
+ await settleRefinementImages(page);
6821
6849
  const observed = await page.evaluate(`(() => {
6822
6850
  const errors = [];
6823
6851
  if (document.documentElement.scrollWidth > innerWidth + 2) errors.push('Live browser horizontal overflow detected at ${width}px');
@@ -6,7 +6,7 @@ import {
6
6
  planKitUpgrade,
7
7
  recoverKitUpgrade,
8
8
  rollbackKitUpgrade
9
- } from "./chunk-XY73ZLHB.js";
9
+ } from "./chunk-GQPUILFR.js";
10
10
  import {
11
11
  findHarnessRoot
12
12
  } from "./chunk-H3BS2EBR.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  prepareChange,
3
3
  verifyChange
4
- } from "./chunk-FGSQE3DU.js";
4
+ } from "./chunk-72Y4YMTV.js";
5
5
  import {
6
6
  deployVerifiedArtifact,
7
7
  prepareQuickRelease,
8
8
  prepareVerifiedRelease
9
- } from "./chunk-WMJVLMU2.js";
9
+ } from "./chunk-UR4NWYVW.js";
10
10
  import {
11
11
  creativeRunStatus,
12
12
  currentRunId,
@@ -14,10 +14,10 @@ import {
14
14
  runCreativeProfile,
15
15
  startDesignReview,
16
16
  submitFeedback
17
- } from "./chunk-LZC37OJZ.js";
17
+ } from "./chunk-RE4GOHSU.js";
18
18
  import {
19
19
  verifyPreservedSite
20
- } from "./chunk-R2WRQDVE.js";
20
+ } from "./chunk-65LRZIBP.js";
21
21
  import {
22
22
  EXIT_CODES
23
23
  } from "./chunk-JCRGE6AL.js";
@@ -35,7 +35,7 @@ import {
35
35
  prepareRefine,
36
36
  runWorkflow,
37
37
  verifyRefine
38
- } from "./chunk-XY73ZLHB.js";
38
+ } from "./chunk-GQPUILFR.js";
39
39
  import {
40
40
  parseGraphYaml
41
41
  } from "./chunk-BBV7PMFC.js";
@@ -7,12 +7,12 @@ import {
7
7
  import {
8
8
  gatherBlankOnboard,
9
9
  persistOnboard
10
- } from "./chunk-PYCRUMCT.js";
10
+ } from "./chunk-54QPYUM2.js";
11
11
  import {
12
12
  persistSiteInputs,
13
13
  recordManagedKit,
14
14
  resolveSiteInputsLive
15
- } from "./chunk-XY73ZLHB.js";
15
+ } from "./chunk-GQPUILFR.js";
16
16
  import {
17
17
  initialState,
18
18
  parseGraphYaml
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  capturePreservedSite,
3
3
  verifyPreservedSite
4
- } from "./chunk-R2WRQDVE.js";
4
+ } from "./chunk-65LRZIBP.js";
5
5
  import {
6
6
  AGENT_RUNTIME_HISTORY_ENTRIES
7
7
  } from "./chunk-34H54KEY.js";
@@ -68,7 +68,7 @@ import {
68
68
  verifyAllowedWrites,
69
69
  withMutationLock,
70
70
  writeVisualProbe
71
- } from "./chunk-XY73ZLHB.js";
71
+ } from "./chunk-GQPUILFR.js";
72
72
  import {
73
73
  QUESTION_VERSION,
74
74
  questionSemanticsHash
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-2NW7KSPA.js";
4
4
  import {
5
5
  verifyPreservedSite
6
- } from "./chunk-R2WRQDVE.js";
6
+ } from "./chunk-65LRZIBP.js";
7
7
  import {
8
8
  EXIT_CODES
9
9
  } from "./chunk-JCRGE6AL.js";
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  gradeAll,
15
15
  sourceRevision
16
- } from "./chunk-XY73ZLHB.js";
16
+ } from "./chunk-GQPUILFR.js";
17
17
  import {
18
18
  parseReleaseRecord
19
19
  } from "./chunk-M4LNHYYR.js";
@@ -6,7 +6,7 @@ import {
6
6
  selectStageKnowledge,
7
7
  signalsFromSite,
8
8
  siteWidgets
9
- } from "./chunk-XY73ZLHB.js";
9
+ } from "./chunk-GQPUILFR.js";
10
10
  import {
11
11
  coverageReport,
12
12
  loadKnowledgeV2
@@ -3,7 +3,7 @@ import {
3
3
  loadPersistedDesignContextPacket,
4
4
  persistDesignContextArtifacts,
5
5
  resolveDesignContextExpansion
6
- } from "./chunk-XY73ZLHB.js";
6
+ } from "./chunk-GQPUILFR.js";
7
7
  import "./chunk-KVMZSQ3D.js";
8
8
  import "./chunk-WOORR67N.js";
9
9
  import "./chunk-PRLL7B63.js";
@@ -10,7 +10,7 @@ import {
10
10
  partitionByObligation,
11
11
  rankEvidenceRelevance,
12
12
  selectDiverseEvidence
13
- } from "./chunk-XY73ZLHB.js";
13
+ } from "./chunk-GQPUILFR.js";
14
14
  import "./chunk-KVMZSQ3D.js";
15
15
  import "./chunk-WOORR67N.js";
16
16
  import "./chunk-PRLL7B63.js";
@@ -30,7 +30,7 @@ import {
30
30
  withMutationLock,
31
31
  withMutationLockAsync,
32
32
  writeCommitJournal
33
- } from "./chunk-XY73ZLHB.js";
33
+ } from "./chunk-GQPUILFR.js";
34
34
  import "./chunk-KVMZSQ3D.js";
35
35
  import "./chunk-WOORR67N.js";
36
36
  import "./chunk-PRLL7B63.js";
@@ -0,0 +1,5 @@
1
+ export declare function hasRefinementPlaceholder(html: string): boolean;
2
+ /** Load laid-out lazy images in the isolated verification page before judging them. */
3
+ export declare function settleRefinementImages(page: {
4
+ evaluate: (expression: string) => Promise<unknown>;
5
+ }, timeoutMs?: number): Promise<void>;
package/bin/vitris-art.js CHANGED
@@ -12,7 +12,7 @@ import {
12
12
  retireProducedAsset,
13
13
  validateAssetProduction,
14
14
  withMutationLock
15
- } from "./chunks/chunk-XY73ZLHB.js";
15
+ } from "./chunks/chunk-GQPUILFR.js";
16
16
  import "./chunks/chunk-KVMZSQ3D.js";
17
17
  import "./chunks/chunk-WOORR67N.js";
18
18
  import "./chunks/chunk-PRLL7B63.js";
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  createSite
4
- } from "./chunks/chunk-UFTVWTEZ.js";
4
+ } from "./chunks/chunk-M72KKZIB.js";
5
5
  import "./chunks/chunk-34H54KEY.js";
6
6
  import "./chunks/chunk-JCRGE6AL.js";
7
7
  import {
8
8
  promptSourceUrl
9
- } from "./chunks/chunk-PYCRUMCT.js";
9
+ } from "./chunks/chunk-54QPYUM2.js";
10
10
  import "./chunks/chunk-XGTHGWPW.js";
11
11
  import {
12
12
  siteInputsFromArgv
13
- } from "./chunks/chunk-XY73ZLHB.js";
13
+ } from "./chunks/chunk-GQPUILFR.js";
14
14
  import "./chunks/chunk-KVMZSQ3D.js";
15
15
  import "./chunks/chunk-WOORR67N.js";
16
16
  import "./chunks/chunk-PRLL7B63.js";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handleCursorHook
4
- } from "./chunks/chunk-XY73ZLHB.js";
4
+ } from "./chunks/chunk-GQPUILFR.js";
5
5
  import "./chunks/chunk-KVMZSQ3D.js";
6
6
  import "./chunks/chunk-WOORR67N.js";
7
7
  import "./chunks/chunk-PRLL7B63.js";
@@ -3,7 +3,7 @@ import {
3
3
  gradeAll,
4
4
  gradeNode,
5
5
  reviewSubject
6
- } from "./chunks/chunk-XY73ZLHB.js";
6
+ } from "./chunks/chunk-GQPUILFR.js";
7
7
  import "./chunks/chunk-KVMZSQ3D.js";
8
8
  import "./chunks/chunk-WOORR67N.js";
9
9
  import "./chunks/chunk-PRLL7B63.js";
@@ -44,7 +44,7 @@ if (paths.length) {
44
44
  } else if (process.argv.includes("--expand-packet")) {
45
45
  const expId = arg("--expand-packet");
46
46
  const manifestHash = arg("--manifest-hash");
47
- const { expandPacketItem } = await import("./chunks/packets-LBMDIFPO.js");
47
+ const { expandPacketItem } = await import("./chunks/packets-XFXKHSEY.js");
48
48
  console.log(expandPacketItem(root, node || "business-review", expId, manifestHash));
49
49
  } else if (process.argv.includes("--expand-design-context")) {
50
50
  const preparationId = arg("--preparation");
@@ -52,7 +52,7 @@ if (paths.length) {
52
52
  if (!preparationId || !expansionId || expansionId.startsWith("--")) {
53
53
  throw new Error("Use --expand-design-context <ID> --preparation <PREP_ID> [--site PATH]");
54
54
  }
55
- const { expandDesignContextForPreparation } = await import("./chunks/design-context-store-W3VTZ4HA.js");
55
+ const { expandDesignContextForPreparation } = await import("./chunks/design-context-store-ETVS4N6W.js");
56
56
  const result = expandDesignContextForPreparation(root, preparationId, expansionId);
57
57
  if (!result.ok) {
58
58
  console.error(result.reason);
package/bin/vitris-go.js CHANGED
@@ -7,8 +7,8 @@ import {
7
7
  runCreativeProfile,
8
8
  runSite,
9
9
  statusSite
10
- } from "./chunks/chunk-LZC37OJZ.js";
11
- import "./chunks/chunk-R2WRQDVE.js";
10
+ } from "./chunks/chunk-RE4GOHSU.js";
11
+ import "./chunks/chunk-65LRZIBP.js";
12
12
  import "./chunks/chunk-34H54KEY.js";
13
13
  import "./chunks/chunk-JCRGE6AL.js";
14
14
  import "./chunks/chunk-XL2DRAYI.js";
@@ -19,7 +19,7 @@ import {
19
19
  resolveSiteInputsLive,
20
20
  runWorkflow,
21
21
  siteInputsFromArgv
22
- } from "./chunks/chunk-XY73ZLHB.js";
22
+ } from "./chunks/chunk-GQPUILFR.js";
23
23
  import "./chunks/chunk-KVMZSQ3D.js";
24
24
  import "./chunks/chunk-WOORR67N.js";
25
25
  import "./chunks/chunk-PRLL7B63.js";
@@ -3,13 +3,13 @@ import {
3
3
  gatherOnboard,
4
4
  normalizeSourceUrl,
5
5
  persistOnboard
6
- } from "./chunks/chunk-PYCRUMCT.js";
6
+ } from "./chunks/chunk-54QPYUM2.js";
7
7
  import {
8
8
  loadDevVars
9
9
  } from "./chunks/chunk-XGTHGWPW.js";
10
10
  import {
11
11
  gradeHarvest
12
- } from "./chunks/chunk-XY73ZLHB.js";
12
+ } from "./chunks/chunk-GQPUILFR.js";
13
13
  import "./chunks/chunk-KVMZSQ3D.js";
14
14
  import "./chunks/chunk-WOORR67N.js";
15
15
  import "./chunks/chunk-PRLL7B63.js";
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  explainStage
4
- } from "./chunks/chunk-3OKR5AZJ.js";
5
- import "./chunks/chunk-XY73ZLHB.js";
4
+ } from "./chunks/chunk-VKU5TY5C.js";
5
+ import "./chunks/chunk-GQPUILFR.js";
6
6
  import "./chunks/chunk-KVMZSQ3D.js";
7
7
  import "./chunks/chunk-WOORR67N.js";
8
8
  import "./chunks/chunk-PRLL7B63.js";
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunks/chunk-XL2DRAYI.js";
11
11
  import {
12
12
  templateAdaptationFailures
13
- } from "./chunks/chunk-XY73ZLHB.js";
13
+ } from "./chunks/chunk-GQPUILFR.js";
14
14
  import "./chunks/chunk-KVMZSQ3D.js";
15
15
  import "./chunks/chunk-WOORR67N.js";
16
16
  import "./chunks/chunk-PRLL7B63.js";
@@ -3,7 +3,7 @@ import {
3
3
  TEMPLATE_MOTION_PATH,
4
4
  currentSelectionHash,
5
5
  templateMotionHash
6
- } from "./chunks/chunk-XY73ZLHB.js";
6
+ } from "./chunks/chunk-GQPUILFR.js";
7
7
  import "./chunks/chunk-KVMZSQ3D.js";
8
8
  import "./chunks/chunk-WOORR67N.js";
9
9
  import "./chunks/chunk-PRLL7B63.js";
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  upgradeSite
4
- } from "./chunks/chunk-A2XMAPVW.js";
4
+ } from "./chunks/chunk-JBSGJR7X.js";
5
5
  import "./chunks/chunk-JCRGE6AL.js";
6
- import "./chunks/chunk-XY73ZLHB.js";
6
+ import "./chunks/chunk-GQPUILFR.js";
7
7
  import "./chunks/chunk-KVMZSQ3D.js";
8
8
  import "./chunks/chunk-WOORR67N.js";
9
9
  import "./chunks/chunk-PRLL7B63.js";
@@ -33,7 +33,7 @@ if (!command || command === "--help") {
33
33
  if (!site) throw new Error("--site required");
34
34
  const item = readStockCatalog(catalogPath).items.find((i) => i.id === id);
35
35
  if (!item) throw new Error("Unknown stock asset");
36
- const { findActivePreparation } = await import("./chunks/preparation-AV4PDQY6.js");
36
+ const { findActivePreparation } = await import("./chunks/preparation-3OR7LVPQ.js");
37
37
  const current = existsSync(join(site, "agent/PREPARED.json"));
38
38
  if (current && !findActivePreparation(site, "media") && !findActivePreparation(site, "asset-production")) throw new Error("Import stock during media or asset-production; route later additions through the declared owner");
39
39
  const launch = existsSync(join(site, "launch.json")) ? json(join(site, "launch.json")) : {};
@@ -19,7 +19,7 @@ import {
19
19
  thumbnailService,
20
20
  validateAdaptationPreferences,
21
21
  writeThemePicker
22
- } from "./chunks/chunk-XY73ZLHB.js";
22
+ } from "./chunks/chunk-GQPUILFR.js";
23
23
  import "./chunks/chunk-KVMZSQ3D.js";
24
24
  import "./chunks/chunk-WOORR67N.js";
25
25
  import "./chunks/chunk-PRLL7B63.js";
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  upgradeSite
4
- } from "./chunks/chunk-A2XMAPVW.js";
4
+ } from "./chunks/chunk-JBSGJR7X.js";
5
5
  import "./chunks/chunk-JCRGE6AL.js";
6
- import "./chunks/chunk-XY73ZLHB.js";
6
+ import "./chunks/chunk-GQPUILFR.js";
7
7
  import "./chunks/chunk-KVMZSQ3D.js";
8
8
  import "./chunks/chunk-WOORR67N.js";
9
9
  import "./chunks/chunk-PRLL7B63.js";
@@ -11,7 +11,7 @@ import {
11
11
  observeMotion,
12
12
  templateMotionHash,
13
13
  validateTemplateMotionPlan
14
- } from "./chunks/chunk-XY73ZLHB.js";
14
+ } from "./chunks/chunk-GQPUILFR.js";
15
15
  import "./chunks/chunk-KVMZSQ3D.js";
16
16
  import "./chunks/chunk-WOORR67N.js";
17
17
  import "./chunks/chunk-PRLL7B63.js";
package/bin/vitris.js CHANGED
@@ -1,22 +1,22 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runCli
4
- } from "./chunks/chunk-SEMH6MCV.js";
5
- import "./chunks/chunk-YXJAQYDE.js";
6
- import "./chunks/chunk-FGSQE3DU.js";
7
- import "./chunks/chunk-WMJVLMU2.js";
8
- import "./chunks/chunk-A2XMAPVW.js";
9
- import "./chunks/chunk-UFTVWTEZ.js";
4
+ } from "./chunks/chunk-445FZZEC.js";
5
+ import "./chunks/chunk-KIWEFRNG.js";
6
+ import "./chunks/chunk-72Y4YMTV.js";
7
+ import "./chunks/chunk-UR4NWYVW.js";
8
+ import "./chunks/chunk-JBSGJR7X.js";
9
+ import "./chunks/chunk-M72KKZIB.js";
10
10
  import "./chunks/chunk-2NW7KSPA.js";
11
- import "./chunks/chunk-3OKR5AZJ.js";
12
- import "./chunks/chunk-LZC37OJZ.js";
13
- import "./chunks/chunk-R2WRQDVE.js";
11
+ import "./chunks/chunk-VKU5TY5C.js";
12
+ import "./chunks/chunk-RE4GOHSU.js";
13
+ import "./chunks/chunk-65LRZIBP.js";
14
14
  import "./chunks/chunk-34H54KEY.js";
15
15
  import "./chunks/chunk-JCRGE6AL.js";
16
16
  import "./chunks/chunk-XL2DRAYI.js";
17
- import "./chunks/chunk-PYCRUMCT.js";
17
+ import "./chunks/chunk-54QPYUM2.js";
18
18
  import "./chunks/chunk-XGTHGWPW.js";
19
- import "./chunks/chunk-XY73ZLHB.js";
19
+ import "./chunks/chunk-GQPUILFR.js";
20
20
  import "./chunks/chunk-KVMZSQ3D.js";
21
21
  import "./chunks/chunk-WOORR67N.js";
22
22
  import "./chunks/chunk-PRLL7B63.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tryvitris/website-harness",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Vitris agent harness for building and verifying customer websites, with a static compiler, media tools, and optional Cloudflare backend.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -150,7 +150,7 @@
150
150
  "typecheck": "tsc --noEmit",
151
151
  "test:admin": "node --experimental-strip-types --test src/admin-integration.test.ts",
152
152
  "verify:admin": "node --experimental-strip-types scripts/verify-admin.ts",
153
- "test": "node --experimental-strip-types --test --test-concurrency=2 src/admin-integration.test.ts src/icons.test.ts src/template-icon-migration.test.ts src/engine.test.ts src/upgrade.test.ts src/hosting.test.ts src/render.test.ts src/analytics.test.ts src/cookie-compliance.test.ts src/schema.test.ts src/patch.test.ts src/jobs.test.ts src/onboard.test.ts src/github-preview.test.ts src/agent.test.ts src/workflow.test.ts src/design-run.test.ts src/creative-profile.test.ts src/creative-efficiency.test.ts src/refine.test.ts src/critic-calibration.test.ts src/cli.test.ts src/jev.test.ts src/lifecycle.test.ts src/theme-lifecycle-policy.test.ts src/template-adaptation.test.ts src/adaptation-checkpoint.test.ts src/template-motion.test.ts src/template-motion-browser.test.ts src/experience-browser.test.ts src/jev-capabilities.test.ts src/jev-phase8.test.ts src/jev-prepilot.test.ts src/jev-phase0.test.ts src/jev-sept20.test.ts src/trace.test.ts src/cursor-hook.test.ts src/design-intelligence.test.ts src/design-context-integration.test.ts src/package-bin.test.ts src/knowledge-layers.test.ts src/launch-preflight.test.ts src/page-transfer.test.ts src/worker-publish.test.ts src/worker-preview.test.ts src/worker-security.test.ts src/harness-upgrades.test.ts src/stock-media.test.ts src/harness-distribution.test.ts src/storyboard-media.test.ts src/added-media.test.ts src/lead-forms.test.ts src/composition.test.ts src/reference-library.test.ts src/art-direction.test.ts src/scroll-motion.test.ts src/scroll-motion-browser.test.ts src/artistic-motion-browser.test.ts src/page-composition.test.ts src/reference-quality.test.ts src/production-quality.test.ts src/browser-focus.test.ts src/browser-work-queue.test.ts src/quality-subject.test.ts src/preview-cli.test.ts src/theme-selection.test.ts src/site-inputs.test.ts src/fieldwell.test.ts src/still-field.test.ts src/current-craft.test.ts src/copper-chair.test.ts src/clearline.test.ts src/template-cloud.test.ts src/contact-forms.test.ts src/contact-forms-operations.test.ts src/contact-forms-browser.test.ts src/preserve.test.ts src/release-safety.test.ts src/performance-media.test.ts src/lighthouse-browser.test.ts src/browser-timeout.test.ts src/browser-output-contract.test.ts src/template-motion-snapshot.test.ts",
153
+ "test": "node --experimental-strip-types --test --test-concurrency=2 src/admin-integration.test.ts src/icons.test.ts src/template-icon-migration.test.ts src/engine.test.ts src/upgrade.test.ts src/hosting.test.ts src/render.test.ts src/analytics.test.ts src/cookie-compliance.test.ts src/schema.test.ts src/patch.test.ts src/jobs.test.ts src/onboard.test.ts src/github-preview.test.ts src/agent.test.ts src/workflow.test.ts src/design-run.test.ts src/creative-profile.test.ts src/creative-efficiency.test.ts src/refine.test.ts src/refine-document-checks.test.ts src/critic-calibration.test.ts src/cli.test.ts src/jev.test.ts src/lifecycle.test.ts src/theme-lifecycle-policy.test.ts src/template-adaptation.test.ts src/adaptation-checkpoint.test.ts src/template-motion.test.ts src/template-motion-browser.test.ts src/experience-browser.test.ts src/jev-capabilities.test.ts src/jev-phase8.test.ts src/jev-prepilot.test.ts src/jev-phase0.test.ts src/jev-sept20.test.ts src/trace.test.ts src/cursor-hook.test.ts src/design-intelligence.test.ts src/design-context-integration.test.ts src/package-bin.test.ts src/knowledge-layers.test.ts src/launch-preflight.test.ts src/page-transfer.test.ts src/worker-publish.test.ts src/worker-preview.test.ts src/worker-security.test.ts src/harness-upgrades.test.ts src/stock-media.test.ts src/harness-distribution.test.ts src/storyboard-media.test.ts src/added-media.test.ts src/lead-forms.test.ts src/composition.test.ts src/reference-library.test.ts src/art-direction.test.ts src/scroll-motion.test.ts src/scroll-motion-browser.test.ts src/artistic-motion-browser.test.ts src/page-composition.test.ts src/reference-quality.test.ts src/production-quality.test.ts src/browser-focus.test.ts src/browser-work-queue.test.ts src/quality-subject.test.ts src/preview-cli.test.ts src/theme-selection.test.ts src/site-inputs.test.ts src/fieldwell.test.ts src/still-field.test.ts src/current-craft.test.ts src/copper-chair.test.ts src/clearline.test.ts src/template-cloud.test.ts src/contact-forms.test.ts src/contact-forms-operations.test.ts src/contact-forms-browser.test.ts src/preserve.test.ts src/release-safety.test.ts src/performance-media.test.ts src/lighthouse-browser.test.ts src/browser-timeout.test.ts src/browser-output-contract.test.ts src/template-motion-snapshot.test.ts",
154
154
  "eval:jev": "node --experimental-strip-types scripts/eval-jev.ts",
155
155
  "benchmark": "node --experimental-strip-types scripts/benchmark.ts",
156
156
  "refresh-agent": "node --experimental-strip-types scripts/refresh-agent.ts",