@acutis/cli 0.1.2 → 0.2.0-dev.23
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/.output/nitro.json +1 -1
- package/.output/public/_nuxt/AC3CibKK.js +1 -0
- package/.output/public/_nuxt/BGc2VNce.js +1 -0
- package/.output/public/_nuxt/BN4XOpVt.js +1 -0
- package/.output/public/_nuxt/BNJ2GN0A.js +1 -0
- package/.output/public/_nuxt/BP52ABGx.js +1 -0
- package/.output/public/_nuxt/BWcsrofD.js +1 -0
- package/.output/public/_nuxt/{b5tj-z25.js → Bqp63OdK.js} +1 -1
- package/.output/public/_nuxt/CF8y5KTS.js +3 -0
- package/.output/public/_nuxt/CUTaKHid.js +1 -0
- package/.output/public/_nuxt/CZEhodn6.js +1 -0
- package/.output/public/_nuxt/Cym5RBDq.js +1 -0
- package/.output/public/_nuxt/D1ge6Bwo.js +1 -0
- package/.output/public/_nuxt/D2UpbqeN.js +28 -0
- package/.output/public/_nuxt/DDKd6Dxq.js +1 -0
- package/.output/public/_nuxt/D_FJunXs.js +64 -0
- package/.output/public/_nuxt/Dc2A-6xl.js +6 -0
- package/.output/public/_nuxt/DoQkJV4U.js +1 -0
- package/.output/public/_nuxt/JwPm-b3T.js +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/bcd56d50-e1a9-4021-b9df-ab200a81246a.json +1 -0
- package/.output/public/_nuxt/cnFSOQCu.js +1 -0
- package/.output/public/_nuxt/entry.BmTN_nlL.css +2 -0
- package/.output/public/_nuxt/error-404.CkhL7nxg.css +1 -0
- package/.output/public/_nuxt/error-500.DNftkU4A.css +1 -0
- package/.output/public/_nuxt/tags.C6gBUbEB.css +1 -0
- package/.output/server/chunks/_/auth2.mjs +3 -3
- package/.output/server/chunks/_/environment.mjs +3 -3
- package/.output/server/chunks/_/error-500.mjs.map +1 -1
- package/.output/server/chunks/_/generation.mjs +3 -3
- package/.output/server/chunks/_/project.mjs +2 -2
- package/.output/server/chunks/_/project.service.mjs +3 -31
- package/.output/server/chunks/_/project.service.mjs.map +1 -1
- package/.output/server/chunks/_/recording.mjs +5 -2
- package/.output/server/chunks/_/recording.mjs.map +1 -1
- package/.output/server/chunks/_/scenario.mjs +4 -2
- package/.output/server/chunks/_/scenario.mjs.map +1 -1
- package/.output/server/chunks/_/scenario2.mjs +22 -5
- package/.output/server/chunks/_/scenario2.mjs.map +1 -1
- package/.output/server/chunks/_/spec-rules.mjs +29 -232
- package/.output/server/chunks/_/spec-rules.mjs.map +1 -1
- package/.output/server/chunks/build/{Alert-Q5hBYuxt.mjs → Alert-WVcujYrW.mjs} +14 -14
- package/.output/server/chunks/build/Alert-WVcujYrW.mjs.map +1 -0
- package/.output/server/chunks/build/{Container-HW0bT_Wn.mjs → Container-C0k092cW.mjs} +4 -4
- package/.output/server/chunks/build/Container-C0k092cW.mjs.map +1 -0
- package/.output/server/chunks/build/{Pagination-FFamqWKD.mjs → Pagination-BXryRfUN.mjs} +4 -4
- package/.output/server/chunks/build/{Pagination-FFamqWKD.mjs.map → Pagination-BXryRfUN.mjs.map} +1 -1
- package/.output/server/chunks/build/{_...scenario_-DNqQ06NM.mjs → _...scenario_-qp56INdQ.mjs} +687 -149
- package/.output/server/chunks/build/_...scenario_-qp56INdQ.mjs.map +1 -0
- package/.output/server/chunks/build/{_slug_-BlLRYU9d.mjs → _slug_-dNDiCabc.mjs} +788 -433
- package/.output/server/chunks/build/_slug_-dNDiCabc.mjs.map +1 -0
- package/.output/server/chunks/build/{error-404-Dzfp7Wik.mjs → error-404-B5fzVPdQ.mjs} +5 -5
- package/.output/server/chunks/build/error-404-B5fzVPdQ.mjs.map +1 -0
- package/.output/server/chunks/build/error-404-styles.C6Lq0aSH.mjs +9 -0
- package/.output/server/chunks/build/error-404-styles.C6Lq0aSH.mjs.map +1 -0
- package/.output/server/chunks/build/{error-500-Df60mzLr.mjs → error-500-Be62wrWs.mjs} +5 -5
- package/.output/server/chunks/build/error-500-Be62wrWs.mjs.map +1 -0
- package/.output/server/chunks/build/error-500-styles.D3b6pwL1.mjs +9 -0
- package/.output/server/chunks/build/error-500-styles.D3b6pwL1.mjs.map +1 -0
- package/.output/server/chunks/build/{origin-_Ab6zkKk.mjs → origin-DFFT7pGA.mjs} +546 -21
- package/.output/server/chunks/build/{origin-_Ab6zkKk.mjs.map → origin-DFFT7pGA.mjs.map} +1 -1
- package/.output/server/chunks/build/{pages-BuW8VoW3.mjs → pages-NkoKH95O.mjs} +35 -37
- package/.output/server/chunks/build/pages-NkoKH95O.mjs.map +1 -0
- package/.output/server/chunks/build/tags-DXumXgr9.mjs +1653 -0
- package/.output/server/chunks/build/tags-DXumXgr9.mjs.map +1 -0
- package/.output/server/chunks/build/telemetria-BaMsUnJ8.mjs +131 -0
- package/.output/server/chunks/build/telemetria-BaMsUnJ8.mjs.map +1 -0
- package/.output/server/chunks/build/timeline-styles.CzOXKr8R.mjs +9 -0
- package/.output/server/chunks/build/timeline-styles.CzOXKr8R.mjs.map +1 -0
- package/.output/server/chunks/nitro/nitro.mjs +608 -367
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
- package/.output/server/chunks/raw/driver-entry.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_slug/auth/record.post.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_slug/auth/skip.post.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_slug/auth.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_slug/auth.put.mjs +1 -1
- package/.output/server/chunks/routes/api/telemetry/report.post.mjs +133 -0
- package/.output/server/chunks/routes/api/telemetry/report.post.mjs.map +1 -0
- package/.output/server/chunks/routes/debug/close-page.post.mjs +40 -0
- package/.output/server/chunks/routes/debug/close-page.post.mjs.map +1 -0
- package/.output/server/chunks/routes/debug/erro-de-telemetria.get.mjs +49 -0
- package/.output/server/chunks/routes/debug/erro-de-telemetria.get.mjs.map +1 -0
- package/.output/server/chunks/routes/debug/replay-decision.post.mjs +43 -0
- package/.output/server/chunks/routes/debug/replay-decision.post.mjs.map +1 -0
- package/.output/server/chunks/routes/renderer.mjs +2 -2
- package/.output/server/chunks/routes/renderer.mjs.map +1 -1
- package/.output/server/chunks/routes/runner/video.get.mjs +1 -1
- package/.output/server/chunks/routes/ws.mjs +19 -2
- package/.output/server/chunks/routes/ws.mjs.map +1 -1
- package/.output/server/chunks/virtual/entry.mjs +11755 -11725
- package/.output/server/chunks/virtual/entry.mjs.map +1 -1
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/chunks/virtual/styles.mjs +4 -3
- package/.output/server/index.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/bin/splash.mjs +2 -2
- package/dist-ui/driver-entry.js +3 -3
- package/package.json +5 -1
- package/reporters/stream-reporter.cjs +3 -3
- package/.output/public/_nuxt/5GgR1mbX.js +0 -1
- package/.output/public/_nuxt/ANcp5QFz.js +0 -1
- package/.output/public/_nuxt/BEFJRHhA2.js +0 -1
- package/.output/public/_nuxt/BEQgcp5R.js +0 -1
- package/.output/public/_nuxt/BEk00u4_.js +0 -1
- package/.output/public/_nuxt/BGdmRvCK2.js +0 -8
- package/.output/public/_nuxt/BMLYuU_e.js +0 -1
- package/.output/public/_nuxt/BWJpSLJL.js +0 -1
- package/.output/public/_nuxt/BXpPYfMx.js +0 -1
- package/.output/public/_nuxt/BbjTtCyI.js +0 -3
- package/.output/public/_nuxt/Bp3A7I5W2.js +0 -1
- package/.output/public/_nuxt/BuOb9NX0.js +0 -1
- package/.output/public/_nuxt/C1tNhfTr.js +0 -1
- package/.output/public/_nuxt/C2KIeuhG.js +0 -1
- package/.output/public/_nuxt/C5uJN_MU.js +0 -1
- package/.output/public/_nuxt/CBVnImq2.js +0 -1
- package/.output/public/_nuxt/CC0OsuIz.js +0 -28
- package/.output/public/_nuxt/CIFC2HNk.js +0 -1
- package/.output/public/_nuxt/CKps1Vc12.js +0 -3
- package/.output/public/_nuxt/CRH0iqnQ.js +0 -1
- package/.output/public/_nuxt/CTLrtTtn2.js +0 -64
- package/.output/public/_nuxt/CTqLwyQP.js +0 -1
- package/.output/public/_nuxt/CU7sPrmY.js +0 -3
- package/.output/public/_nuxt/CfOqJVtU.js +0 -1
- package/.output/public/_nuxt/Ch1EeKHP.js +0 -1
- package/.output/public/_nuxt/Clv7nJ_T2.js +0 -1
- package/.output/public/_nuxt/D-7v7DZs.js +0 -1
- package/.output/public/_nuxt/D4ykC_lY2.js +0 -1
- package/.output/public/_nuxt/D5HF1Z0f2.js +0 -1
- package/.output/public/_nuxt/DDHUGtv32.js +0 -4
- package/.output/public/_nuxt/DEJ3sRrh2.js +0 -1
- package/.output/public/_nuxt/DPM_BYFz2.js +0 -1
- package/.output/public/_nuxt/DXLPf3t6.js +0 -1
- package/.output/public/_nuxt/Dpnaldxf2.js +0 -1
- package/.output/public/_nuxt/DtuQPKVG.js +0 -1
- package/.output/public/_nuxt/FvWrDx_z.js +0 -1
- package/.output/public/_nuxt/Gcazu-lR.js +0 -1
- package/.output/public/_nuxt/QcKfgokC.js +0 -1
- package/.output/public/_nuxt/XDsaI4JL.js +0 -1
- package/.output/public/_nuxt/builds/meta/bf2cb2c6-2ddb-4f64-9777-e314571fd19d.json +0 -1
- package/.output/public/_nuxt/entry.m-nAFUcz.css +0 -2
- package/.output/public/_nuxt/error-404.DopINOT1.css +0 -1
- package/.output/public/_nuxt/error-500.D7goJC9g.css +0 -1
- package/.output/public/_nuxt/f0o80Gcm.js +0 -1
- package/.output/public/_nuxt/k5q7GKnv.js +0 -1
- package/.output/public/_nuxt/modal.3A_G7d4A.css +0 -1
- package/.output/public/_nuxt/tLr-SJaf.js +0 -1
- package/.output/public/dev/sample-run.webm +0 -0
- package/.output/server/chunks/build/Alert-Q5hBYuxt.mjs.map +0 -1
- package/.output/server/chunks/build/Badge-BgyIJKeU.mjs +0 -394
- package/.output/server/chunks/build/Badge-BgyIJKeU.mjs.map +0 -1
- package/.output/server/chunks/build/Card-DLzZ816u.mjs +0 -144
- package/.output/server/chunks/build/Card-DLzZ816u.mjs.map +0 -1
- package/.output/server/chunks/build/Container-HW0bT_Wn.mjs.map +0 -1
- package/.output/server/chunks/build/_...scenario_-DNqQ06NM.mjs.map +0 -1
- package/.output/server/chunks/build/_slug_-BlLRYU9d.mjs.map +0 -1
- package/.output/server/chunks/build/auth-status-5sNoLTPk.mjs +0 -128
- package/.output/server/chunks/build/auth-status-5sNoLTPk.mjs.map +0 -1
- package/.output/server/chunks/build/auth-status-Bo2gxZ-H.mjs +0 -53
- package/.output/server/chunks/build/auth-status-Bo2gxZ-H.mjs.map +0 -1
- package/.output/server/chunks/build/empty-xO5aD2Ip.mjs +0 -44
- package/.output/server/chunks/build/empty-xO5aD2Ip.mjs.map +0 -1
- package/.output/server/chunks/build/error-404-Dzfp7Wik.mjs.map +0 -1
- package/.output/server/chunks/build/error-404-styles.ByPbpRGS.mjs +0 -9
- package/.output/server/chunks/build/error-404-styles.ByPbpRGS.mjs.map +0 -1
- package/.output/server/chunks/build/error-500-Df60mzLr.mjs.map +0 -1
- package/.output/server/chunks/build/error-500-styles.Dz8enkTW.mjs +0 -9
- package/.output/server/chunks/build/error-500-styles.Dz8enkTW.mjs.map +0 -1
- package/.output/server/chunks/build/generation-warnings-RCB9uLi8.mjs +0 -123
- package/.output/server/chunks/build/generation-warnings-RCB9uLi8.mjs.map +0 -1
- package/.output/server/chunks/build/history-D-mei_D6.mjs +0 -163
- package/.output/server/chunks/build/history-D-mei_D6.mjs.map +0 -1
- package/.output/server/chunks/build/modal-81h_kbj9.mjs +0 -321
- package/.output/server/chunks/build/modal-81h_kbj9.mjs.map +0 -1
- package/.output/server/chunks/build/modal-Cpj-bQgu.mjs +0 -342
- package/.output/server/chunks/build/modal-Cpj-bQgu.mjs.map +0 -1
- package/.output/server/chunks/build/modal-DV_DQ0hO.mjs +0 -659
- package/.output/server/chunks/build/modal-DV_DQ0hO.mjs.map +0 -1
- package/.output/server/chunks/build/pages-BuW8VoW3.mjs.map +0 -1
- package/.output/server/chunks/build/phrases-CSDEYSbZ.mjs +0 -38
- package/.output/server/chunks/build/phrases-CSDEYSbZ.mjs.map +0 -1
- package/.output/server/chunks/build/project-run-filtered-CplHFc5x.mjs +0 -455
- package/.output/server/chunks/build/project-run-filtered-CplHFc5x.mjs.map +0 -1
- package/.output/server/chunks/build/run-stream-CNVDpZ_S.mjs +0 -157
- package/.output/server/chunks/build/run-stream-CNVDpZ_S.mjs.map +0 -1
- package/.output/server/chunks/build/scenario-runs-C7TDC5iA.mjs +0 -135
- package/.output/server/chunks/build/scenario-runs-C7TDC5iA.mjs.map +0 -1
- package/.output/server/chunks/build/scenario-suggestions-CsQg875h.mjs +0 -210
- package/.output/server/chunks/build/scenario-suggestions-CsQg875h.mjs.map +0 -1
- package/.output/server/chunks/build/scenario-test-run-Deg4Qlme.mjs +0 -505
- package/.output/server/chunks/build/scenario-test-run-Deg4Qlme.mjs.map +0 -1
- package/.output/server/chunks/build/steps-CcAjZqHX.mjs +0 -54
- package/.output/server/chunks/build/steps-CcAjZqHX.mjs.map +0 -1
- package/.output/server/chunks/build/tags-DrKY6Ah4.mjs +0 -594
- package/.output/server/chunks/build/tags-DrKY6Ah4.mjs.map +0 -1
- package/.output/server/chunks/build/warnings-D8SWbHw0.mjs +0 -76
- package/.output/server/chunks/build/warnings-D8SWbHw0.mjs.map +0 -1
- package/.output/server/chunks/raw/sample-run.mjs +0 -7
- package/.output/server/chunks/raw/sample-run.mjs.map +0 -1
- package/dist-ui/dev/sample-run.webm +0 -0
- /package/.output/public/_nuxt/{BDNMzG2s2.js → BDNMzG2s.js} +0 -0
|
@@ -9283,23 +9283,19 @@ async function dispose(driver) {
|
|
|
9283
9283
|
const _assets = {
|
|
9284
9284
|
["recorder:driver-entry.js"]: {
|
|
9285
9285
|
import: () => import('../raw/driver-entry.mjs').then(r => r.default || r),
|
|
9286
|
-
meta: {"type":"text/javascript; charset=utf-8","etag":"\"
|
|
9286
|
+
meta: {"type":"text/javascript; charset=utf-8","etag":"\"18e8c-cEoTo1XFx5fJxmYYyMZf05j2btg\"","mtime":"2026-08-25T16:47:26.864Z"}
|
|
9287
9287
|
},
|
|
9288
9288
|
["recorder:favicon.svg"]: {
|
|
9289
9289
|
import: () => import('../raw/favicon.mjs').then(r => r.default || r),
|
|
9290
|
-
meta: {"type":"image/svg+xml","etag":"\"399-DJlj2DBCHGK781jAwgS+8UxnhA8\"","mtime":"2026-08-
|
|
9291
|
-
},
|
|
9292
|
-
["recorder:dev:sample-run.webm"]: {
|
|
9293
|
-
import: () => import('../raw/sample-run.mjs').then(r => r.default || r),
|
|
9294
|
-
meta: {"type":"video/webm","etag":"\"2d0a2-Bs1NfwhRTxVtmYmJRWP+xntSahM\"","mtime":"2026-08-21T21:28:03.413Z"}
|
|
9290
|
+
meta: {"type":"image/svg+xml","etag":"\"399-DJlj2DBCHGK781jAwgS+8UxnhA8\"","mtime":"2026-08-25T16:47:26.823Z"}
|
|
9295
9291
|
},
|
|
9296
9292
|
["templates:playwright-ts:package.json"]: {
|
|
9297
9293
|
import: () => import('../raw/package.mjs').then(r => r.default || r),
|
|
9298
|
-
meta: {"type":"application/json","etag":"\"88-/nGrZxMqH3UwHMuh7tJQ7VnJaGc\"","mtime":"2026-08-
|
|
9294
|
+
meta: {"type":"application/json","etag":"\"88-/nGrZxMqH3UwHMuh7tJQ7VnJaGc\"","mtime":"2026-08-25T16:46:34.510Z"}
|
|
9299
9295
|
},
|
|
9300
9296
|
["templates:playwright-ts:playwright.config.ts"]: {
|
|
9301
9297
|
import: () => import('../raw/playwright.config.mjs').then(r => r.default || r),
|
|
9302
|
-
meta: {"type":"video/mp2t","etag":"\"588-KWvjOkz0BTOuGUrnDeb9TPlfP1A\"","mtime":"2026-08-
|
|
9298
|
+
meta: {"type":"video/mp2t","etag":"\"588-KWvjOkz0BTOuGUrnDeb9TPlfP1A\"","mtime":"2026-08-25T16:46:34.510Z"}
|
|
9303
9299
|
}
|
|
9304
9300
|
};
|
|
9305
9301
|
|
|
@@ -10358,7 +10354,7 @@ function _expandFromEnv(value) {
|
|
|
10358
10354
|
const _inlineRuntimeConfig = {
|
|
10359
10355
|
"app": {
|
|
10360
10356
|
"baseURL": "/",
|
|
10361
|
-
"buildId": "
|
|
10357
|
+
"buildId": "bcd56d50-e1a9-4021-b9df-ab200a81246a",
|
|
10362
10358
|
"buildAssetsDir": "/_nuxt/",
|
|
10363
10359
|
"cdnURL": ""
|
|
10364
10360
|
},
|
|
@@ -10390,7 +10386,11 @@ const _inlineRuntimeConfig = {
|
|
|
10390
10386
|
}
|
|
10391
10387
|
}
|
|
10392
10388
|
},
|
|
10393
|
-
"public": {
|
|
10389
|
+
"public": {
|
|
10390
|
+
"telemetry": {
|
|
10391
|
+
"enabled": true
|
|
10392
|
+
}
|
|
10393
|
+
},
|
|
10394
10394
|
"icon": {
|
|
10395
10395
|
"serverKnownCssClasses": []
|
|
10396
10396
|
}
|
|
@@ -10805,7 +10805,7 @@ async function errorHandler(error, event) {
|
|
|
10805
10805
|
|
|
10806
10806
|
const script = "\"use strict\";(()=>{const o=window,e=document.documentElement,c=[\"dark\",\"light\"],s=getStorageValue(\"localStorage\",\"nuxt-color-mode\")||\"system\";let r=s===\"system\"?f():s;const l=e.getAttribute(\"data-color-mode-forced\");l&&(r=l),i(r),o[\"__NUXT_COLOR_MODE__\"]={preference:s,value:r,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(t){const a=\"\"+t+\"\",n=\"\";e.classList?e.classList.add(a):e.className+=\" \"+a,n&&e.setAttribute(\"data-\"+n,t)}function d(t){const a=\"\"+t+\"\",n=\"\";e.classList?e.classList.remove(a):e.className=e.className.replace(new RegExp(a,\"g\"),\"\"),n&&e.removeAttribute(\"data-\"+n)}function u(t){return o.matchMedia(\"(prefers-color-scheme\"+t+\")\")}function f(){if(o.matchMedia&&u(\"\").media!==\"not all\"){for(const t of c)if(u(\":\"+t).matches)return t}return\"light\"}})();function getStorageValue(o,e){switch(o){case\"localStorage\":try{return window.localStorage.getItem(e)}catch{return null}case\"sessionStorage\":try{return window.sessionStorage.getItem(e)}catch{return null}case\"cookie\":try{return getCookie(e)}catch{return null}default:return null}}function getCookie(o){const c=(\"; \"+window.document.cookie).split(\"; \"+o+\"=\");if(c.length===2){const s=c.pop();return s?s.split(\";\").shift():null}}";
|
|
10807
10807
|
|
|
10808
|
-
const
|
|
10808
|
+
const _LcDxosuGhTjRcGIch8IhbLNRAy3WkRY7Yz5xZ8xTbt4 = (function(nitro) {
|
|
10809
10809
|
nitro.hooks.hook("render:html", (htmlContext) => {
|
|
10810
10810
|
htmlContext.head.push(`<script>${script}<\/script>`);
|
|
10811
10811
|
});
|
|
@@ -10815,6 +10815,9 @@ function defineNitroPlugin(def) {
|
|
|
10815
10815
|
return def;
|
|
10816
10816
|
}
|
|
10817
10817
|
|
|
10818
|
+
const DEFAULT_TELEMETRY_URL = "http://177.44.248.9:8787/reports";
|
|
10819
|
+
const DEFAULT_TELEMETRY_KEY = "c031fe5aafe58d7a9fe55438a81de8d2";
|
|
10820
|
+
|
|
10818
10821
|
const logLevelSchema = z.enum([
|
|
10819
10822
|
"log",
|
|
10820
10823
|
"error",
|
|
@@ -10833,6 +10836,8 @@ const environmentSchema = z.object({
|
|
|
10833
10836
|
]).default("0"),
|
|
10834
10837
|
LOG_LEVEL: z.string().default("log,error,warn,debug,verbose,fatal"),
|
|
10835
10838
|
ACUTIS_APP_KEY: z.string().optional(),
|
|
10839
|
+
TELEMETRY_URL: z.string().default(DEFAULT_TELEMETRY_URL),
|
|
10840
|
+
TELEMETRY_KEY: z.string().default(DEFAULT_TELEMETRY_KEY),
|
|
10836
10841
|
ANTHROPIC_URL: z.string().optional(),
|
|
10837
10842
|
CLAUDE_AGENT_MODEL: z.string().optional(),
|
|
10838
10843
|
CODEX_MODEL: z.string().optional(),
|
|
@@ -10859,6 +10864,10 @@ function readAppConfig(environment) {
|
|
|
10859
10864
|
recorderHeadless: env.RECORDER_HEADLESS === "1",
|
|
10860
10865
|
logLevels,
|
|
10861
10866
|
appKey: env.ACUTIS_APP_KEY,
|
|
10867
|
+
telemetry: {
|
|
10868
|
+
url: env.TELEMETRY_URL,
|
|
10869
|
+
key: env.TELEMETRY_KEY
|
|
10870
|
+
},
|
|
10862
10871
|
providers: {
|
|
10863
10872
|
anthropicUrl: (_a = env.ANTHROPIC_URL) != null ? _a : "https://api.anthropic.com/v1",
|
|
10864
10873
|
claudeAgentModel: env.CLAUDE_AGENT_MODEL,
|
|
@@ -10914,6 +10923,297 @@ const RUNNER_DIR = resolve$1(PACKAGE_ROOT, ".tmp/runner");
|
|
|
10914
10923
|
const STREAM_REPORTER_PATH = resolve$1(PACKAGE_ROOT, "reporters/stream-reporter.cjs");
|
|
10915
10924
|
const RECORDER_BUNDLE_PATH = resolve$1(PACKAGE_ROOT, "dist-ui/driver-entry.js");
|
|
10916
10925
|
|
|
10926
|
+
var __defProp$8 = Object.defineProperty;
|
|
10927
|
+
var __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10928
|
+
var __publicField$8 = (obj, key, value) => __defNormalProp$8(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
10929
|
+
function pathOf(url, fallback = "") {
|
|
10930
|
+
try {
|
|
10931
|
+
return new URL(url).pathname;
|
|
10932
|
+
} catch {
|
|
10933
|
+
return fallback;
|
|
10934
|
+
}
|
|
10935
|
+
}
|
|
10936
|
+
class Url {
|
|
10937
|
+
constructor(value) {
|
|
10938
|
+
__publicField$8(this, "value", value);
|
|
10939
|
+
__publicField$8(this, "parsed");
|
|
10940
|
+
try {
|
|
10941
|
+
this.parsed = new URL(value);
|
|
10942
|
+
} catch {
|
|
10943
|
+
throw new Error(`URL inv\xE1lida: ${value}`);
|
|
10944
|
+
}
|
|
10945
|
+
if (!this.parsed.protocol.startsWith("http")) {
|
|
10946
|
+
throw new Error(`URL inv\xE1lida: ${value}`);
|
|
10947
|
+
}
|
|
10948
|
+
}
|
|
10949
|
+
host() {
|
|
10950
|
+
return this.parsed.hostname;
|
|
10951
|
+
}
|
|
10952
|
+
/** O caminho que a URL já traz, sem a barra final. */
|
|
10953
|
+
path() {
|
|
10954
|
+
return this.parsed.pathname.replace(/\/+$/, "");
|
|
10955
|
+
}
|
|
10956
|
+
toString() {
|
|
10957
|
+
return this.value;
|
|
10958
|
+
}
|
|
10959
|
+
}
|
|
10960
|
+
|
|
10961
|
+
const EnvKey = {
|
|
10962
|
+
/** URL do sistema sob teste: onde o navegador abre ao gravar e a base que o Playwright usa. */
|
|
10963
|
+
URL: "URL",
|
|
10964
|
+
/** Credenciais do login, sob o prefixo `AUTH_` para não colidir com variáveis do shell. */
|
|
10965
|
+
USER: "AUTH_USER",
|
|
10966
|
+
PASSWORD: "AUTH_PASSWORD",
|
|
10967
|
+
ACTIVE_ENVIRONMENT: "ENVIRONMENT",
|
|
10968
|
+
/** Arquivo de sessão do ambiente ativo: o auth.setup.ts grava nele e os cenários o carregam. */
|
|
10969
|
+
STORAGE_STATE: "STORAGE_STATE"
|
|
10970
|
+
};
|
|
10971
|
+
function ownsKey(key) {
|
|
10972
|
+
return Object.values(EnvKey).includes(key);
|
|
10973
|
+
}
|
|
10974
|
+
|
|
10975
|
+
const ENV_KEY = "[A-Za-z_][A-Za-z0-9_]*";
|
|
10976
|
+
function environmentVar(key, value = null, secret = false, pending = false) {
|
|
10977
|
+
return { key, value, secret, pending };
|
|
10978
|
+
}
|
|
10979
|
+
function fromLine(line) {
|
|
10980
|
+
const match = line.trim().match(new RegExp(`^(${ENV_KEY})=(.*)$`));
|
|
10981
|
+
if (!match) return null;
|
|
10982
|
+
return environmentVar(match[1], match[2].trim().replace(/^["']|["']$/g, ""));
|
|
10983
|
+
}
|
|
10984
|
+
function keyed(vars, key) {
|
|
10985
|
+
var _a;
|
|
10986
|
+
return (_a = vars.find((variable) => variable.key === key)) != null ? _a : null;
|
|
10987
|
+
}
|
|
10988
|
+
|
|
10989
|
+
var __defProp$7 = Object.defineProperty;
|
|
10990
|
+
var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10991
|
+
var __publicField$7 = (obj, key, value) => __defNormalProp$7(obj, key + "" , value);
|
|
10992
|
+
class ActiveVars {
|
|
10993
|
+
constructor(vars = []) {
|
|
10994
|
+
__publicField$7(this, "vars", vars);
|
|
10995
|
+
const keys = vars.map((variable) => variable.key);
|
|
10996
|
+
for (const key of keys) {
|
|
10997
|
+
if (!new RegExp(`^${ENV_KEY}$`).test(key)) {
|
|
10998
|
+
throw new Error(`Nome de vari\xE1vel inv\xE1lido: ${key}`);
|
|
10999
|
+
}
|
|
11000
|
+
}
|
|
11001
|
+
if (new Set(keys).size !== keys.length) {
|
|
11002
|
+
throw new Error("O ambiente declara a mesma vari\xE1vel duas vezes.");
|
|
11003
|
+
}
|
|
11004
|
+
}
|
|
11005
|
+
get(key) {
|
|
11006
|
+
return keyed(this.vars, key);
|
|
11007
|
+
}
|
|
11008
|
+
has(key) {
|
|
11009
|
+
return this.get(key) !== null;
|
|
11010
|
+
}
|
|
11011
|
+
/** A chave que já guarda esse valor, se alguma guardar. */
|
|
11012
|
+
keyOf(value) {
|
|
11013
|
+
var _a, _b;
|
|
11014
|
+
if (!value) return null;
|
|
11015
|
+
return (_b = (_a = this.vars.find((variable) => variable.value === value)) == null ? void 0 : _a.key) != null ? _b : null;
|
|
11016
|
+
}
|
|
11017
|
+
/** Se a chave está declarada mas sem valor. */
|
|
11018
|
+
isEmpty(key) {
|
|
11019
|
+
var _a;
|
|
11020
|
+
return !((_a = this.get(key)) == null ? void 0 : _a.value);
|
|
11021
|
+
}
|
|
11022
|
+
/** As que têm valor não secreto, e portanto podem vazar literais para o arquivo gerado. */
|
|
11023
|
+
exposed() {
|
|
11024
|
+
return this.vars.filter((variable) => !variable.secret && Boolean(variable.value));
|
|
11025
|
+
}
|
|
11026
|
+
}
|
|
11027
|
+
|
|
11028
|
+
var __defProp$6 = Object.defineProperty;
|
|
11029
|
+
var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
11030
|
+
var __publicField$6 = (obj, key, value) => __defNormalProp$6(obj, key + "" , value);
|
|
11031
|
+
const MASK = "\u2022\u2022\u2022\u2022";
|
|
11032
|
+
const SENSITIVE_PREFIX = "SENSIVEL_";
|
|
11033
|
+
const NAME_LIMIT = 60;
|
|
11034
|
+
function describeElement(event) {
|
|
11035
|
+
var _a, _b, _c, _d, _e;
|
|
11036
|
+
const selectors = (_a = event.selectors) != null ? _a : null;
|
|
11037
|
+
const source = (_e = (_d = (_c = (_b = event.label) != null ? _b : event.innerText) != null ? _c : selectors == null ? void 0 : selectors.placeholder) != null ? _d : selectors == null ? void 0 : selectors.text) != null ? _e : "";
|
|
11038
|
+
const clean = source.replace(/\s+/gu, " ").trim();
|
|
11039
|
+
return clean === "" ? null : clean.slice(0, NAME_LIMIT).trimEnd();
|
|
11040
|
+
}
|
|
11041
|
+
function marker(key) {
|
|
11042
|
+
return `{{${key}}}`;
|
|
11043
|
+
}
|
|
11044
|
+
class Recording {
|
|
11045
|
+
constructor(recorded) {
|
|
11046
|
+
__publicField$6(this, "recorded", recorded);
|
|
11047
|
+
}
|
|
11048
|
+
static make(events) {
|
|
11049
|
+
return new Recording(events);
|
|
11050
|
+
}
|
|
11051
|
+
/** Os eventos gravados; o DOM capturado só vem quando pedido. */
|
|
11052
|
+
events(html = false) {
|
|
11053
|
+
if (html) return this.recorded;
|
|
11054
|
+
return this.recorded.map(({ html: _html, ...event }) => event);
|
|
11055
|
+
}
|
|
11056
|
+
/** Troca o valor de cada evento sensível pelo marcador. */
|
|
11057
|
+
redacted(environments = new ActiveVars()) {
|
|
11058
|
+
let position = 0;
|
|
11059
|
+
return this.events().map((event) => {
|
|
11060
|
+
var _a, _b;
|
|
11061
|
+
if (event.sensitive !== true) return event;
|
|
11062
|
+
position++;
|
|
11063
|
+
const value = (_a = event.value) != null ? _a : "";
|
|
11064
|
+
return {
|
|
11065
|
+
...event,
|
|
11066
|
+
value: marker((_b = environments.keyOf(value)) != null ? _b : `${SENSITIVE_PREFIX}${position}`)
|
|
11067
|
+
};
|
|
11068
|
+
});
|
|
11069
|
+
}
|
|
11070
|
+
/** O DOM ao redor de cada elemento, na chave do evento que o produziu. */
|
|
11071
|
+
html() {
|
|
11072
|
+
const html = {};
|
|
11073
|
+
this.recorded.forEach((event, index) => {
|
|
11074
|
+
if (event.html) html[index] = event.html;
|
|
11075
|
+
});
|
|
11076
|
+
return html;
|
|
11077
|
+
}
|
|
11078
|
+
/** Os eventos com usuário e senha trocados pelo nome da variável que os guarda. */
|
|
11079
|
+
withoutPasswords() {
|
|
11080
|
+
const events = this.events();
|
|
11081
|
+
const password = this.passwordIndex();
|
|
11082
|
+
for (const [index, event] of events.entries()) {
|
|
11083
|
+
if (event.inputType === "password") {
|
|
11084
|
+
events[index] = { ...event, value: marker(EnvKey.PASSWORD) };
|
|
11085
|
+
}
|
|
11086
|
+
}
|
|
11087
|
+
const user = password === null ? null : this.fillBefore(password);
|
|
11088
|
+
if (user !== null) {
|
|
11089
|
+
events[user] = { ...events[user], value: marker(EnvKey.USER) };
|
|
11090
|
+
}
|
|
11091
|
+
return events;
|
|
11092
|
+
}
|
|
11093
|
+
/**
|
|
11094
|
+
* A URL em que a gravação caiu depois do login: a primeira navegação após o submit (ou após o
|
|
11095
|
+
* campo de senha, quando não houve submit) que saiu da URL onde o login foi enviado.
|
|
11096
|
+
*/
|
|
11097
|
+
landingUrl() {
|
|
11098
|
+
let submitIndex = null;
|
|
11099
|
+
this.recorded.forEach((event, index) => {
|
|
11100
|
+
if (event.type === "submit" || event.type === "fill" && event.inputType === "password") {
|
|
11101
|
+
submitIndex = index;
|
|
11102
|
+
}
|
|
11103
|
+
});
|
|
11104
|
+
if (submitIndex === null) return null;
|
|
11105
|
+
const submitUrl = this.recorded[submitIndex].url;
|
|
11106
|
+
for (const event of this.recorded.slice(submitIndex + 1)) {
|
|
11107
|
+
if (event.type === "navigate" && event.url && event.url !== submitUrl) {
|
|
11108
|
+
return event.url;
|
|
11109
|
+
}
|
|
11110
|
+
}
|
|
11111
|
+
return null;
|
|
11112
|
+
}
|
|
11113
|
+
/** Usuário e senha reais do login gravado, ou null quando não dá para identificá-los. */
|
|
11114
|
+
credentials() {
|
|
11115
|
+
var _a, _b;
|
|
11116
|
+
const passwordIndex = this.passwordIndex();
|
|
11117
|
+
if (passwordIndex === null) return null;
|
|
11118
|
+
const userIndex = this.fillBefore(passwordIndex);
|
|
11119
|
+
const username = userIndex === null ? null : (_a = this.recorded[userIndex]) == null ? void 0 : _a.value;
|
|
11120
|
+
const password = (_b = this.recorded[passwordIndex]) == null ? void 0 : _b.value;
|
|
11121
|
+
return username && password ? { username, password } : null;
|
|
11122
|
+
}
|
|
11123
|
+
/** O valor real de cada marcador batizado, indexado pelo nome que ele recebeu. */
|
|
11124
|
+
envValues(names) {
|
|
11125
|
+
const sensitive = this.sensitiveValues();
|
|
11126
|
+
const values = {};
|
|
11127
|
+
for (const [key, name] of Object.entries(names)) {
|
|
11128
|
+
if (!key.startsWith(SENSITIVE_PREFIX)) continue;
|
|
11129
|
+
const position = Number(key.slice(SENSITIVE_PREFIX.length));
|
|
11130
|
+
const value = sensitive[position - 1];
|
|
11131
|
+
if (value === void 0) continue;
|
|
11132
|
+
values[name] = value;
|
|
11133
|
+
}
|
|
11134
|
+
return values;
|
|
11135
|
+
}
|
|
11136
|
+
/** O alerta de quando os nomes declarados não cobrem os marcadores da gravação. */
|
|
11137
|
+
unmatchedEnvWarning(names) {
|
|
11138
|
+
const markers = this.sensitiveValues().length;
|
|
11139
|
+
const declared = Object.keys(names).length;
|
|
11140
|
+
if (markers === 0 || declared === markers) return null;
|
|
11141
|
+
return `Grava\xE7\xE3o tem ${markers} valor(es) sens\xEDvel(is) mas a IA nomeou ${declared}, e algum .env pode ter ficado vazio.`;
|
|
11142
|
+
}
|
|
11143
|
+
sensitiveValues() {
|
|
11144
|
+
return this.recorded.filter((event) => event.sensitive === true).map((event) => {
|
|
11145
|
+
var _a;
|
|
11146
|
+
return (_a = event.value) != null ? _a : "";
|
|
11147
|
+
});
|
|
11148
|
+
}
|
|
11149
|
+
passwordIndex() {
|
|
11150
|
+
const index = this.recorded.findIndex(
|
|
11151
|
+
(event) => event.type === "fill" && event.inputType === "password"
|
|
11152
|
+
);
|
|
11153
|
+
return index === -1 ? null : index;
|
|
11154
|
+
}
|
|
11155
|
+
/** O preenchimento anterior ao índice dado, que é onde o usuário do login foi digitado. */
|
|
11156
|
+
fillBefore(index) {
|
|
11157
|
+
var _a;
|
|
11158
|
+
for (let i = index - 1; i >= 0; i--) {
|
|
11159
|
+
if (((_a = this.recorded[i]) == null ? void 0 : _a.type) === "fill") return i;
|
|
11160
|
+
}
|
|
11161
|
+
return null;
|
|
11162
|
+
}
|
|
11163
|
+
}
|
|
11164
|
+
|
|
11165
|
+
function attribute(name, value) {
|
|
11166
|
+
return `[${name}=${JSON.stringify(value)}]`;
|
|
11167
|
+
}
|
|
11168
|
+
function replaySelector(selectors) {
|
|
11169
|
+
if (!selectors) return null;
|
|
11170
|
+
if (selectors.dataTestId) return attribute("data-testid", selectors.dataTestId);
|
|
11171
|
+
if (selectors.dataCy) return attribute("data-cy", selectors.dataCy);
|
|
11172
|
+
if (selectors.id) return attribute("id", selectors.id);
|
|
11173
|
+
if (selectors.cssStable) return selectors.cssStable;
|
|
11174
|
+
if (selectors.ariaLabel) return attribute("aria-label", selectors.ariaLabel);
|
|
11175
|
+
if (selectors.placeholder) return attribute("placeholder", selectors.placeholder);
|
|
11176
|
+
if (selectors.text) return `text=${JSON.stringify(selectors.text)}`;
|
|
11177
|
+
if (selectors.finder) return selectors.finder;
|
|
11178
|
+
if (selectors.xpath) return `xpath=${selectors.xpath}`;
|
|
11179
|
+
return null;
|
|
11180
|
+
}
|
|
11181
|
+
function typeable(value) {
|
|
11182
|
+
return value !== null && value !== "" && value !== MASK && !/^\{\{.+\}\}$/.test(value);
|
|
11183
|
+
}
|
|
11184
|
+
function replaySteps(events) {
|
|
11185
|
+
const steps = [];
|
|
11186
|
+
events.forEach((event, at) => {
|
|
11187
|
+
if (event.type === "navigate") {
|
|
11188
|
+
if (event.url) {
|
|
11189
|
+
steps.push({ action: "goto", url: event.url, label: `Abre ${pathOf(event.url, event.url)}`, at });
|
|
11190
|
+
}
|
|
11191
|
+
return;
|
|
11192
|
+
}
|
|
11193
|
+
const selector = replaySelector(event.selectors);
|
|
11194
|
+
if (!selector) return;
|
|
11195
|
+
const name = describeElement(event);
|
|
11196
|
+
if (event.type === "click") {
|
|
11197
|
+
steps.push({
|
|
11198
|
+
action: "click",
|
|
11199
|
+
selector,
|
|
11200
|
+
label: name === null ? "Clica no elemento" : `Clica em "${name}"`,
|
|
11201
|
+
at
|
|
11202
|
+
});
|
|
11203
|
+
}
|
|
11204
|
+
if (event.type === "fill" && typeable(event.value)) {
|
|
11205
|
+
steps.push({
|
|
11206
|
+
action: "fill",
|
|
11207
|
+
selector,
|
|
11208
|
+
value: event.value,
|
|
11209
|
+
label: name === null ? "Preenche o campo" : `Preenche "${name}"`,
|
|
11210
|
+
at
|
|
11211
|
+
});
|
|
11212
|
+
}
|
|
11213
|
+
});
|
|
11214
|
+
return steps;
|
|
11215
|
+
}
|
|
11216
|
+
|
|
10917
11217
|
var __defProp$5 = Object.defineProperty;
|
|
10918
11218
|
var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10919
11219
|
var __publicField$5 = (obj, key, value) => __defNormalProp$5(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
@@ -10921,6 +11221,10 @@ const RECORDING_VIEWPORT = { width: 1280, height: 720 };
|
|
|
10921
11221
|
const STORAGE_STATE_TIMEOUT_MS = 1500;
|
|
10922
11222
|
const SCREENCAST_STOP_TIMEOUT_MS = 2500;
|
|
10923
11223
|
const CDP_CLOSE_TIMEOUT_MS = 1500;
|
|
11224
|
+
const REPLAY_STEP_TIMEOUT_MS = 2500;
|
|
11225
|
+
const REPLAY_RETRY_TIMEOUT_MS = 4e3;
|
|
11226
|
+
const REPLAY_SETTLE_MS = 1500;
|
|
11227
|
+
const DECISION_POLL_MS = 200;
|
|
10924
11228
|
const BLANK = "about:blank";
|
|
10925
11229
|
class RecorderService {
|
|
10926
11230
|
constructor(videoService) {
|
|
@@ -10934,8 +11238,12 @@ class RecorderService {
|
|
|
10934
11238
|
__publicField$5(this, "sessionId", null);
|
|
10935
11239
|
__publicField$5(this, "screencastStarted", false);
|
|
10936
11240
|
__publicField$5(this, "ready", false);
|
|
11241
|
+
__publicField$5(this, "replaying", false);
|
|
11242
|
+
__publicField$5(this, "replayState", { status: "idle", step: null });
|
|
11243
|
+
__publicField$5(this, "replayDecision", null);
|
|
10937
11244
|
__publicField$5(this, "bundlePath", null);
|
|
10938
11245
|
__publicField$5(this, "bundleLoader", null);
|
|
11246
|
+
__publicField$5(this, "stopping", false);
|
|
10939
11247
|
}
|
|
10940
11248
|
configureBundlePath(path) {
|
|
10941
11249
|
this.bundlePath = path;
|
|
@@ -10946,11 +11254,13 @@ class RecorderService {
|
|
|
10946
11254
|
isRecording() {
|
|
10947
11255
|
return this.context !== null;
|
|
10948
11256
|
}
|
|
10949
|
-
async start(onEvent, onStarted, onRequestStop, mode = "scenario", storageStatePath, url) {
|
|
10950
|
-
var _a, _b;
|
|
11257
|
+
async start(onEvent, onStarted, onRequestStop, mode = "scenario", storageStatePath, url, replay, hooks = {}) {
|
|
11258
|
+
var _a, _b, _c, _d;
|
|
10951
11259
|
this.sessionId = randomUUID$1();
|
|
10952
11260
|
this.screencastStarted = false;
|
|
10953
11261
|
this.ready = false;
|
|
11262
|
+
this.replaying = false;
|
|
11263
|
+
this.stopping = false;
|
|
10954
11264
|
await this.videoService.ensureDir();
|
|
10955
11265
|
if (RECORDER_CDP_URL) {
|
|
10956
11266
|
try {
|
|
@@ -10978,6 +11288,7 @@ class RecorderService {
|
|
|
10978
11288
|
await this.page.setViewportSize(RECORDING_VIEWPORT);
|
|
10979
11289
|
this.lastUrl = null;
|
|
10980
11290
|
this.report = (event) => {
|
|
11291
|
+
if (this.replaying) return;
|
|
10981
11292
|
if (event.type === "navigate") {
|
|
10982
11293
|
if (event.url === BLANK) {
|
|
10983
11294
|
return;
|
|
@@ -10988,6 +11299,14 @@ class RecorderService {
|
|
|
10988
11299
|
};
|
|
10989
11300
|
await this.page.exposeFunction("__acutisReportEvent", this.report);
|
|
10990
11301
|
await this.page.exposeFunction("__acutisRequestStop", onRequestStop);
|
|
11302
|
+
await this.page.exposeFunction("__acutisCancelRecording", () => {
|
|
11303
|
+
var _a2;
|
|
11304
|
+
return (_a2 = hooks.onCancelRequested) == null ? void 0 : _a2.call(hooks);
|
|
11305
|
+
});
|
|
11306
|
+
await this.page.exposeFunction("__acutisReplayState", () => this.replayState);
|
|
11307
|
+
await this.page.exposeFunction("__acutisReplayDecision", (decision) => {
|
|
11308
|
+
this.decideReplay(decision === "resume" ? "resume" : "cancel");
|
|
11309
|
+
});
|
|
10991
11310
|
await this.context.addInitScript((recorderMode) => {
|
|
10992
11311
|
globalThis.__acutisRecorderMode = recorderMode;
|
|
10993
11312
|
}, mode);
|
|
@@ -10997,6 +11316,8 @@ class RecorderService {
|
|
|
10997
11316
|
await this.context.addInitScript({ path: (_b = this.bundlePath) != null ? _b : RECORDER_BUNDLE_PATH });
|
|
10998
11317
|
}
|
|
10999
11318
|
this.ready = true;
|
|
11319
|
+
this.page.on("close", () => this.handleExternalClose(onRequestStop, hooks));
|
|
11320
|
+
this.browser.on("disconnected", () => this.handleExternalClose(onRequestStop, hooks));
|
|
11000
11321
|
const sessionId = this.sessionId;
|
|
11001
11322
|
const videoPath = this.videoService.path(sessionId);
|
|
11002
11323
|
this.page.on("framenavigated", (frame) => {
|
|
@@ -11006,16 +11327,94 @@ class RecorderService {
|
|
|
11006
11327
|
const recordingStartedAt = Date.now();
|
|
11007
11328
|
void this.page.screencast.start({ path: videoPath, size: RECORDING_VIEWPORT }).then(() => onStarted(recordingStartedAt));
|
|
11008
11329
|
});
|
|
11009
|
-
|
|
11330
|
+
const steps = (replay == null ? void 0 : replay.length) ? replaySteps(replay) : [];
|
|
11331
|
+
if (steps.length) this.replayState = { status: "running", step: steps[0].label };
|
|
11332
|
+
if (url && !steps.some((step) => step.action === "goto")) {
|
|
11010
11333
|
await this.page.goto(url, { waitUntil: "domcontentloaded" }).catch(() => {
|
|
11011
11334
|
});
|
|
11012
11335
|
}
|
|
11336
|
+
if (!steps.length) return;
|
|
11337
|
+
const { cancelledAt, keptEvents } = await this.replay(steps, hooks);
|
|
11338
|
+
if (cancelledAt !== null) {
|
|
11339
|
+
await ((_c = hooks.onCancelled) == null ? void 0 : _c.call(hooks, cancelledAt));
|
|
11340
|
+
return;
|
|
11341
|
+
}
|
|
11342
|
+
await ((_d = hooks.onReplayed) == null ? void 0 : _d.call(hooks, keptEvents));
|
|
11343
|
+
}
|
|
11344
|
+
/**
|
|
11345
|
+
* Refaz os passos já gravados para o usuário continuar do ponto que escolheu. Passo que não
|
|
11346
|
+
* repete nem na segunda tentativa para a retomada e devolve a decisão para ele, na janela.
|
|
11347
|
+
* Devolve o passo em que ele cancelou e, quando assumiu no meio, quantos eventos foram refeitos.
|
|
11348
|
+
*/
|
|
11349
|
+
async replay(steps, hooks) {
|
|
11350
|
+
var _a;
|
|
11351
|
+
if (!this.page) return { cancelledAt: null, keptEvents: null };
|
|
11352
|
+
const page = this.page;
|
|
11353
|
+
this.replaying = true;
|
|
11354
|
+
this.replayState = { status: "running", step: steps[0].label };
|
|
11355
|
+
let keptEvents = null;
|
|
11356
|
+
try {
|
|
11357
|
+
for (const step of steps) {
|
|
11358
|
+
this.replayState = { status: "running", step: step.label };
|
|
11359
|
+
if (await this.attempt(page, step, REPLAY_STEP_TIMEOUT_MS)) continue;
|
|
11360
|
+
if (await this.attempt(page, step, REPLAY_RETRY_TIMEOUT_MS)) continue;
|
|
11361
|
+
this.replayState = { status: "failed", step: step.label };
|
|
11362
|
+
(_a = hooks.onFailed) == null ? void 0 : _a.call(hooks, step.label);
|
|
11363
|
+
const decision = await this.awaitDecision(page);
|
|
11364
|
+
if (decision === "cancel") return { cancelledAt: step.label, keptEvents: null };
|
|
11365
|
+
if (decision === null) return { cancelledAt: null, keptEvents: null };
|
|
11366
|
+
keptEvents = step.at;
|
|
11367
|
+
break;
|
|
11368
|
+
}
|
|
11369
|
+
await page.waitForTimeout(REPLAY_SETTLE_MS);
|
|
11370
|
+
return { cancelledAt: null, keptEvents };
|
|
11371
|
+
} finally {
|
|
11372
|
+
this.replaying = false;
|
|
11373
|
+
this.replayState = { status: "idle", step: null };
|
|
11374
|
+
this.lastUrl = page.url();
|
|
11375
|
+
}
|
|
11376
|
+
}
|
|
11377
|
+
/** Um passo refeito. O clique é despachado no elemento, porque a cortina cobre a página. */
|
|
11378
|
+
async attempt(page, step, timeout) {
|
|
11379
|
+
try {
|
|
11380
|
+
if (step.action === "goto") {
|
|
11381
|
+
await page.goto(step.url, { waitUntil: "domcontentloaded" });
|
|
11382
|
+
} else if (step.action === "fill") {
|
|
11383
|
+
await page.fill(step.selector, step.value, { timeout, force: true });
|
|
11384
|
+
await page.locator(step.selector).blur({ timeout }).catch(() => void 0);
|
|
11385
|
+
} else {
|
|
11386
|
+
await page.locator(step.selector).dispatchEvent("click", {}, { timeout });
|
|
11387
|
+
}
|
|
11388
|
+
return true;
|
|
11389
|
+
} catch {
|
|
11390
|
+
return false;
|
|
11391
|
+
}
|
|
11392
|
+
}
|
|
11393
|
+
/** A escolha que o usuário faz na cortina, ou null quando a janela some antes de ele escolher. */
|
|
11394
|
+
async awaitDecision(page) {
|
|
11395
|
+
this.replayDecision = null;
|
|
11396
|
+
while (this.replayDecision === null) {
|
|
11397
|
+
if (page.isClosed() || this.stopping) return null;
|
|
11398
|
+
await new Promise((resolve) => setTimeout(resolve, DECISION_POLL_MS));
|
|
11399
|
+
}
|
|
11400
|
+
return this.replayDecision;
|
|
11401
|
+
}
|
|
11402
|
+
/** A janela fechada pelo usuário descarta a gravação, pelo mesmo caminho do cancelar da pill. */
|
|
11403
|
+
handleExternalClose(onRequestStop, hooks) {
|
|
11404
|
+
if (this.stopping || !this.context) return;
|
|
11405
|
+
const discard = hooks.onCancelRequested;
|
|
11406
|
+
if (!discard) {
|
|
11407
|
+
onRequestStop();
|
|
11408
|
+
return;
|
|
11409
|
+
}
|
|
11410
|
+
Promise.resolve(discard()).catch(() => void 0);
|
|
11013
11411
|
}
|
|
11014
11412
|
async stop() {
|
|
11015
11413
|
var _a, _b, _c, _d, _e;
|
|
11016
11414
|
if (!this.context) {
|
|
11017
11415
|
return { sessionId: null, storageState: null };
|
|
11018
11416
|
}
|
|
11417
|
+
this.stopping = true;
|
|
11019
11418
|
const sessionId = this.sessionId;
|
|
11020
11419
|
const wasScreencasting = this.screencastStarted;
|
|
11021
11420
|
const storageState = await this.withTimeout(
|
|
@@ -11124,6 +11523,10 @@ class RecorderService {
|
|
|
11124
11523
|
}
|
|
11125
11524
|
return this.page;
|
|
11126
11525
|
}
|
|
11526
|
+
/** A mesma decisão que a cortina manda; o shadow fechado dela não é alcançável de fora. */
|
|
11527
|
+
decideReplay(decision) {
|
|
11528
|
+
this.replayDecision = decision;
|
|
11529
|
+
}
|
|
11127
11530
|
async debugGoto(url) {
|
|
11128
11531
|
const page = await this.waitForPage();
|
|
11129
11532
|
await page.goto(url, { waitUntil: "domcontentloaded" });
|
|
@@ -11137,6 +11540,11 @@ class RecorderService {
|
|
|
11137
11540
|
await page.fill(selector, value);
|
|
11138
11541
|
await page.locator(selector).blur();
|
|
11139
11542
|
}
|
|
11543
|
+
/** Fecha a página gravada como se o usuário tivesse fechado a janela na mão. */
|
|
11544
|
+
async debugClosePage() {
|
|
11545
|
+
const page = await this.waitForPage();
|
|
11546
|
+
await page.close();
|
|
11547
|
+
}
|
|
11140
11548
|
async withTimeout(promise, timeoutMs, fallback) {
|
|
11141
11549
|
let timer;
|
|
11142
11550
|
const timeout = new Promise((resolve) => {
|
|
@@ -12053,7 +12461,7 @@ class SettingsService {
|
|
|
12053
12461
|
const result = await pingModel(config);
|
|
12054
12462
|
return { ok: result.ok, model: input.model, elapsed_ms: Date.now() - started };
|
|
12055
12463
|
}
|
|
12056
|
-
/** Se há provedor suportado e modelo informado
|
|
12464
|
+
/** Se há provedor suportado e modelo informado, ou seja, se dá para chamar um modelo agora. */
|
|
12057
12465
|
async canUseAi() {
|
|
12058
12466
|
const config = await this.resolved();
|
|
12059
12467
|
if (config.provider === "" || !isSupported(config.provider)) return false;
|
|
@@ -12149,7 +12557,7 @@ const _6m_lBKCDxxJVPiXUa9aPgLPWTARgtjNWNP4gmc5uKfw = defineNitroPlugin((nitroApp
|
|
|
12149
12557
|
});
|
|
12150
12558
|
|
|
12151
12559
|
const plugins = [
|
|
12152
|
-
|
|
12560
|
+
_LcDxosuGhTjRcGIch8IhbLNRAy3WkRY7Yz5xZ8xTbt4,
|
|
12153
12561
|
_yH7YZdbstDcFaJJaYFYHnMwGmlUt90Oge5psRI1PQTY,
|
|
12154
12562
|
_dvfdpqaA0oXDJsjGNFSZwFIva_b9H7PyZ0KB7S4mwm8,
|
|
12155
12563
|
_6m_lBKCDxxJVPiXUa9aPgLPWTARgtjNWNP4gmc5uKfw
|
|
@@ -12159,513 +12567,338 @@ const assets = {
|
|
|
12159
12567
|
"/favicon.svg": {
|
|
12160
12568
|
"type": "image/svg+xml",
|
|
12161
12569
|
"etag": "\"399-DJlj2DBCHGK781jAwgS+8UxnhA8\"",
|
|
12162
|
-
"mtime": "2026-08-
|
|
12570
|
+
"mtime": "2026-08-25T16:47:40.499Z",
|
|
12163
12571
|
"size": 921,
|
|
12164
12572
|
"path": "../public/favicon.svg"
|
|
12165
12573
|
},
|
|
12166
|
-
"/_nuxt/
|
|
12574
|
+
"/_nuxt/AC3CibKK.js": {
|
|
12167
12575
|
"type": "text/javascript; charset=utf-8",
|
|
12168
|
-
"etag": "\"
|
|
12169
|
-
"mtime": "2026-08-
|
|
12170
|
-
"size":
|
|
12171
|
-
"path": "../public/_nuxt/
|
|
12576
|
+
"etag": "\"16f16-hRhdwVMHbHZ9BJ6MiJBbzIxvfUk\"",
|
|
12577
|
+
"mtime": "2026-08-25T16:47:40.494Z",
|
|
12578
|
+
"size": 93974,
|
|
12579
|
+
"path": "../public/_nuxt/AC3CibKK.js"
|
|
12172
12580
|
},
|
|
12173
|
-
"/_nuxt/
|
|
12174
|
-
"type": "text/javascript; charset=utf-8",
|
|
12175
|
-
"etag": "\"893-DbaUWnhdDtE/x/5eZXWGpnU2TQQ\"",
|
|
12176
|
-
"mtime": "2026-08-21T21:28:18.367Z",
|
|
12177
|
-
"size": 2195,
|
|
12178
|
-
"path": "../public/_nuxt/5GgR1mbX.js"
|
|
12179
|
-
},
|
|
12180
|
-
"/_nuxt/BDNMzG2s2.js": {
|
|
12581
|
+
"/_nuxt/BDNMzG2s.js": {
|
|
12181
12582
|
"type": "text/javascript; charset=utf-8",
|
|
12182
12583
|
"etag": "\"54-MasMfSk/A98C3Gn9uIOxtFxkWNw\"",
|
|
12183
|
-
"mtime": "2026-08-
|
|
12584
|
+
"mtime": "2026-08-25T16:47:40.493Z",
|
|
12184
12585
|
"size": 84,
|
|
12185
|
-
"path": "../public/_nuxt/
|
|
12186
|
-
},
|
|
12187
|
-
"/_nuxt/BEFJRHhA2.js": {
|
|
12188
|
-
"type": "text/javascript; charset=utf-8",
|
|
12189
|
-
"etag": "\"d56-tBy26GgOjkknUMfbGsIIVG6gBH0\"",
|
|
12190
|
-
"mtime": "2026-08-21T21:28:18.367Z",
|
|
12191
|
-
"size": 3414,
|
|
12192
|
-
"path": "../public/_nuxt/BEFJRHhA2.js"
|
|
12193
|
-
},
|
|
12194
|
-
"/_nuxt/BEk00u4_.js": {
|
|
12195
|
-
"type": "text/javascript; charset=utf-8",
|
|
12196
|
-
"etag": "\"22d6-s9qlvXRsBzdcF6h5ZLjdLGQoQSM\"",
|
|
12197
|
-
"mtime": "2026-08-21T21:28:18.375Z",
|
|
12198
|
-
"size": 8918,
|
|
12199
|
-
"path": "../public/_nuxt/BEk00u4_.js"
|
|
12200
|
-
},
|
|
12201
|
-
"/_nuxt/BEQgcp5R.js": {
|
|
12202
|
-
"type": "text/javascript; charset=utf-8",
|
|
12203
|
-
"etag": "\"23b50-mpkzkb8N5qHVb35K0Lrc0wI0cog\"",
|
|
12204
|
-
"mtime": "2026-08-21T21:28:18.375Z",
|
|
12205
|
-
"size": 146256,
|
|
12206
|
-
"path": "../public/_nuxt/BEQgcp5R.js"
|
|
12207
|
-
},
|
|
12208
|
-
"/_nuxt/BGdmRvCK2.js": {
|
|
12209
|
-
"type": "text/javascript; charset=utf-8",
|
|
12210
|
-
"etag": "\"16b5-Sshhy3WKzOt1UoHLHuiHM1ftX24\"",
|
|
12211
|
-
"mtime": "2026-08-21T21:28:18.375Z",
|
|
12212
|
-
"size": 5813,
|
|
12213
|
-
"path": "../public/_nuxt/BGdmRvCK2.js"
|
|
12214
|
-
},
|
|
12215
|
-
"/_nuxt/BMLYuU_e.js": {
|
|
12216
|
-
"type": "text/javascript; charset=utf-8",
|
|
12217
|
-
"etag": "\"3dab-kZxtB0CA6BiZ2amdnuWc6ncvHmM\"",
|
|
12218
|
-
"mtime": "2026-08-21T21:28:18.376Z",
|
|
12219
|
-
"size": 15787,
|
|
12220
|
-
"path": "../public/_nuxt/BMLYuU_e.js"
|
|
12221
|
-
},
|
|
12222
|
-
"/_nuxt/BWJpSLJL.js": {
|
|
12223
|
-
"type": "text/javascript; charset=utf-8",
|
|
12224
|
-
"etag": "\"2e79-jNhWzXvsdMsdyMtx8aG2yYyblTo\"",
|
|
12225
|
-
"mtime": "2026-08-21T21:28:18.376Z",
|
|
12226
|
-
"size": 11897,
|
|
12227
|
-
"path": "../public/_nuxt/BWJpSLJL.js"
|
|
12228
|
-
},
|
|
12229
|
-
"/_nuxt/BXpPYfMx.js": {
|
|
12230
|
-
"type": "text/javascript; charset=utf-8",
|
|
12231
|
-
"etag": "\"297-WDnSh+WeblMh3+gF40okc6lIHac\"",
|
|
12232
|
-
"mtime": "2026-08-21T21:28:18.376Z",
|
|
12233
|
-
"size": 663,
|
|
12234
|
-
"path": "../public/_nuxt/BXpPYfMx.js"
|
|
12235
|
-
},
|
|
12236
|
-
"/_nuxt/BbjTtCyI.js": {
|
|
12237
|
-
"type": "text/javascript; charset=utf-8",
|
|
12238
|
-
"etag": "\"6b6f-yD+6UaiyIgirUyBFRLKiEcNyltI\"",
|
|
12239
|
-
"mtime": "2026-08-21T21:28:18.376Z",
|
|
12240
|
-
"size": 27503,
|
|
12241
|
-
"path": "../public/_nuxt/BbjTtCyI.js"
|
|
12242
|
-
},
|
|
12243
|
-
"/_nuxt/Bp3A7I5W2.js": {
|
|
12244
|
-
"type": "text/javascript; charset=utf-8",
|
|
12245
|
-
"etag": "\"843-3mo9lfGSYaqSiT7MxB/1kVQ/MWg\"",
|
|
12246
|
-
"mtime": "2026-08-21T21:28:18.376Z",
|
|
12247
|
-
"size": 2115,
|
|
12248
|
-
"path": "../public/_nuxt/Bp3A7I5W2.js"
|
|
12586
|
+
"path": "../public/_nuxt/BDNMzG2s.js"
|
|
12249
12587
|
},
|
|
12250
|
-
"/_nuxt/
|
|
12588
|
+
"/_nuxt/BGc2VNce.js": {
|
|
12251
12589
|
"type": "text/javascript; charset=utf-8",
|
|
12252
|
-
"etag": "\"
|
|
12253
|
-
"mtime": "2026-08-
|
|
12254
|
-
"size":
|
|
12255
|
-
"path": "../public/_nuxt/
|
|
12590
|
+
"etag": "\"6360-ymMUn4JqDsGeLcprajyVLOXiiyY\"",
|
|
12591
|
+
"mtime": "2026-08-25T16:47:40.494Z",
|
|
12592
|
+
"size": 25440,
|
|
12593
|
+
"path": "../public/_nuxt/BGc2VNce.js"
|
|
12256
12594
|
},
|
|
12257
|
-
"/_nuxt/
|
|
12595
|
+
"/_nuxt/BNJ2GN0A.js": {
|
|
12258
12596
|
"type": "text/javascript; charset=utf-8",
|
|
12259
|
-
"etag": "\"
|
|
12260
|
-
"mtime": "2026-08-
|
|
12261
|
-
"size":
|
|
12262
|
-
"path": "../public/_nuxt/
|
|
12597
|
+
"etag": "\"eb2-JrCFAQb//FWEjm8Clw2eOuQO3T0\"",
|
|
12598
|
+
"mtime": "2026-08-25T16:47:40.493Z",
|
|
12599
|
+
"size": 3762,
|
|
12600
|
+
"path": "../public/_nuxt/BNJ2GN0A.js"
|
|
12263
12601
|
},
|
|
12264
|
-
"/_nuxt/
|
|
12602
|
+
"/_nuxt/BN4XOpVt.js": {
|
|
12265
12603
|
"type": "text/javascript; charset=utf-8",
|
|
12266
|
-
"etag": "\"
|
|
12267
|
-
"mtime": "2026-08-
|
|
12268
|
-
"size":
|
|
12269
|
-
"path": "../public/_nuxt/
|
|
12604
|
+
"etag": "\"9c34-/+Rlbds6oLARSVvWhJI+etg3jxo\"",
|
|
12605
|
+
"mtime": "2026-08-25T16:47:40.495Z",
|
|
12606
|
+
"size": 39988,
|
|
12607
|
+
"path": "../public/_nuxt/BN4XOpVt.js"
|
|
12270
12608
|
},
|
|
12271
|
-
"/_nuxt/
|
|
12609
|
+
"/_nuxt/BP52ABGx.js": {
|
|
12272
12610
|
"type": "text/javascript; charset=utf-8",
|
|
12273
|
-
"etag": "\"
|
|
12274
|
-
"mtime": "2026-08-
|
|
12275
|
-
"size":
|
|
12276
|
-
"path": "../public/_nuxt/
|
|
12611
|
+
"etag": "\"c64b-nNZL6URzmeI6zHLbBPnaI/3Qvpo\"",
|
|
12612
|
+
"mtime": "2026-08-25T16:47:40.493Z",
|
|
12613
|
+
"size": 50763,
|
|
12614
|
+
"path": "../public/_nuxt/BP52ABGx.js"
|
|
12277
12615
|
},
|
|
12278
|
-
"/_nuxt/
|
|
12616
|
+
"/_nuxt/BWcsrofD.js": {
|
|
12279
12617
|
"type": "text/javascript; charset=utf-8",
|
|
12280
|
-
"etag": "\"
|
|
12281
|
-
"mtime": "2026-08-
|
|
12282
|
-
"size":
|
|
12283
|
-
"path": "../public/_nuxt/
|
|
12618
|
+
"etag": "\"2355b-ZUapaAEP2Khr/Pb93GNpJBPZe28\"",
|
|
12619
|
+
"mtime": "2026-08-25T16:47:40.493Z",
|
|
12620
|
+
"size": 144731,
|
|
12621
|
+
"path": "../public/_nuxt/BWcsrofD.js"
|
|
12284
12622
|
},
|
|
12285
|
-
"/_nuxt/
|
|
12623
|
+
"/_nuxt/Bqp63OdK.js": {
|
|
12286
12624
|
"type": "text/javascript; charset=utf-8",
|
|
12287
|
-
"etag": "\"
|
|
12288
|
-
"mtime": "2026-08-
|
|
12289
|
-
"size":
|
|
12290
|
-
"path": "../public/_nuxt/
|
|
12625
|
+
"etag": "\"15622-rCYpzvoJACg7xeqQhw/8SbrVI+M\"",
|
|
12626
|
+
"mtime": "2026-08-25T16:47:40.493Z",
|
|
12627
|
+
"size": 87586,
|
|
12628
|
+
"path": "../public/_nuxt/Bqp63OdK.js"
|
|
12291
12629
|
},
|
|
12292
|
-
"/_nuxt/
|
|
12630
|
+
"/_nuxt/CF8y5KTS.js": {
|
|
12293
12631
|
"type": "text/javascript; charset=utf-8",
|
|
12294
|
-
"etag": "\"
|
|
12295
|
-
"mtime": "2026-08-
|
|
12296
|
-
"size":
|
|
12297
|
-
"path": "../public/_nuxt/
|
|
12632
|
+
"etag": "\"16a13-qWarj4XDxGAgIWXgAHUsQctMUWc\"",
|
|
12633
|
+
"mtime": "2026-08-25T16:47:40.494Z",
|
|
12634
|
+
"size": 92691,
|
|
12635
|
+
"path": "../public/_nuxt/CF8y5KTS.js"
|
|
12298
12636
|
},
|
|
12299
12637
|
"/_nuxt/CO3cjsl1.js": {
|
|
12300
12638
|
"type": "text/javascript; charset=utf-8",
|
|
12301
12639
|
"etag": "\"36de-2NxLUyh/dpwLgyuiQ1dTlDvpUdo\"",
|
|
12302
|
-
"mtime": "2026-08-
|
|
12640
|
+
"mtime": "2026-08-25T16:47:40.494Z",
|
|
12303
12641
|
"size": 14046,
|
|
12304
12642
|
"path": "../public/_nuxt/CO3cjsl1.js"
|
|
12305
12643
|
},
|
|
12306
|
-
"/_nuxt/
|
|
12307
|
-
"type": "text/javascript; charset=utf-8",
|
|
12308
|
-
"etag": "\"28ee-mlEAtJh5V2lxVpCZNYnrmCmdCVw\"",
|
|
12309
|
-
"mtime": "2026-08-21T21:28:18.376Z",
|
|
12310
|
-
"size": 10478,
|
|
12311
|
-
"path": "../public/_nuxt/CRH0iqnQ.js"
|
|
12312
|
-
},
|
|
12313
|
-
"/_nuxt/CTLrtTtn2.js": {
|
|
12314
|
-
"type": "text/javascript; charset=utf-8",
|
|
12315
|
-
"etag": "\"17c6c-5Cv/WpFhgnvIZEiwuf0C7MskWU0\"",
|
|
12316
|
-
"mtime": "2026-08-21T21:28:18.377Z",
|
|
12317
|
-
"size": 97388,
|
|
12318
|
-
"path": "../public/_nuxt/CTLrtTtn2.js"
|
|
12319
|
-
},
|
|
12320
|
-
"/_nuxt/CTqLwyQP.js": {
|
|
12321
|
-
"type": "text/javascript; charset=utf-8",
|
|
12322
|
-
"etag": "\"262-DuQVjVm6tySeIfv3NrSsnDniZ2A\"",
|
|
12323
|
-
"mtime": "2026-08-21T21:28:18.377Z",
|
|
12324
|
-
"size": 610,
|
|
12325
|
-
"path": "../public/_nuxt/CTqLwyQP.js"
|
|
12326
|
-
},
|
|
12327
|
-
"/_nuxt/C5uJN_MU.js": {
|
|
12328
|
-
"type": "text/javascript; charset=utf-8",
|
|
12329
|
-
"etag": "\"e528-d2Q1RVsrcdT28KoT+268fD4PiZM\"",
|
|
12330
|
-
"mtime": "2026-08-21T21:28:18.376Z",
|
|
12331
|
-
"size": 58664,
|
|
12332
|
-
"path": "../public/_nuxt/C5uJN_MU.js"
|
|
12333
|
-
},
|
|
12334
|
-
"/_nuxt/CU7sPrmY.js": {
|
|
12335
|
-
"type": "text/javascript; charset=utf-8",
|
|
12336
|
-
"etag": "\"15df-qk6zlzi1WvB3XblsrXXkWBCSqno\"",
|
|
12337
|
-
"mtime": "2026-08-21T21:28:18.377Z",
|
|
12338
|
-
"size": 5599,
|
|
12339
|
-
"path": "../public/_nuxt/CU7sPrmY.js"
|
|
12340
|
-
},
|
|
12341
|
-
"/_nuxt/CfOqJVtU.js": {
|
|
12342
|
-
"type": "text/javascript; charset=utf-8",
|
|
12343
|
-
"etag": "\"5fc-EGQ5LRG5cJFqVFN1I/pOoJERTXM\"",
|
|
12344
|
-
"mtime": "2026-08-21T21:28:18.377Z",
|
|
12345
|
-
"size": 1532,
|
|
12346
|
-
"path": "../public/_nuxt/CfOqJVtU.js"
|
|
12347
|
-
},
|
|
12348
|
-
"/_nuxt/Clv7nJ_T2.js": {
|
|
12644
|
+
"/_nuxt/CUTaKHid.js": {
|
|
12349
12645
|
"type": "text/javascript; charset=utf-8",
|
|
12350
|
-
"etag": "\"
|
|
12351
|
-
"mtime": "2026-08-
|
|
12352
|
-
"size":
|
|
12353
|
-
"path": "../public/_nuxt/
|
|
12646
|
+
"etag": "\"d55-LrZPKIuX7jTFkqWGTuj9UgRn4SQ\"",
|
|
12647
|
+
"mtime": "2026-08-25T16:47:40.494Z",
|
|
12648
|
+
"size": 3413,
|
|
12649
|
+
"path": "../public/_nuxt/CUTaKHid.js"
|
|
12354
12650
|
},
|
|
12355
|
-
"/_nuxt/
|
|
12651
|
+
"/_nuxt/CZEhodn6.js": {
|
|
12356
12652
|
"type": "text/javascript; charset=utf-8",
|
|
12357
|
-
"etag": "\"
|
|
12358
|
-
"mtime": "2026-08-
|
|
12359
|
-
"size":
|
|
12360
|
-
"path": "../public/_nuxt/
|
|
12653
|
+
"etag": "\"515-+1ZmhWEGvjtROlHAlFz8DHik9Yc\"",
|
|
12654
|
+
"mtime": "2026-08-25T16:47:40.495Z",
|
|
12655
|
+
"size": 1301,
|
|
12656
|
+
"path": "../public/_nuxt/CZEhodn6.js"
|
|
12361
12657
|
},
|
|
12362
|
-
"/_nuxt/
|
|
12658
|
+
"/_nuxt/D1ge6Bwo.js": {
|
|
12363
12659
|
"type": "text/javascript; charset=utf-8",
|
|
12364
|
-
"etag": "\"
|
|
12365
|
-
"mtime": "2026-08-
|
|
12366
|
-
"size":
|
|
12367
|
-
"path": "../public/_nuxt/
|
|
12660
|
+
"etag": "\"87a-7OAU59QpMjrm3Un7wz+8giGy2vQ\"",
|
|
12661
|
+
"mtime": "2026-08-25T16:47:40.494Z",
|
|
12662
|
+
"size": 2170,
|
|
12663
|
+
"path": "../public/_nuxt/D1ge6Bwo.js"
|
|
12368
12664
|
},
|
|
12369
|
-
"/_nuxt/
|
|
12665
|
+
"/_nuxt/D2UpbqeN.js": {
|
|
12370
12666
|
"type": "text/javascript; charset=utf-8",
|
|
12371
|
-
"etag": "\"
|
|
12372
|
-
"mtime": "2026-08-
|
|
12373
|
-
"size":
|
|
12374
|
-
"path": "../public/_nuxt/
|
|
12375
|
-
},
|
|
12376
|
-
"/_nuxt/D5HF1Z0f2.js": {
|
|
12377
|
-
"type": "text/javascript; charset=utf-8",
|
|
12378
|
-
"etag": "\"eb3-BAgBzd1c3v82aSbZqkVQFzbBJSE\"",
|
|
12379
|
-
"mtime": "2026-08-21T21:28:18.377Z",
|
|
12380
|
-
"size": 3763,
|
|
12381
|
-
"path": "../public/_nuxt/D5HF1Z0f2.js"
|
|
12667
|
+
"etag": "\"1b05e-rla1gLWinFQ5VmlnRmpDr+hc3c4\"",
|
|
12668
|
+
"mtime": "2026-08-25T16:47:40.494Z",
|
|
12669
|
+
"size": 110686,
|
|
12670
|
+
"path": "../public/_nuxt/D2UpbqeN.js"
|
|
12382
12671
|
},
|
|
12383
12672
|
"/_nuxt/DJxuKf9Z.js": {
|
|
12384
12673
|
"type": "text/javascript; charset=utf-8",
|
|
12385
12674
|
"etag": "\"1c5c-bNrRkSFjTHAkZrXz3cy5zKx/BIA\"",
|
|
12386
|
-
"mtime": "2026-08-
|
|
12675
|
+
"mtime": "2026-08-25T16:47:40.494Z",
|
|
12387
12676
|
"size": 7260,
|
|
12388
12677
|
"path": "../public/_nuxt/DJxuKf9Z.js"
|
|
12389
12678
|
},
|
|
12390
|
-
"/_nuxt/
|
|
12679
|
+
"/_nuxt/DDKd6Dxq.js": {
|
|
12391
12680
|
"type": "text/javascript; charset=utf-8",
|
|
12392
|
-
"etag": "\"
|
|
12393
|
-
"mtime": "2026-08-
|
|
12394
|
-
"size":
|
|
12395
|
-
"path": "../public/_nuxt/
|
|
12681
|
+
"etag": "\"25d-tO2zs2FmJKGK9/lunRhbJBk3hLM\"",
|
|
12682
|
+
"mtime": "2026-08-25T16:47:40.494Z",
|
|
12683
|
+
"size": 605,
|
|
12684
|
+
"path": "../public/_nuxt/DDKd6Dxq.js"
|
|
12396
12685
|
},
|
|
12397
12686
|
"/_nuxt/DMHcp4U1.js": {
|
|
12398
12687
|
"type": "text/javascript; charset=utf-8",
|
|
12399
12688
|
"etag": "\"16ce0-7tl1x4uvYFOEx3KLM3hMQ0Uztk4\"",
|
|
12400
|
-
"mtime": "2026-08-
|
|
12689
|
+
"mtime": "2026-08-25T16:47:40.494Z",
|
|
12401
12690
|
"size": 93408,
|
|
12402
12691
|
"path": "../public/_nuxt/DMHcp4U1.js"
|
|
12403
12692
|
},
|
|
12404
|
-
"/_nuxt/
|
|
12405
|
-
"type": "text/javascript; charset=utf-8",
|
|
12406
|
-
"etag": "\"c7c-/yUGJZX4Gc4j79BXFG/VkarrAN4\"",
|
|
12407
|
-
"mtime": "2026-08-21T21:28:18.377Z",
|
|
12408
|
-
"size": 3196,
|
|
12409
|
-
"path": "../public/_nuxt/DPM_BYFz2.js"
|
|
12410
|
-
},
|
|
12411
|
-
"/_nuxt/DDHUGtv32.js": {
|
|
12693
|
+
"/_nuxt/Cym5RBDq.js": {
|
|
12412
12694
|
"type": "text/javascript; charset=utf-8",
|
|
12413
|
-
"etag": "\"
|
|
12414
|
-
"mtime": "2026-08-
|
|
12415
|
-
"size":
|
|
12416
|
-
"path": "../public/_nuxt/
|
|
12695
|
+
"etag": "\"186d-a3ct9EBPZEvzqd5mIQKXf5odCNc\"",
|
|
12696
|
+
"mtime": "2026-08-25T16:47:40.494Z",
|
|
12697
|
+
"size": 6253,
|
|
12698
|
+
"path": "../public/_nuxt/Cym5RBDq.js"
|
|
12417
12699
|
},
|
|
12418
|
-
"/_nuxt/
|
|
12700
|
+
"/_nuxt/D_FJunXs.js": {
|
|
12419
12701
|
"type": "text/javascript; charset=utf-8",
|
|
12420
|
-
"etag": "\"
|
|
12421
|
-
"mtime": "2026-08-
|
|
12422
|
-
"size":
|
|
12423
|
-
"path": "../public/_nuxt/
|
|
12702
|
+
"etag": "\"17c2d-N8zwYrc/eewEnpbYfXfHeNH5WEQ\"",
|
|
12703
|
+
"mtime": "2026-08-25T16:47:40.494Z",
|
|
12704
|
+
"size": 97325,
|
|
12705
|
+
"path": "../public/_nuxt/D_FJunXs.js"
|
|
12424
12706
|
},
|
|
12425
|
-
"/_nuxt/
|
|
12707
|
+
"/_nuxt/DoQkJV4U.js": {
|
|
12426
12708
|
"type": "text/javascript; charset=utf-8",
|
|
12427
|
-
"etag": "\"
|
|
12428
|
-
"mtime": "2026-08-
|
|
12429
|
-
"size":
|
|
12430
|
-
"path": "../public/_nuxt/
|
|
12709
|
+
"etag": "\"23c6-Jgoeyig8hkUN2UpfjjDllJBu9H4\"",
|
|
12710
|
+
"mtime": "2026-08-25T16:47:40.494Z",
|
|
12711
|
+
"size": 9158,
|
|
12712
|
+
"path": "../public/_nuxt/DoQkJV4U.js"
|
|
12431
12713
|
},
|
|
12432
|
-
"/_nuxt/
|
|
12714
|
+
"/_nuxt/JwPm-b3T.js": {
|
|
12433
12715
|
"type": "text/javascript; charset=utf-8",
|
|
12434
|
-
"etag": "\"
|
|
12435
|
-
"mtime": "2026-08-
|
|
12436
|
-
"size":
|
|
12437
|
-
"path": "../public/_nuxt/
|
|
12438
|
-
},
|
|
12439
|
-
"/_nuxt/FvWrDx_z.js": {
|
|
12440
|
-
"type": "text/javascript; charset=utf-8",
|
|
12441
|
-
"etag": "\"819-DP4Vwwy4P5vqmcUZEmGgWOiKfr4\"",
|
|
12442
|
-
"mtime": "2026-08-21T21:28:18.378Z",
|
|
12443
|
-
"size": 2073,
|
|
12444
|
-
"path": "../public/_nuxt/FvWrDx_z.js"
|
|
12445
|
-
},
|
|
12446
|
-
"/_nuxt/Gcazu-lR.js": {
|
|
12447
|
-
"type": "text/javascript; charset=utf-8",
|
|
12448
|
-
"etag": "\"6cf3-8JsDYiSzcRpJ9H5NPkIlhh192dk\"",
|
|
12449
|
-
"mtime": "2026-08-21T21:28:18.378Z",
|
|
12450
|
-
"size": 27891,
|
|
12451
|
-
"path": "../public/_nuxt/Gcazu-lR.js"
|
|
12452
|
-
},
|
|
12453
|
-
"/_nuxt/XDsaI4JL.js": {
|
|
12454
|
-
"type": "text/javascript; charset=utf-8",
|
|
12455
|
-
"etag": "\"111-CAV/HXAIRkbZ+wXj5PMuZ34VwL0\"",
|
|
12456
|
-
"mtime": "2026-08-21T21:28:18.378Z",
|
|
12457
|
-
"size": 273,
|
|
12458
|
-
"path": "../public/_nuxt/XDsaI4JL.js"
|
|
12459
|
-
},
|
|
12460
|
-
"/_nuxt/QcKfgokC.js": {
|
|
12461
|
-
"type": "text/javascript; charset=utf-8",
|
|
12462
|
-
"etag": "\"6fc7-nX9VUTird+t8oXsiFEHG4o+3KZc\"",
|
|
12463
|
-
"mtime": "2026-08-21T21:28:18.378Z",
|
|
12464
|
-
"size": 28615,
|
|
12465
|
-
"path": "../public/_nuxt/QcKfgokC.js"
|
|
12716
|
+
"etag": "\"50ee-/8EjYoFGJrd09SQSYZ/o6j83Oys\"",
|
|
12717
|
+
"mtime": "2026-08-25T16:47:40.495Z",
|
|
12718
|
+
"size": 20718,
|
|
12719
|
+
"path": "../public/_nuxt/JwPm-b3T.js"
|
|
12466
12720
|
},
|
|
12467
12721
|
"/_nuxt/cRY3ZoRz.js": {
|
|
12468
12722
|
"type": "text/javascript; charset=utf-8",
|
|
12469
12723
|
"etag": "\"9fb5-MfhmWN2hIk0l6KrdJYZGSmgXV/Q\"",
|
|
12470
|
-
"mtime": "2026-08-
|
|
12724
|
+
"mtime": "2026-08-25T16:47:40.495Z",
|
|
12471
12725
|
"size": 40885,
|
|
12472
12726
|
"path": "../public/_nuxt/cRY3ZoRz.js"
|
|
12473
12727
|
},
|
|
12474
|
-
"/_nuxt/
|
|
12475
|
-
"type": "text/
|
|
12476
|
-
"etag": "\"
|
|
12477
|
-
"mtime": "2026-08-
|
|
12478
|
-
"size":
|
|
12479
|
-
"path": "../public/_nuxt/
|
|
12480
|
-
},
|
|
12481
|
-
"/_nuxt/error-500.D7goJC9g.css": {
|
|
12482
|
-
"type": "text/css; charset=utf-8",
|
|
12483
|
-
"etag": "\"772-NbTPjEvoainsVYrrLesY3ZyqIC8\"",
|
|
12484
|
-
"mtime": "2026-08-21T21:28:18.378Z",
|
|
12485
|
-
"size": 1906,
|
|
12486
|
-
"path": "../public/_nuxt/error-500.D7goJC9g.css"
|
|
12728
|
+
"/_nuxt/cnFSOQCu.js": {
|
|
12729
|
+
"type": "text/javascript; charset=utf-8",
|
|
12730
|
+
"etag": "\"5bfc-mzn4BrGtKCqLwZcJBVquKn+Qq+g\"",
|
|
12731
|
+
"mtime": "2026-08-25T16:47:40.495Z",
|
|
12732
|
+
"size": 23548,
|
|
12733
|
+
"path": "../public/_nuxt/cnFSOQCu.js"
|
|
12487
12734
|
},
|
|
12488
|
-
"/_nuxt/
|
|
12735
|
+
"/_nuxt/Dc2A-6xl.js": {
|
|
12489
12736
|
"type": "text/javascript; charset=utf-8",
|
|
12490
|
-
"etag": "\"
|
|
12491
|
-
"mtime": "2026-08-
|
|
12492
|
-
"size":
|
|
12493
|
-
"path": "../public/_nuxt/
|
|
12737
|
+
"etag": "\"e36c-NJmOHBLqNQvcbhH3Sy+r5u3UzKc\"",
|
|
12738
|
+
"mtime": "2026-08-25T16:47:40.494Z",
|
|
12739
|
+
"size": 58220,
|
|
12740
|
+
"path": "../public/_nuxt/Dc2A-6xl.js"
|
|
12494
12741
|
},
|
|
12495
|
-
"/_nuxt/
|
|
12742
|
+
"/_nuxt/error-500.DNftkU4A.css": {
|
|
12496
12743
|
"type": "text/css; charset=utf-8",
|
|
12497
|
-
"etag": "\"
|
|
12498
|
-
"mtime": "2026-08-
|
|
12499
|
-
"size":
|
|
12500
|
-
"path": "../public/_nuxt/
|
|
12501
|
-
},
|
|
12502
|
-
"/_nuxt/f0o80Gcm.js": {
|
|
12503
|
-
"type": "text/javascript; charset=utf-8",
|
|
12504
|
-
"etag": "\"a7f-5x2eRDUOefwC3QPg0kVkSDUrbtE\"",
|
|
12505
|
-
"mtime": "2026-08-21T21:28:18.378Z",
|
|
12506
|
-
"size": 2687,
|
|
12507
|
-
"path": "../public/_nuxt/f0o80Gcm.js"
|
|
12744
|
+
"etag": "\"772-Nozjf8wfq2pvFeipXpDsPoSVm6c\"",
|
|
12745
|
+
"mtime": "2026-08-25T16:47:40.495Z",
|
|
12746
|
+
"size": 1906,
|
|
12747
|
+
"path": "../public/_nuxt/error-500.DNftkU4A.css"
|
|
12508
12748
|
},
|
|
12509
12749
|
"/_nuxt/hePW80VL.js": {
|
|
12510
12750
|
"type": "text/javascript; charset=utf-8",
|
|
12511
12751
|
"etag": "\"2cc-fA8td6k29UVF6JoPfhOPkceTK1M\"",
|
|
12512
|
-
"mtime": "2026-08-
|
|
12752
|
+
"mtime": "2026-08-25T16:47:40.495Z",
|
|
12513
12753
|
"size": 716,
|
|
12514
12754
|
"path": "../public/_nuxt/hePW80VL.js"
|
|
12515
12755
|
},
|
|
12516
|
-
"/_nuxt/
|
|
12517
|
-
"type": "text/
|
|
12518
|
-
"etag": "\"
|
|
12519
|
-
"mtime": "2026-08-
|
|
12520
|
-
"size":
|
|
12521
|
-
"path": "../public/_nuxt/
|
|
12756
|
+
"/_nuxt/tags.C6gBUbEB.css": {
|
|
12757
|
+
"type": "text/css; charset=utf-8",
|
|
12758
|
+
"etag": "\"661-77+GIe2IzeGFfKE7XA9TZXkoems\"",
|
|
12759
|
+
"mtime": "2026-08-25T16:47:40.495Z",
|
|
12760
|
+
"size": 1633,
|
|
12761
|
+
"path": "../public/_nuxt/tags.C6gBUbEB.css"
|
|
12522
12762
|
},
|
|
12523
|
-
"/_nuxt/
|
|
12763
|
+
"/_nuxt/entry.BmTN_nlL.css": {
|
|
12524
12764
|
"type": "text/css; charset=utf-8",
|
|
12525
|
-
"etag": "\"
|
|
12526
|
-
"mtime": "2026-08-
|
|
12527
|
-
"size":
|
|
12528
|
-
"path": "../public/_nuxt/
|
|
12765
|
+
"etag": "\"31b61-2xPGlP6UWcn2WZaUtv4o1034vKY\"",
|
|
12766
|
+
"mtime": "2026-08-25T16:47:40.496Z",
|
|
12767
|
+
"size": 203617,
|
|
12768
|
+
"path": "../public/_nuxt/entry.BmTN_nlL.css"
|
|
12529
12769
|
},
|
|
12530
|
-
"/_nuxt/
|
|
12531
|
-
"type": "text/
|
|
12532
|
-
"etag": "\"
|
|
12533
|
-
"mtime": "2026-08-
|
|
12534
|
-
"size":
|
|
12535
|
-
"path": "../public/_nuxt/
|
|
12770
|
+
"/_nuxt/error-404.CkhL7nxg.css": {
|
|
12771
|
+
"type": "text/css; charset=utf-8",
|
|
12772
|
+
"etag": "\"97d-WuEfgfo5R5nqwpH3Wd3r4niAXbc\"",
|
|
12773
|
+
"mtime": "2026-08-25T16:47:40.495Z",
|
|
12774
|
+
"size": 2429,
|
|
12775
|
+
"path": "../public/_nuxt/error-404.CkhL7nxg.css"
|
|
12536
12776
|
},
|
|
12537
12777
|
"/_fonts/0ncyUitqxXEtrEm7HzcQs5wcgo3wfV568UNDKlMnwsw-w0Y558yvXBaRp1OJ6ZEQsSSyhrLS3tQZTVIEmsGbzXo.woff2": {
|
|
12538
12778
|
"type": "font/woff2",
|
|
12539
12779
|
"etag": "\"21b4-5vUr0lwu56eej0WYd8CeVlrshdk\"",
|
|
12540
|
-
"mtime": "2026-08-
|
|
12780
|
+
"mtime": "2026-08-25T16:47:40.477Z",
|
|
12541
12781
|
"size": 8628,
|
|
12542
12782
|
"path": "../public/_fonts/0ncyUitqxXEtrEm7HzcQs5wcgo3wfV568UNDKlMnwsw-w0Y558yvXBaRp1OJ6ZEQsSSyhrLS3tQZTVIEmsGbzXo.woff2"
|
|
12543
12783
|
},
|
|
12544
12784
|
"/_fonts/5tRZydxhCpIwZ4Yf99ciVcTJxjB_TdL5XPynMmeCJR4-zei18mH_L_yyrzmgYbz265bB_W_eHd-LFGzZcS_SdtE.woff2": {
|
|
12545
12785
|
"type": "font/woff2",
|
|
12546
12786
|
"etag": "\"2144-wqgN+yL7WN+AVsPgk3XDykxurXk\"",
|
|
12547
|
-
"mtime": "2026-08-
|
|
12787
|
+
"mtime": "2026-08-25T16:47:40.479Z",
|
|
12548
12788
|
"size": 8516,
|
|
12549
12789
|
"path": "../public/_fonts/5tRZydxhCpIwZ4Yf99ciVcTJxjB_TdL5XPynMmeCJR4-zei18mH_L_yyrzmgYbz265bB_W_eHd-LFGzZcS_SdtE.woff2"
|
|
12550
12790
|
},
|
|
12551
12791
|
"/_fonts/EOefiLcwRKJ4nKM16K6z_F-mq3lOHkCw6EhYBbQIHPQ-nl9JjWyF976eNfiKihuAmOh43UjKIH95ojQg3EBL0Z0.woff2": {
|
|
12552
12792
|
"type": "font/woff2",
|
|
12553
12793
|
"etag": "\"177c-7sGmeKySE5GVzm0dGyjV5D08aoU\"",
|
|
12554
|
-
"mtime": "2026-08-
|
|
12794
|
+
"mtime": "2026-08-25T16:47:40.478Z",
|
|
12555
12795
|
"size": 6012,
|
|
12556
12796
|
"path": "../public/_fonts/EOefiLcwRKJ4nKM16K6z_F-mq3lOHkCw6EhYBbQIHPQ-nl9JjWyF976eNfiKihuAmOh43UjKIH95ojQg3EBL0Z0.woff2"
|
|
12557
12797
|
},
|
|
12558
12798
|
"/_fonts/GZ8Vu2ga9Ys2RWqI_5_fmscGtaVz0BT0fO9HHusvG5Q-3uovunZ3f6ktPUtRyj_ghk9XNUfND7GlCM2BYJtdJWw.woff2": {
|
|
12559
12799
|
"type": "font/woff2",
|
|
12560
12800
|
"etag": "\"1f38-//55P1Jgd0CYSpMe5xWKqC25SnI\"",
|
|
12561
|
-
"mtime": "2026-08-
|
|
12801
|
+
"mtime": "2026-08-25T16:47:40.477Z",
|
|
12562
12802
|
"size": 7992,
|
|
12563
12803
|
"path": "../public/_fonts/GZ8Vu2ga9Ys2RWqI_5_fmscGtaVz0BT0fO9HHusvG5Q-3uovunZ3f6ktPUtRyj_ghk9XNUfND7GlCM2BYJtdJWw.woff2"
|
|
12564
12804
|
},
|
|
12805
|
+
"/_fonts/YpdduKWWs-eOA_Cc_7jA92GH6kPvk9DopllJiZ2Ltr4-xlZteAWjxfvRgLsA8z771osmF3aCdHwOdhrFE7sEFoQ.woff2": {
|
|
12806
|
+
"type": "font/woff2",
|
|
12807
|
+
"etag": "\"1edc-fkjVSx3x0/ZX/JAidZAwgYP/ndw\"",
|
|
12808
|
+
"mtime": "2026-08-25T16:47:40.478Z",
|
|
12809
|
+
"size": 7900,
|
|
12810
|
+
"path": "../public/_fonts/YpdduKWWs-eOA_Cc_7jA92GH6kPvk9DopllJiZ2Ltr4-xlZteAWjxfvRgLsA8z771osmF3aCdHwOdhrFE7sEFoQ.woff2"
|
|
12811
|
+
},
|
|
12565
12812
|
"/_fonts/XUVCr3JJnCKa3ZjFe_4w-iDoaxDWfJzV4YCx_1QCo_E-3jWYsKhSrJxbXnSqiLm_B7lgRj5JeEHZF09nljCh3M0.woff2": {
|
|
12566
12813
|
"type": "font/woff2",
|
|
12567
12814
|
"etag": "\"2224-DOM9SokVAMep6ZvnjMP9IsHmo0o\"",
|
|
12568
|
-
"mtime": "2026-08-
|
|
12815
|
+
"mtime": "2026-08-25T16:47:40.478Z",
|
|
12569
12816
|
"size": 8740,
|
|
12570
12817
|
"path": "../public/_fonts/XUVCr3JJnCKa3ZjFe_4w-iDoaxDWfJzV4YCx_1QCo_E-3jWYsKhSrJxbXnSqiLm_B7lgRj5JeEHZF09nljCh3M0.woff2"
|
|
12571
12818
|
},
|
|
12572
12819
|
"/_fonts/bjNDQff8sSvRh4GSJLCMMDpBdKcXueWLQqqQmnFqm7o-8fGs_K2xfIMVefRfexJe4qYf76rOVS_5WhCBYBsxYVo.woff2": {
|
|
12573
12820
|
"type": "font/woff2",
|
|
12574
12821
|
"etag": "\"177c-80/RBhNFJqcP3UljAelorcOubsE\"",
|
|
12575
|
-
"mtime": "2026-08-
|
|
12822
|
+
"mtime": "2026-08-25T16:47:40.478Z",
|
|
12576
12823
|
"size": 6012,
|
|
12577
12824
|
"path": "../public/_fonts/bjNDQff8sSvRh4GSJLCMMDpBdKcXueWLQqqQmnFqm7o-8fGs_K2xfIMVefRfexJe4qYf76rOVS_5WhCBYBsxYVo.woff2"
|
|
12578
12825
|
},
|
|
12579
|
-
"/_fonts/
|
|
12826
|
+
"/_fonts/_WITXZSlvQMoD2fEgG1wXh8OdDfanMwrMC1wOPGgNhY-DGRD4A2ezdSeftFtmisWfZSsUcF6tvcGkBhNOAHhEgk.woff2": {
|
|
12580
12827
|
"type": "font/woff2",
|
|
12581
|
-
"etag": "\"
|
|
12582
|
-
"mtime": "2026-08-
|
|
12583
|
-
"size":
|
|
12584
|
-
"path": "../public/_fonts/
|
|
12828
|
+
"etag": "\"1e3c-u6AgwP0EJgeYcv3XkpomC0FIRc0\"",
|
|
12829
|
+
"mtime": "2026-08-25T16:47:40.477Z",
|
|
12830
|
+
"size": 7740,
|
|
12831
|
+
"path": "../public/_fonts/_WITXZSlvQMoD2fEgG1wXh8OdDfanMwrMC1wOPGgNhY-DGRD4A2ezdSeftFtmisWfZSsUcF6tvcGkBhNOAHhEgk.woff2"
|
|
12585
12832
|
},
|
|
12586
12833
|
"/_fonts/cfe5huB_y467A-yGRsjncGttRMYh8iB3HIAbd1-EgFk-_StpNKo8SiO_EaTbyGHT7XYvLA1oY5zTHOn_eSaSyTk.woff2": {
|
|
12587
12834
|
"type": "font/woff2",
|
|
12588
12835
|
"etag": "\"16f0-XEqELcbY5UPEivjwMKtP26b9tNc\"",
|
|
12589
|
-
"mtime": "2026-08-
|
|
12836
|
+
"mtime": "2026-08-25T16:47:40.478Z",
|
|
12590
12837
|
"size": 5872,
|
|
12591
12838
|
"path": "../public/_fonts/cfe5huB_y467A-yGRsjncGttRMYh8iB3HIAbd1-EgFk-_StpNKo8SiO_EaTbyGHT7XYvLA1oY5zTHOn_eSaSyTk.woff2"
|
|
12592
12839
|
},
|
|
12593
12840
|
"/_fonts/e-_sz56pssm7ydCJFOGAUPMl6TV_DbBVqRvEYBSrqVc-_p0SPnOA0FWTLlD4I2lH2hgDcJUxfAKRZAYBMxgjiC0.woff2": {
|
|
12594
12841
|
"type": "font/woff2",
|
|
12595
12842
|
"etag": "\"1ea8-avadMHwzrw88TD65bvAepDkPR04\"",
|
|
12596
|
-
"mtime": "2026-08-
|
|
12843
|
+
"mtime": "2026-08-25T16:47:40.479Z",
|
|
12597
12844
|
"size": 7848,
|
|
12598
12845
|
"path": "../public/_fonts/e-_sz56pssm7ydCJFOGAUPMl6TV_DbBVqRvEYBSrqVc-_p0SPnOA0FWTLlD4I2lH2hgDcJUxfAKRZAYBMxgjiC0.woff2"
|
|
12599
12846
|
},
|
|
12600
12847
|
"/_fonts/nco6D2lcYG_YRxaF8tG6Gs39nDWiQTHuWOjZbslCV8s-IUsuo3G_y8xv3hRlufkQpA8w-oRC3eG7HYs5j_P_274.woff2": {
|
|
12601
12848
|
"type": "font/woff2",
|
|
12602
12849
|
"etag": "\"1548-qD0ozyo93J9OeSW1BKUcbKGjBoQ\"",
|
|
12603
|
-
"mtime": "2026-08-
|
|
12850
|
+
"mtime": "2026-08-25T16:47:40.478Z",
|
|
12604
12851
|
"size": 5448,
|
|
12605
12852
|
"path": "../public/_fonts/nco6D2lcYG_YRxaF8tG6Gs39nDWiQTHuWOjZbslCV8s-IUsuo3G_y8xv3hRlufkQpA8w-oRC3eG7HYs5j_P_274.woff2"
|
|
12606
12853
|
},
|
|
12607
12854
|
"/_fonts/m6rGg_mpoPQz2cTkdhDYgczR4yctyKztEG6iwU71C34-LpS_o7_2y38Z56f0WGt_t_5ngxEqpN2qQIBqyNhFgsU.woff2": {
|
|
12608
12855
|
"type": "font/woff2",
|
|
12609
12856
|
"etag": "\"21e4-2xCtTiyjgRAM5Dk9QxxKODBGei4\"",
|
|
12610
|
-
"mtime": "2026-08-
|
|
12857
|
+
"mtime": "2026-08-25T16:47:40.478Z",
|
|
12611
12858
|
"size": 8676,
|
|
12612
12859
|
"path": "../public/_fonts/m6rGg_mpoPQz2cTkdhDYgczR4yctyKztEG6iwU71C34-LpS_o7_2y38Z56f0WGt_t_5ngxEqpN2qQIBqyNhFgsU.woff2"
|
|
12613
12860
|
},
|
|
12614
|
-
"/_fonts/
|
|
12861
|
+
"/_fonts/op99aXquCGImGVv0pEDnzC7HS8p1SZ6VzEO576zT4MA-mpC9F6cIaTw8AO5X8_UXZ7ioAW2oHM_76x0asIyVA80.woff2": {
|
|
12615
12862
|
"type": "font/woff2",
|
|
12616
|
-
"etag": "\"
|
|
12617
|
-
"mtime": "2026-08-
|
|
12618
|
-
"size":
|
|
12619
|
-
"path": "../public/_fonts/
|
|
12863
|
+
"etag": "\"15b0-sqzPYvDy9re3PVEvO6N+mfZ0x+M\"",
|
|
12864
|
+
"mtime": "2026-08-25T16:47:40.478Z",
|
|
12865
|
+
"size": 5552,
|
|
12866
|
+
"path": "../public/_fonts/op99aXquCGImGVv0pEDnzC7HS8p1SZ6VzEO576zT4MA-mpC9F6cIaTw8AO5X8_UXZ7ioAW2oHM_76x0asIyVA80.woff2"
|
|
12620
12867
|
},
|
|
12621
12868
|
"/_fonts/tch9LzN5j_dlnjUtoti6RdPCzFPIC61h2dp093uB1d4-6ufKabglPJqip8M2ovOr08UNFI7rTJNJ_NpV2P9blpc.woff2": {
|
|
12622
12869
|
"type": "font/woff2",
|
|
12623
12870
|
"etag": "\"1718-O4VsLbdOi9kDnEH4r+8VOq3o5HU\"",
|
|
12624
|
-
"mtime": "2026-08-
|
|
12871
|
+
"mtime": "2026-08-25T16:47:40.479Z",
|
|
12625
12872
|
"size": 5912,
|
|
12626
12873
|
"path": "../public/_fonts/tch9LzN5j_dlnjUtoti6RdPCzFPIC61h2dp093uB1d4-6ufKabglPJqip8M2ovOr08UNFI7rTJNJ_NpV2P9blpc.woff2"
|
|
12627
12874
|
},
|
|
12628
|
-
"/_fonts/zDv8W5qScDHC1KDT1cvI7PwzOHF-p3XubgMMgTX-1UE-GKt2pu9p2cnYqnrvnVM1O_b7ipTl1lhOzymkeh4kdd8.woff2": {
|
|
12629
|
-
"type": "font/woff2",
|
|
12630
|
-
"etag": "\"1578-DBk4lWQ0jupAQEUE7SJTDlGmrXQ\"",
|
|
12631
|
-
"mtime": "2026-08-21T21:28:18.351Z",
|
|
12632
|
-
"size": 5496,
|
|
12633
|
-
"path": "../public/_fonts/zDv8W5qScDHC1KDT1cvI7PwzOHF-p3XubgMMgTX-1UE-GKt2pu9p2cnYqnrvnVM1O_b7ipTl1lhOzymkeh4kdd8.woff2"
|
|
12634
|
-
},
|
|
12635
|
-
"/_fonts/op99aXquCGImGVv0pEDnzC7HS8p1SZ6VzEO576zT4MA-mpC9F6cIaTw8AO5X8_UXZ7ioAW2oHM_76x0asIyVA80.woff2": {
|
|
12636
|
-
"type": "font/woff2",
|
|
12637
|
-
"etag": "\"15b0-sqzPYvDy9re3PVEvO6N+mfZ0x+M\"",
|
|
12638
|
-
"mtime": "2026-08-21T21:28:18.351Z",
|
|
12639
|
-
"size": 5552,
|
|
12640
|
-
"path": "../public/_fonts/op99aXquCGImGVv0pEDnzC7HS8p1SZ6VzEO576zT4MA-mpC9F6cIaTw8AO5X8_UXZ7ioAW2oHM_76x0asIyVA80.woff2"
|
|
12641
|
-
},
|
|
12642
12875
|
"/_fonts/vYKPADYc-DuiKOUdPseFWq8k7wot3DXAgkBGOtlALzM-_fCqsHYsWtfAvLhylqaUYj1rC930WvXTjBVdTJtv5LA.woff2": {
|
|
12643
12876
|
"type": "font/woff2",
|
|
12644
12877
|
"etag": "\"1608-D9gBKRW7h8xB8fw0DKyUKwCWNaQ\"",
|
|
12645
|
-
"mtime": "2026-08-
|
|
12878
|
+
"mtime": "2026-08-25T16:47:40.479Z",
|
|
12646
12879
|
"size": 5640,
|
|
12647
12880
|
"path": "../public/_fonts/vYKPADYc-DuiKOUdPseFWq8k7wot3DXAgkBGOtlALzM-_fCqsHYsWtfAvLhylqaUYj1rC930WvXTjBVdTJtv5LA.woff2"
|
|
12648
12881
|
},
|
|
12649
|
-
"/
|
|
12650
|
-
"type": "
|
|
12651
|
-
"etag": "\"
|
|
12652
|
-
"mtime": "2026-08-
|
|
12653
|
-
"size":
|
|
12654
|
-
"path": "../public/
|
|
12882
|
+
"/_fonts/zDv8W5qScDHC1KDT1cvI7PwzOHF-p3XubgMMgTX-1UE-GKt2pu9p2cnYqnrvnVM1O_b7ipTl1lhOzymkeh4kdd8.woff2": {
|
|
12883
|
+
"type": "font/woff2",
|
|
12884
|
+
"etag": "\"1578-DBk4lWQ0jupAQEUE7SJTDlGmrXQ\"",
|
|
12885
|
+
"mtime": "2026-08-25T16:47:40.479Z",
|
|
12886
|
+
"size": 5496,
|
|
12887
|
+
"path": "../public/_fonts/zDv8W5qScDHC1KDT1cvI7PwzOHF-p3XubgMMgTX-1UE-GKt2pu9p2cnYqnrvnVM1O_b7ipTl1lhOzymkeh4kdd8.woff2"
|
|
12655
12888
|
},
|
|
12656
12889
|
"/_nuxt/builds/latest.json": {
|
|
12657
12890
|
"type": "application/json",
|
|
12658
|
-
"etag": "\"47-
|
|
12659
|
-
"mtime": "2026-08-
|
|
12891
|
+
"etag": "\"47-qzTs4TH0TM/D55PVKzkl/yN5MwU\"",
|
|
12892
|
+
"mtime": "2026-08-25T16:47:40.471Z",
|
|
12660
12893
|
"size": 71,
|
|
12661
12894
|
"path": "../public/_nuxt/builds/latest.json"
|
|
12662
12895
|
},
|
|
12663
|
-
"/_nuxt/builds/meta/
|
|
12896
|
+
"/_nuxt/builds/meta/bcd56d50-e1a9-4021-b9df-ab200a81246a.json": {
|
|
12664
12897
|
"type": "application/json",
|
|
12665
|
-
"etag": "\"58-
|
|
12666
|
-
"mtime": "2026-08-
|
|
12898
|
+
"etag": "\"58-QszcmZyRRv3Of1mqlA8Qy93yXxE\"",
|
|
12899
|
+
"mtime": "2026-08-25T16:47:40.466Z",
|
|
12667
12900
|
"size": 88,
|
|
12668
|
-
"path": "../public/_nuxt/builds/meta/
|
|
12901
|
+
"path": "../public/_nuxt/builds/meta/bcd56d50-e1a9-4021-b9df-ab200a81246a.json"
|
|
12669
12902
|
}
|
|
12670
12903
|
};
|
|
12671
12904
|
|
|
@@ -12812,7 +13045,7 @@ function getAsset (id) {
|
|
|
12812
13045
|
|
|
12813
13046
|
const METHODS = /* @__PURE__ */ new Set(["HEAD", "GET"]);
|
|
12814
13047
|
const EncodingMap = { gzip: ".gz", br: ".br" };
|
|
12815
|
-
const
|
|
13048
|
+
const _716Cq4 = eventHandler((event) => {
|
|
12816
13049
|
if (event.method && !METHODS.has(event.method)) {
|
|
12817
13050
|
return;
|
|
12818
13051
|
}
|
|
@@ -12885,7 +13118,7 @@ const collections = {
|
|
|
12885
13118
|
'simple-icons': () => import('../_/icons4.mjs').then(m => m.default),
|
|
12886
13119
|
};
|
|
12887
13120
|
|
|
12888
|
-
const
|
|
13121
|
+
const _Dty4_8 = defineCachedEventHandler(async (event) => {
|
|
12889
13122
|
const collectionName = event.context.params?.collection?.replace(/\.json$/, "");
|
|
12890
13123
|
const collection = collectionName && Object.hasOwn(collections, collectionName) ? await collections[collectionName]?.() : null;
|
|
12891
13124
|
const apiEndPoint = options.iconifyApiEndpoint;
|
|
@@ -12967,9 +13200,13 @@ const _lazy_1cCLWp = () => import('../routes/api/settings/ai.get.mjs');
|
|
|
12967
13200
|
const _lazy_WHW6Ad = () => import('../routes/api/settings/ai.put.mjs');
|
|
12968
13201
|
const _lazy_CmdGri = () => import('../routes/api/settings/ai/models.post.mjs');
|
|
12969
13202
|
const _lazy_U7M8oI = () => import('../routes/api/settings/ai/ping.post.mjs');
|
|
13203
|
+
const _lazy_allZ49 = () => import('../routes/api/telemetry/report.post.mjs');
|
|
12970
13204
|
const _lazy_0YyBSd = () => import('../routes/debug/click.post.mjs');
|
|
13205
|
+
const _lazy_VauhsT = () => import('../routes/debug/close-page.post.mjs');
|
|
13206
|
+
const _lazy_UZLlIK = () => import('../routes/debug/erro-de-telemetria.get.mjs');
|
|
12971
13207
|
const _lazy_kwZv_c = () => import('../routes/debug/fill.post.mjs');
|
|
12972
13208
|
const _lazy_66j9OP = () => import('../routes/debug/goto.post.mjs');
|
|
13209
|
+
const _lazy_UsMczL = () => import('../routes/debug/replay-decision.post.mjs');
|
|
12973
13210
|
const _lazy_lMebqj = () => import('../routes/health.get.mjs');
|
|
12974
13211
|
const _lazy_JohveF = () => import('../routes/recording/_id_.delete.mjs');
|
|
12975
13212
|
const _lazy_6B6AmM = () => import('../routes/recording/_id_.get.mjs');
|
|
@@ -12980,10 +13217,10 @@ const _lazy_um4rCO = () => import('../routes/runner/project/stream.post.mjs');
|
|
|
12980
13217
|
const _lazy_OTAkqp = () => import('../routes/runner/spec.post.mjs');
|
|
12981
13218
|
const _lazy_dIPEDV = () => import('../routes/runner/video.get.mjs');
|
|
12982
13219
|
const _lazy_3qbquC = () => import('../routes/ws.mjs');
|
|
12983
|
-
const
|
|
13220
|
+
const _lazy_U0nolm = () => import('../routes/renderer.mjs').then(function (n) { return n.r; });
|
|
12984
13221
|
|
|
12985
13222
|
const handlers = [
|
|
12986
|
-
{ route: '', handler:
|
|
13223
|
+
{ route: '', handler: _716Cq4, lazy: false, middleware: true, method: undefined },
|
|
12987
13224
|
{ route: '/api/projects/:slug', handler: _lazy_hk2AkS, lazy: true, middleware: false, method: "delete" },
|
|
12988
13225
|
{ route: '/api/projects/:slug', handler: _lazy_Okkwmq, lazy: true, middleware: false, method: "get" },
|
|
12989
13226
|
{ route: '/api/projects/:slug', handler: _lazy_RcC8pl, lazy: true, middleware: false, method: "put" },
|
|
@@ -13018,9 +13255,13 @@ const handlers = [
|
|
|
13018
13255
|
{ route: '/api/settings/ai', handler: _lazy_WHW6Ad, lazy: true, middleware: false, method: "put" },
|
|
13019
13256
|
{ route: '/api/settings/ai/models', handler: _lazy_CmdGri, lazy: true, middleware: false, method: "post" },
|
|
13020
13257
|
{ route: '/api/settings/ai/ping', handler: _lazy_U7M8oI, lazy: true, middleware: false, method: "post" },
|
|
13258
|
+
{ route: '/api/telemetry/report', handler: _lazy_allZ49, lazy: true, middleware: false, method: "post" },
|
|
13021
13259
|
{ route: '/debug/click', handler: _lazy_0YyBSd, lazy: true, middleware: false, method: "post" },
|
|
13260
|
+
{ route: '/debug/close-page', handler: _lazy_VauhsT, lazy: true, middleware: false, method: "post" },
|
|
13261
|
+
{ route: '/debug/erro-de-telemetria', handler: _lazy_UZLlIK, lazy: true, middleware: false, method: "get" },
|
|
13022
13262
|
{ route: '/debug/fill', handler: _lazy_kwZv_c, lazy: true, middleware: false, method: "post" },
|
|
13023
13263
|
{ route: '/debug/goto', handler: _lazy_66j9OP, lazy: true, middleware: false, method: "post" },
|
|
13264
|
+
{ route: '/debug/replay-decision', handler: _lazy_UsMczL, lazy: true, middleware: false, method: "post" },
|
|
13024
13265
|
{ route: '/health', handler: _lazy_lMebqj, lazy: true, middleware: false, method: "get" },
|
|
13025
13266
|
{ route: '/recording/:id', handler: _lazy_JohveF, lazy: true, middleware: false, method: "delete" },
|
|
13026
13267
|
{ route: '/recording/:id', handler: _lazy_6B6AmM, lazy: true, middleware: false, method: "get" },
|
|
@@ -13031,10 +13272,10 @@ const handlers = [
|
|
|
13031
13272
|
{ route: '/runner/spec', handler: _lazy_OTAkqp, lazy: true, middleware: false, method: "post" },
|
|
13032
13273
|
{ route: '/runner/video', handler: _lazy_dIPEDV, lazy: true, middleware: false, method: "get" },
|
|
13033
13274
|
{ route: '/ws', handler: _lazy_3qbquC, lazy: true, middleware: false, method: undefined },
|
|
13034
|
-
{ route: '/__nuxt_error', handler:
|
|
13035
|
-
{ route: '/api/_nuxt_icon/:collection', handler:
|
|
13275
|
+
{ route: '/__nuxt_error', handler: _lazy_U0nolm, lazy: true, middleware: false, method: undefined },
|
|
13276
|
+
{ route: '/api/_nuxt_icon/:collection', handler: _Dty4_8, lazy: false, middleware: false, method: undefined },
|
|
13036
13277
|
{ route: '/__nuxt_island/**', handler: _SxA8c9, lazy: false, middleware: false, method: undefined },
|
|
13037
|
-
{ route: '/**', handler:
|
|
13278
|
+
{ route: '/**', handler: _lazy_U0nolm, lazy: true, middleware: false, method: undefined }
|
|
13038
13279
|
];
|
|
13039
13280
|
|
|
13040
13281
|
function createNitroApp() {
|
|
@@ -13493,5 +13734,5 @@ setupGracefulShutdown(listener, nitroApp);
|
|
|
13493
13734
|
}
|
|
13494
13735
|
const nodeServer = {};
|
|
13495
13736
|
|
|
13496
|
-
export {
|
|
13737
|
+
export { defuFn as $, ActiveVars as A, ownsKey as B, readAppConfig as C, acutis as D, EnvKey as E, BadRequest as F, useStorage as G, HttpError as H, parseURL as I, encodePath as J, decodePath as K, withQuery as L, MASK as M, NotFound as N, hasProtocol as O, PACKAGE_ROOT as P, isScriptProtocol as Q, RUNNER_DIR as R, STREAM_REPORTER_PATH as S, joinURL as T, Url as U, ValidationFailed as V, sanitizeStatusCode as W, parseQuery as X, withTrailingSlash as Y, withoutTrailingSlash as Z, klona as _, setResponseStatus as a, hash$1 as a0, $fetch as a1, isEqual as a2, setCookie as a3, getCookie as a4, deleteCookie as a5, fromLine as a6, keyed as a7, useRuntimeConfig as a8, joinRelativeURL as a9, defineRenderHandler as aa, destr as ab, getRouteRules as ac, relative as ad, getResponseStatusText as ae, getResponseStatus as af, useNitroApp as ag, nodeServer as ah, getQuery as b, createEventStream as c, defineEventHandler as d, createError$1 as e, settingsUseCases as f, getRouterParam as g, recorderService as h, setHeader as i, sendStream as j, handleCors as k, readRawBody as l, getRequestURL as m, defu as n, Recording as o, processEnvironment as p, getRequestHeader as q, readBody as r, sendNoContent as s, defineWebSocketHandler as t, environmentVar as u, videoService as v, runAgent as w, describeElement as x, pathOf as y, SENSITIVE_PREFIX as z };
|
|
13497
13738
|
//# sourceMappingURL=nitro.mjs.map
|