@openora/create 0.4.1-canary.324 → 0.4.1-canary.326

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/dist/.tsbuildinfo CHANGED
@@ -1 +1 @@
1
- {"fileNames":["../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2025.float16.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/generated/versions.ts","../src/render.ts","../src/index.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/blob.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/console.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/crypto.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/encoding.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/utility.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/client-stats.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/round-robin-pool.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/h2c-client.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/dispatcher1-wrapper.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/snapshot-agent.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/socks5-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/importmeta.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/messaging.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/performance.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/timers.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/url.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/ffi.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/inspector/promises.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/path/posix.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/path/win32.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/quic.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/stream/iter.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/test/reporters.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/util/types.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/vfs.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/zlib/iter.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/index.d.ts"],"fileIdsList":[[64,126,127,129,137,142,145,147,148,149,161],[64,128,129,137,142,145,147,148,149,161],[129,137,142,145,147,148,149,161],[64,129,137,142,145,147,148,149,161,170],[64,129,130,135,137,140,142,145,147,148,149,151,161,166,179],[64,129,130,131,137,140,142,145,147,148,149,161],[64,129,132,137,142,145,147,148,149,161,180],[64,129,133,134,137,142,145,147,148,149,152,161],[64,129,134,137,142,145,147,148,149,161,166,176],[64,129,135,137,140,142,145,147,148,149,151,161],[64,128,129,136,137,142,145,147,148,149,161],[64,129,137,138,142,145,147,148,149,161],[64,129,137,139,140,142,145,147,148,149,161],[64,128,129,137,140,142,145,147,148,149,161],[64,129,137,142,145,147,148,149,161],[64,129,137,140,142,143,145,147,148,149,161,166,179],[64,129,137,140,142,143,145,147,148,149,161,168,170],[64,116,129,137,140,142,144,145,147,148,149,151,161,166,179],[64,129,137,140,142,144,145,147,148,149,151,161,166,176,179],[64,129,137,142,144,145,146,147,148,149,161,166,176,179],[63,64,65,66,67,68,69,70,71,72,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188],[64,129,137,140,142,145,147,148,149,161],[64,129,137,142,145,147,149,161],[64,129,137,142,145,147,148,149,150,161,179],[64,129,137,140,142,145,147,148,149,151,161,166],[64,129,137,142,145,147,148,149,152,161],[64,129,137,142,145,147,148,149,153,161],[64,129,137,140,142,145,147,148,149,156,161],[64,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187],[64,129,137,142,145,147,148,149,158,161],[64,129,137,142,145,147,148,149,159,161],[64,129,134,137,142,143,145,147,148,149,151,161,168,176],[64,129,137,140,142,145,147,148,149,161,162],[64,129,137,142,145,147,148,149,161,163,180,184],[64,129,137,140,142,145,147,148,149,161,166,168,169,170],[64,129,137,142,145,147,148,149,161,167,170],[64,129,137,140,142,145,147,148,149,161,166,168],[64,129,137,140,142,145,147,148,149,161,166,169,170],[64,129,137,142,145,147,148,149,161,170,180],[64,129,137,142,145,147,148,149,161,171],[64,126,129,137,142,145,147,148,149,161,166,173,179],[64,129,137,142,145,147,148,149,161,166,172],[64,129,137,140,142,145,147,148,149,161,174,175],[64,129,137,142,145,147,148,149,161,174,175],[64,129,134,137,142,145,147,148,149,151,161,166,176],[64,129,137,142,145,147,148,149,161,177],[64,129,137,142,145,147,148,149,151,161,178],[64,129,137,142,144,145,147,148,149,159,161,179],[64,129,137,142,145,147,148,149,161,180,181],[64,129,134,137,142,145,147,148,149,161,181],[64,129,137,142,145,147,148,149,161,166,182],[64,129,137,142,143,145,147,148,149,161],[64,129,137,142,145,147,148,149,150,161,184],[64,129,137,142,145,147,148,149,161,185],[64,129,132,137,142,145,147,148,149,161],[64,129,134,137,142,145,147,148,149,161],[64,129,137,142,145,147,148,149,161,180],[64,116,129,137,142,145,147,148,149,161],[64,129,137,142,145,147,148,149,161,179],[64,129,137,142,145,147,148,149,161,186],[64,129,137,142,145,147,148,149,156,161],[64,129,137,142,145,147,148,149,161,175],[64,116,129,137,140,142,143,145,147,148,149,151,156,161,166,170,179,182,184,186],[64,129,137,142,145,147,148,149,161,166,187],[64,129,137,142,145,147,148,149,161,168,188],[64,79,82,85,86,129,137,142,145,147,148,149,161,179],[64,82,129,137,142,145,147,148,149,161,166,179],[64,82,86,129,137,142,145,147,148,149,161,179],[64,129,137,142,145,147,148,149,161,166],[64,76,129,137,142,145,147,148,149,161],[64,80,129,137,142,145,147,148,149,161],[64,78,79,82,129,137,142,145,147,148,149,161,179],[64,129,137,142,145,147,148,149,151,161,176],[64,129,137,142,145,147,148,149,161,189],[64,76,129,137,142,145,147,148,149,161,189],[64,78,82,129,137,142,145,147,148,149,151,161,179],[64,73,74,75,77,81,129,137,140,142,145,147,148,149,161,166,179],[64,82,129,137,142,145,147,148,149,161],[64,82,91,100,129,137,142,145,147,148,149,161],[64,74,80,129,137,142,145,147,148,149,161],[64,82,110,111,129,137,142,145,147,148,149,161],[64,74,77,82,129,137,142,145,147,148,149,161,170,179,189],[64,78,82,129,137,142,145,147,148,149,161,179],[64,73,129,137,142,145,147,148,149,161],[64,76,77,78,80,81,82,83,84,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,111,112,113,114,115,129,137,142,145,147,148,149,161],[64,82,103,106,129,137,142,145,147,148,149,161],[64,82,91,93,94,129,137,142,145,147,148,149,161],[64,80,82,93,95,129,137,142,145,147,148,149,161],[64,81,129,137,142,145,147,148,149,161],[64,74,76,82,129,137,142,145,147,148,149,161],[64,82,86,93,95,129,137,142,145,147,148,149,161],[64,86,129,137,142,145,147,148,149,161],[64,80,82,85,129,137,142,145,147,148,149,161,179],[64,74,78,82,91,129,137,142,145,147,148,149,161],[64,82,103,129,137,142,145,147,148,149,161],[64,95,129,137,142,145,147,148,149,161],[64,74,78,82,86,129,137,142,145,147,148,149,161],[64,76,82,110,129,137,142,145,147,148,149,161,170,186,189],[60,61,64,129,134,137,142,145,147,148,149,153,157,161,179]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"d79a054b0ae958e7ef76d7ae1f98ff07d7db08950a75096477edc031b28197a5","signature":"6e768d19c635756be9c0799a25b6726d47c1979ccdf3cb01ec23ae51338e596d","impliedFormat":99},{"version":"1fc1f41b8e5077a8b62e9a20e78deaf20cf7488fca362062302139f296dc8d7c","signature":"0ff9e77d31b20b8ea86ab0f65d53420910429bce9e01b89feed9bdff6ade6506","impliedFormat":99},{"version":"623f60728c7e223653aa5deb1af775eeb4df8764a6c07cce28f238fb9a65eaa4","signature":"43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012","impliedFormat":99},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9b68a1c3f8f45b4c199fa5b3ac09497230cb8f2f0cdcfebe5817b30b836a64a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f53a7652392cf26ebbe4e29fd0672aa87c93bd6d0241289c13fab87b9ac35c8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"b00a630557d1622ad312633bdbfbdb9c6b7220d948dca9f899db30679f160074","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"88809d6c1b9c78d04a133646a6feb926def05a8774c308c7c93bc32ee163d271","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"21d7fab00c101ddf754b392e11534e6b20c6bda269b2ccbcdf3453cbe21d8a39","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"d3c85d4dde1a4918009e37426ee4a940cbbd4100e2e74d03e2de0d50a77bb488","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"60e3ba4b2d24548107060e5d13bffafbbbaa53d001c07bbe40386deda569b5e8","impliedFormat":1},{"version":"a712be2c8cbe0154bd17d1d7bff503d7c04331e0745eb9eea3d303e0e5d9401e","impliedFormat":1},{"version":"25bd6ae1b97ea991433337310fc406cc7c9f271b67b7c79dd24eee384759f3d4","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"38004e6801340cb890afb8cb5a9fc8972297e7f88ab94026e4b0b3c61fb32f8a","impliedFormat":1},{"version":"4ca7fb8f6018ea836b1ad24f67d5e7c2cf7410af7462e0ccc90b012944f5d7ae","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"149f9a9e7f04e67afa0e2a49fc0ff421035c01d6b793cfcae7d2e9f6819431e2","impliedFormat":1},{"version":"e8a9dfa4c75ef6d25df8b40eaa9c31e0a69452aaf2ced4a3f4215dbdbaa876f4","impliedFormat":1},{"version":"a70af845a2eb9dd6e2723e319e14ea7fb28b129ec1361c21509b49305448c323","impliedFormat":1},{"version":"b53dc572d4f187904207ae1166652de47aab8eeb00c254d009cb226863076b56","impliedFormat":1},{"version":"57354d2f022ed64ede57b2e052306dd076a138b551abc7d30ef5e6718ce2f76a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"f501234c5aeeeb5d7659412335227466aaacf30b952372d60afeb21c02c96348","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"358f74dc35927dc88ea86dd201a2b98e701c281615e6b30a4c153eb0bb90ef71","impliedFormat":1},{"version":"8b91ff5bb912be3ea213cbcf0075aace1f5d4ff249a0d227ed673868cb7bfabc","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"706abfbafe0ed5f685357375e89bbf48879549ea1772185d77d15f587c5c9400","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"013ff793053d33a15be4614efdd6c50247bbf0b26d6bc58ba338622a7441b543","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"436d7b4543b340b0f3eef4310d524242e41369b9652aa9c70428767c4dcac455","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"e99963ae1e3a48ca7a7958c02f3e88bb963eb7978c28b68ae6b8c9f03309d83c","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"279d0cc1a72879918854265c3405369aa2d4d23509b8694ea102995b298cc5e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"594ae90cacd813fa392ff80d2e0a8eff4e41f4a136329a940e321399dd8895b4","impliedFormat":1},{"version":"d1f333ade8ff35a409b4984e1f11956fe11c61855b0c7e9b59f0313e48b40c4a","impliedFormat":1},{"version":"0224aa4b3464895d69c413a640a19ac2166778a74eb5eb3b36b021c72d42b274","impliedFormat":1},{"version":"575aa163c4c32e5b82e0e99b1f9f80806e1d78bfa259706e05139251c022277b","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fb21326854faaa31ef02c9d51629fb6acedacb9396e74bf22ff8409441ea9ae","impliedFormat":1},{"version":"2fbf504c4791f9d32cd766cfe6b605bcda63289b925401953a7900db9af85348","impliedFormat":1},{"version":"ed0fb633cae35948d9e144004299a4bdf1ab912667c787b7fbffcd6d8c7b92a2","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"9019e48ace02a7f39315d84261f4a3dd23b7a3b1f6584e694001ac93971791b7","impliedFormat":1},{"version":"2f78692a85ada51c8f0988184d34d28436c1040e8ccf0758ba70d4b32b9776ad","impliedFormat":1},{"version":"97581dc7099ef3d844c83706d53a7ecf895c0e867fbf6b9dc035bb3080f677bd","impliedFormat":1},{"version":"e494b286c8e27c52f8c7f945aa80ff223f2a3cd4f7a2619fa8991f1459e26f07","impliedFormat":1},{"version":"f54f5f9e10bbceba7515dfad0ffc89dffdb8d749d0604594c57a725cf6d79c20","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"8c7e618c2a91ea7f6b5cca272a295864e92c16413be8fc56a943e8c7d5320011","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f487e411f9657df0e76572e500c1209b8fe95ee3b4cc6e6e7913c15f56207d","impliedFormat":1},{"version":"9d37b8a9678efbcdf38238b59ce8e6f7db70aba1a516f3a4a671a301dbacfb3d","impliedFormat":1},{"version":"a47a792b8cff71443be8dfb199f2b77e102a7bf9d4f90c18059f05d9af2d7413","impliedFormat":1},{"version":"ad50512520720d10294c629cb4e2df23891c3fcbeaca00fbfb9e6bbea65f3dd6","impliedFormat":1},{"version":"189769511b45c93b23ba76069f7701d3b631cfbedc1eb94c7753486c78736f78","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"ba389fd3d7fba6670e97bc82eb12469dcb371d22f24e63859c1df5a083c823ed","impliedFormat":1},{"version":"5ff4433a2deae4f85ab1377e90a7554ce6b47ae51c69a84ca30a6e22fae85834","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"97234c5303866576f913d0ccae7d58d6322d9e803c7bf1228a3fda46ab8087b2","affectsGlobalScope":true,"impliedFormat":1},{"version":"961dec547748827cb6b45f6fdc66273f7bacd9c73103c6779f070f2fd07f23f9","impliedFormat":1},{"version":"73eeb740dacc45adc607a4f59f90fa9dbe2717d93d82f115f45f34e18f8d644a","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"d251cda16f3f6a3e07f07c9e6e823ef6c583c63f653eb8777dafa749a78298e3","impliedFormat":1},{"version":"361939136b496a38b3e6b7be750bbb6998ef289bb8dd304c673138542ca16137","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"89e2568ebc2ec1e4149384b105e80e8bbf41eb4d711547f1121f4f628028de96","impliedFormat":1},{"version":"441b9bb09013654aa3d050e68b06464d8959b473e85868249d9d18f692acd35b","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"55246f15e33ff1e2e9e679b25fa9790a48db55dc63d567fe25fac8b6a0efe911","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"925734f303b7f0cc111d42aeb21781d38a79e6d5ac05b2b1400cd1861a75d27b","impliedFormat":1},{"version":"5b26c4dd672d88336bb929787c9bfb55119e80ba89ec6dc923da1c063892843e","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"7286e4e5f80c0b1ab16addbdbbc9dd47fbae1c42034189261177b84d745cde3b","impliedFormat":1},{"version":"f12624a4a8d042b68914eac1b0a16571fc1c523173fcdf2517c65d191bd5a86c","impliedFormat":1},{"version":"cd2a656ba1d250c2002190b683e3826bf4362b6919450bc0f9bbf5612ebad837","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"3e221ff0522e6ff95aa74a5211126aaf4d7e85ed8c8ff19290d591ad4bef988f","impliedFormat":1},{"version":"7da83f6429c6298ebf2be43d296b56ecfc94c9c28f5471b2f23b87545b914cea","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"751048d4aa67e20e5ecd2692340ea0d19bae42a20cc651d6f56d095e411ce3ac","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"aed8f3e5c7e53462565eedf34a9bcb700393cb2c1ab0c768602b929c3ed3145d","impliedFormat":1},{"version":"8e2577e7262051fd3c5bd6ca2b2056d358ff8853565720f92455860824c25188","impliedFormat":1},{"version":"fb12cb2de38cc8b89e38ece1014b4ae1047cd89b8dd248c64adc1c53c358ca02","impliedFormat":1},{"version":"bb9dbb4b2ad81e3e71ec5ba4314973718555b9d04ba2a17dfbf875efecb8e2c0","impliedFormat":1},{"version":"9021dc5be8f3a87af5cede29221188a6497e2092b6889e0be212ef6b6b7153e9","impliedFormat":1},{"version":"4a8c8fd951d9fd9e0775f0aae8ed1f8b528204e24a2600bea3a1228ea83de52c","impliedFormat":1},{"version":"5b9cc0c724a8ebc7a873ab8e73c20b2416cef04b9e9d7f95ef1fa0fdcd4e0ec8","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"80a4b7023a2cc9f14d3f2e4635d6615ab3eff4b5b3630f62a8e73992fdd8cdb9","impliedFormat":1},{"version":"7414ec88dbb6d1b4d07a6ffbb3592e56359343ddfd5b0b825721d736b04ab2b6","impliedFormat":1},{"version":"afa1c49f8e559e413d57343339db857d2a8159435cf9cf7d4deb41718fff1b88","impliedFormat":1},{"version":"c46f111af647c4134ae869653130610d62da321f90ebf19e186a3ea4bed79350","impliedFormat":1}],"root":[[60,62]],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"exactOptionalPropertyTypes":true,"module":100,"noImplicitOverride":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[126,1],[127,1],[128,2],[64,3],[129,4],[130,5],[131,6],[132,7],[133,8],[134,9],[135,10],[136,11],[137,12],[138,12],[139,13],[140,14],[141,15],[142,16],[143,17],[65,15],[63,15],[144,18],[145,19],[146,20],[189,21],[147,22],[148,23],[149,22],[150,24],[151,25],[152,26],[153,27],[154,27],[155,27],[156,28],[157,29],[158,30],[159,31],[160,32],[161,33],[162,33],[163,34],[164,15],[165,15],[166,35],[167,36],[168,37],[169,38],[170,39],[171,40],[172,41],[173,42],[174,43],[175,44],[176,45],[177,46],[178,47],[179,48],[180,49],[181,50],[182,51],[183,52],[184,53],[185,54],[66,22],[67,15],[68,55],[69,56],[70,15],[71,57],[72,15],[117,58],[118,59],[119,60],[120,60],[121,61],[122,15],[123,4],[124,62],[125,59],[186,63],[187,64],[188,65],[58,15],[59,15],[11,15],[10,15],[2,15],[12,15],[13,15],[14,15],[15,15],[16,15],[17,15],[18,15],[19,15],[3,15],[20,15],[21,15],[4,15],[22,15],[26,15],[23,15],[24,15],[25,15],[27,15],[28,15],[29,15],[5,15],[30,15],[31,15],[32,15],[33,15],[6,15],[37,15],[34,15],[35,15],[36,15],[38,15],[7,15],[39,15],[44,15],[45,15],[40,15],[41,15],[42,15],[43,15],[8,15],[49,15],[46,15],[47,15],[48,15],[50,15],[9,15],[51,15],[52,15],[53,15],[55,15],[54,15],[56,15],[1,15],[57,15],[91,66],[105,67],[88,68],[106,69],[115,70],[79,71],[80,72],[78,73],[114,74],[109,75],[113,76],[82,77],[92,78],[102,79],[81,80],[112,81],[76,82],[77,75],[83,78],[84,15],[90,83],[87,78],[74,84],[116,85],[107,86],[95,87],[94,78],[96,88],[99,89],[93,90],[97,91],[110,74],[85,92],[86,93],[100,94],[75,69],[104,95],[103,78],[89,93],[98,96],[101,97],[108,15],[73,15],[111,98],[60,15],[62,99],[61,27]],"latestChangedDtsFile":"./index.d.ts","version":"6.0.3"}
1
+ {"fileNames":["../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2025.float16.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/generated/versions.ts","../src/render.ts","../src/index.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/blob.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/console.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/crypto.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/encoding.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/utility.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/client-stats.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/round-robin-pool.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/h2c-client.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/dispatcher1-wrapper.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/snapshot-agent.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/socks5-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@8.9.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/importmeta.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/messaging.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/performance.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/timers.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/web-globals/url.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/ffi.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/inspector/promises.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/path/posix.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/path/win32.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/quic.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/stream/iter.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/test/reporters.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/util/types.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/vfs.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/zlib/iter.d.ts","../../../node_modules/.pnpm/@types+node@26.6.5/node_modules/@types/node/index.d.ts"],"fileIdsList":[[64,126,127,129,137,142,145,147,148,149,161],[64,128,129,137,142,145,147,148,149,161],[129,137,142,145,147,148,149,161],[64,129,137,142,145,147,148,149,161,170],[64,129,130,135,137,140,142,145,147,148,149,151,161,166,179],[64,129,130,131,137,140,142,145,147,148,149,161],[64,129,132,137,142,145,147,148,149,161,180],[64,129,133,134,137,142,145,147,148,149,152,161],[64,129,134,137,142,145,147,148,149,161,166,176],[64,129,135,137,140,142,145,147,148,149,151,161],[64,128,129,136,137,142,145,147,148,149,161],[64,129,137,138,142,145,147,148,149,161],[64,129,137,139,140,142,145,147,148,149,161],[64,128,129,137,140,142,145,147,148,149,161],[64,129,137,142,145,147,148,149,161],[64,129,137,140,142,143,145,147,148,149,161,166,179],[64,129,137,140,142,143,145,147,148,149,161,168,170],[64,116,129,137,140,142,144,145,147,148,149,151,161,166,179],[64,129,137,140,142,144,145,147,148,149,151,161,166,176,179],[64,129,137,142,144,145,146,147,148,149,161,166,176,179],[63,64,65,66,67,68,69,70,71,72,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188],[64,129,137,140,142,145,147,148,149,161],[64,129,137,142,145,147,149,161],[64,129,137,142,145,147,148,149,150,161,179],[64,129,137,140,142,145,147,148,149,151,161,166],[64,129,137,142,145,147,148,149,152,161],[64,129,137,142,145,147,148,149,153,161],[64,129,137,140,142,145,147,148,149,156,161],[64,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187],[64,129,137,142,145,147,148,149,158,161],[64,129,137,142,145,147,148,149,159,161],[64,129,134,137,142,143,145,147,148,149,151,161,168,176],[64,129,137,140,142,145,147,148,149,161,162],[64,129,137,142,145,147,148,149,161,163,180,184],[64,129,137,140,142,145,147,148,149,161,166,168,169,170],[64,129,137,142,145,147,148,149,161,167,170],[64,129,137,140,142,145,147,148,149,161,166,168],[64,129,137,140,142,145,147,148,149,161,166,169,170],[64,129,137,142,145,147,148,149,161,170,180],[64,129,137,142,145,147,148,149,161,171],[64,126,129,137,142,145,147,148,149,161,166,173,179],[64,129,137,142,145,147,148,149,161,166,172],[64,129,137,140,142,145,147,148,149,161,174,175],[64,129,137,142,145,147,148,149,161,174,175],[64,129,134,137,142,145,147,148,149,151,161,166,176],[64,129,137,142,145,147,148,149,161,177],[64,129,137,142,145,147,148,149,151,161,178],[64,129,137,142,144,145,147,148,149,159,161,179],[64,129,137,142,145,147,148,149,161,180,181],[64,129,134,137,142,145,147,148,149,161,181],[64,129,137,142,145,147,148,149,161,166,182],[64,129,137,142,143,145,147,148,149,161],[64,129,137,142,145,147,148,149,150,161,184],[64,129,137,142,145,147,148,149,161,185],[64,129,132,137,142,145,147,148,149,161],[64,129,134,137,142,145,147,148,149,161],[64,129,137,142,145,147,148,149,161,180],[64,116,129,137,142,145,147,148,149,161],[64,129,137,142,145,147,148,149,161,179],[64,129,137,142,145,147,148,149,161,186],[64,129,137,142,145,147,148,149,156,161],[64,129,137,142,145,147,148,149,161,175],[64,116,129,137,140,142,143,145,147,148,149,151,156,161,166,170,179,182,184,186],[64,129,137,142,145,147,148,149,161,166,187],[64,129,137,142,145,147,148,149,161,168,188],[64,79,82,85,86,129,137,142,145,147,148,149,161,179],[64,82,129,137,142,145,147,148,149,161,166,179],[64,82,86,129,137,142,145,147,148,149,161,179],[64,129,137,142,145,147,148,149,161,166],[64,76,129,137,142,145,147,148,149,161],[64,80,129,137,142,145,147,148,149,161],[64,78,79,82,129,137,142,145,147,148,149,161,179],[64,129,137,142,145,147,148,149,151,161,176],[64,129,137,142,145,147,148,149,161,189],[64,76,129,137,142,145,147,148,149,161,189],[64,78,82,129,137,142,145,147,148,149,151,161,179],[64,73,74,75,77,81,129,137,140,142,145,147,148,149,161,166,179],[64,82,129,137,142,145,147,148,149,161],[64,82,91,100,129,137,142,145,147,148,149,161],[64,74,80,129,137,142,145,147,148,149,161],[64,82,110,111,129,137,142,145,147,148,149,161],[64,74,77,82,129,137,142,145,147,148,149,161,170,179,189],[64,78,82,129,137,142,145,147,148,149,161,179],[64,73,129,137,142,145,147,148,149,161],[64,76,77,78,80,81,82,83,84,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,111,112,113,114,115,129,137,142,145,147,148,149,161],[64,82,103,106,129,137,142,145,147,148,149,161],[64,82,91,93,94,129,137,142,145,147,148,149,161],[64,80,82,93,95,129,137,142,145,147,148,149,161],[64,81,129,137,142,145,147,148,149,161],[64,74,76,82,129,137,142,145,147,148,149,161],[64,82,86,93,95,129,137,142,145,147,148,149,161],[64,86,129,137,142,145,147,148,149,161],[64,80,82,85,129,137,142,145,147,148,149,161,179],[64,74,78,82,91,129,137,142,145,147,148,149,161],[64,82,103,129,137,142,145,147,148,149,161],[64,95,129,137,142,145,147,148,149,161],[64,74,78,82,86,129,137,142,145,147,148,149,161],[64,76,82,110,129,137,142,145,147,148,149,161,170,186,189],[60,61,64,129,134,137,142,145,147,148,149,153,157,161,179]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"5387e9811367948d5eb17804fb6843a72f0bce946457237ce9fb15bb9faf6fe0","signature":"6e768d19c635756be9c0799a25b6726d47c1979ccdf3cb01ec23ae51338e596d","impliedFormat":99},{"version":"1fc1f41b8e5077a8b62e9a20e78deaf20cf7488fca362062302139f296dc8d7c","signature":"0ff9e77d31b20b8ea86ab0f65d53420910429bce9e01b89feed9bdff6ade6506","impliedFormat":99},{"version":"623f60728c7e223653aa5deb1af775eeb4df8764a6c07cce28f238fb9a65eaa4","signature":"43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012","impliedFormat":99},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9b68a1c3f8f45b4c199fa5b3ac09497230cb8f2f0cdcfebe5817b30b836a64a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f53a7652392cf26ebbe4e29fd0672aa87c93bd6d0241289c13fab87b9ac35c8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"b00a630557d1622ad312633bdbfbdb9c6b7220d948dca9f899db30679f160074","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"88809d6c1b9c78d04a133646a6feb926def05a8774c308c7c93bc32ee163d271","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"21d7fab00c101ddf754b392e11534e6b20c6bda269b2ccbcdf3453cbe21d8a39","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"d3c85d4dde1a4918009e37426ee4a940cbbd4100e2e74d03e2de0d50a77bb488","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"60e3ba4b2d24548107060e5d13bffafbbbaa53d001c07bbe40386deda569b5e8","impliedFormat":1},{"version":"a712be2c8cbe0154bd17d1d7bff503d7c04331e0745eb9eea3d303e0e5d9401e","impliedFormat":1},{"version":"25bd6ae1b97ea991433337310fc406cc7c9f271b67b7c79dd24eee384759f3d4","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"38004e6801340cb890afb8cb5a9fc8972297e7f88ab94026e4b0b3c61fb32f8a","impliedFormat":1},{"version":"4ca7fb8f6018ea836b1ad24f67d5e7c2cf7410af7462e0ccc90b012944f5d7ae","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"149f9a9e7f04e67afa0e2a49fc0ff421035c01d6b793cfcae7d2e9f6819431e2","impliedFormat":1},{"version":"e8a9dfa4c75ef6d25df8b40eaa9c31e0a69452aaf2ced4a3f4215dbdbaa876f4","impliedFormat":1},{"version":"a70af845a2eb9dd6e2723e319e14ea7fb28b129ec1361c21509b49305448c323","impliedFormat":1},{"version":"b53dc572d4f187904207ae1166652de47aab8eeb00c254d009cb226863076b56","impliedFormat":1},{"version":"57354d2f022ed64ede57b2e052306dd076a138b551abc7d30ef5e6718ce2f76a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"f501234c5aeeeb5d7659412335227466aaacf30b952372d60afeb21c02c96348","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"358f74dc35927dc88ea86dd201a2b98e701c281615e6b30a4c153eb0bb90ef71","impliedFormat":1},{"version":"8b91ff5bb912be3ea213cbcf0075aace1f5d4ff249a0d227ed673868cb7bfabc","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"706abfbafe0ed5f685357375e89bbf48879549ea1772185d77d15f587c5c9400","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"013ff793053d33a15be4614efdd6c50247bbf0b26d6bc58ba338622a7441b543","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"436d7b4543b340b0f3eef4310d524242e41369b9652aa9c70428767c4dcac455","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"e99963ae1e3a48ca7a7958c02f3e88bb963eb7978c28b68ae6b8c9f03309d83c","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"279d0cc1a72879918854265c3405369aa2d4d23509b8694ea102995b298cc5e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"594ae90cacd813fa392ff80d2e0a8eff4e41f4a136329a940e321399dd8895b4","impliedFormat":1},{"version":"d1f333ade8ff35a409b4984e1f11956fe11c61855b0c7e9b59f0313e48b40c4a","impliedFormat":1},{"version":"0224aa4b3464895d69c413a640a19ac2166778a74eb5eb3b36b021c72d42b274","impliedFormat":1},{"version":"575aa163c4c32e5b82e0e99b1f9f80806e1d78bfa259706e05139251c022277b","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fb21326854faaa31ef02c9d51629fb6acedacb9396e74bf22ff8409441ea9ae","impliedFormat":1},{"version":"2fbf504c4791f9d32cd766cfe6b605bcda63289b925401953a7900db9af85348","impliedFormat":1},{"version":"ed0fb633cae35948d9e144004299a4bdf1ab912667c787b7fbffcd6d8c7b92a2","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"9019e48ace02a7f39315d84261f4a3dd23b7a3b1f6584e694001ac93971791b7","impliedFormat":1},{"version":"2f78692a85ada51c8f0988184d34d28436c1040e8ccf0758ba70d4b32b9776ad","impliedFormat":1},{"version":"97581dc7099ef3d844c83706d53a7ecf895c0e867fbf6b9dc035bb3080f677bd","impliedFormat":1},{"version":"e494b286c8e27c52f8c7f945aa80ff223f2a3cd4f7a2619fa8991f1459e26f07","impliedFormat":1},{"version":"f54f5f9e10bbceba7515dfad0ffc89dffdb8d749d0604594c57a725cf6d79c20","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"8c7e618c2a91ea7f6b5cca272a295864e92c16413be8fc56a943e8c7d5320011","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f487e411f9657df0e76572e500c1209b8fe95ee3b4cc6e6e7913c15f56207d","impliedFormat":1},{"version":"9d37b8a9678efbcdf38238b59ce8e6f7db70aba1a516f3a4a671a301dbacfb3d","impliedFormat":1},{"version":"a47a792b8cff71443be8dfb199f2b77e102a7bf9d4f90c18059f05d9af2d7413","impliedFormat":1},{"version":"ad50512520720d10294c629cb4e2df23891c3fcbeaca00fbfb9e6bbea65f3dd6","impliedFormat":1},{"version":"189769511b45c93b23ba76069f7701d3b631cfbedc1eb94c7753486c78736f78","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"ba389fd3d7fba6670e97bc82eb12469dcb371d22f24e63859c1df5a083c823ed","impliedFormat":1},{"version":"5ff4433a2deae4f85ab1377e90a7554ce6b47ae51c69a84ca30a6e22fae85834","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"97234c5303866576f913d0ccae7d58d6322d9e803c7bf1228a3fda46ab8087b2","affectsGlobalScope":true,"impliedFormat":1},{"version":"961dec547748827cb6b45f6fdc66273f7bacd9c73103c6779f070f2fd07f23f9","impliedFormat":1},{"version":"73eeb740dacc45adc607a4f59f90fa9dbe2717d93d82f115f45f34e18f8d644a","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"d251cda16f3f6a3e07f07c9e6e823ef6c583c63f653eb8777dafa749a78298e3","impliedFormat":1},{"version":"361939136b496a38b3e6b7be750bbb6998ef289bb8dd304c673138542ca16137","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"89e2568ebc2ec1e4149384b105e80e8bbf41eb4d711547f1121f4f628028de96","impliedFormat":1},{"version":"441b9bb09013654aa3d050e68b06464d8959b473e85868249d9d18f692acd35b","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"55246f15e33ff1e2e9e679b25fa9790a48db55dc63d567fe25fac8b6a0efe911","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"925734f303b7f0cc111d42aeb21781d38a79e6d5ac05b2b1400cd1861a75d27b","impliedFormat":1},{"version":"5b26c4dd672d88336bb929787c9bfb55119e80ba89ec6dc923da1c063892843e","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"7286e4e5f80c0b1ab16addbdbbc9dd47fbae1c42034189261177b84d745cde3b","impliedFormat":1},{"version":"f12624a4a8d042b68914eac1b0a16571fc1c523173fcdf2517c65d191bd5a86c","impliedFormat":1},{"version":"cd2a656ba1d250c2002190b683e3826bf4362b6919450bc0f9bbf5612ebad837","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"3e221ff0522e6ff95aa74a5211126aaf4d7e85ed8c8ff19290d591ad4bef988f","impliedFormat":1},{"version":"7da83f6429c6298ebf2be43d296b56ecfc94c9c28f5471b2f23b87545b914cea","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"751048d4aa67e20e5ecd2692340ea0d19bae42a20cc651d6f56d095e411ce3ac","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"aed8f3e5c7e53462565eedf34a9bcb700393cb2c1ab0c768602b929c3ed3145d","impliedFormat":1},{"version":"8e2577e7262051fd3c5bd6ca2b2056d358ff8853565720f92455860824c25188","impliedFormat":1},{"version":"fb12cb2de38cc8b89e38ece1014b4ae1047cd89b8dd248c64adc1c53c358ca02","impliedFormat":1},{"version":"bb9dbb4b2ad81e3e71ec5ba4314973718555b9d04ba2a17dfbf875efecb8e2c0","impliedFormat":1},{"version":"9021dc5be8f3a87af5cede29221188a6497e2092b6889e0be212ef6b6b7153e9","impliedFormat":1},{"version":"4a8c8fd951d9fd9e0775f0aae8ed1f8b528204e24a2600bea3a1228ea83de52c","impliedFormat":1},{"version":"5b9cc0c724a8ebc7a873ab8e73c20b2416cef04b9e9d7f95ef1fa0fdcd4e0ec8","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"80a4b7023a2cc9f14d3f2e4635d6615ab3eff4b5b3630f62a8e73992fdd8cdb9","impliedFormat":1},{"version":"7414ec88dbb6d1b4d07a6ffbb3592e56359343ddfd5b0b825721d736b04ab2b6","impliedFormat":1},{"version":"afa1c49f8e559e413d57343339db857d2a8159435cf9cf7d4deb41718fff1b88","impliedFormat":1},{"version":"c46f111af647c4134ae869653130610d62da321f90ebf19e186a3ea4bed79350","impliedFormat":1}],"root":[[60,62]],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"exactOptionalPropertyTypes":true,"module":100,"noImplicitOverride":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[126,1],[127,1],[128,2],[64,3],[129,4],[130,5],[131,6],[132,7],[133,8],[134,9],[135,10],[136,11],[137,12],[138,12],[139,13],[140,14],[141,15],[142,16],[143,17],[65,15],[63,15],[144,18],[145,19],[146,20],[189,21],[147,22],[148,23],[149,22],[150,24],[151,25],[152,26],[153,27],[154,27],[155,27],[156,28],[157,29],[158,30],[159,31],[160,32],[161,33],[162,33],[163,34],[164,15],[165,15],[166,35],[167,36],[168,37],[169,38],[170,39],[171,40],[172,41],[173,42],[174,43],[175,44],[176,45],[177,46],[178,47],[179,48],[180,49],[181,50],[182,51],[183,52],[184,53],[185,54],[66,22],[67,15],[68,55],[69,56],[70,15],[71,57],[72,15],[117,58],[118,59],[119,60],[120,60],[121,61],[122,15],[123,4],[124,62],[125,59],[186,63],[187,64],[188,65],[58,15],[59,15],[11,15],[10,15],[2,15],[12,15],[13,15],[14,15],[15,15],[16,15],[17,15],[18,15],[19,15],[3,15],[20,15],[21,15],[4,15],[22,15],[26,15],[23,15],[24,15],[25,15],[27,15],[28,15],[29,15],[5,15],[30,15],[31,15],[32,15],[33,15],[6,15],[37,15],[34,15],[35,15],[36,15],[38,15],[7,15],[39,15],[44,15],[45,15],[40,15],[41,15],[42,15],[43,15],[8,15],[49,15],[46,15],[47,15],[48,15],[50,15],[9,15],[51,15],[52,15],[53,15],[55,15],[54,15],[56,15],[1,15],[57,15],[91,66],[105,67],[88,68],[106,69],[115,70],[79,71],[80,72],[78,73],[114,74],[109,75],[113,76],[82,77],[92,78],[102,79],[81,80],[112,81],[76,82],[77,75],[83,78],[84,15],[90,83],[87,78],[74,84],[116,85],[107,86],[95,87],[94,78],[96,88],[99,89],[93,90],[97,91],[110,74],[85,92],[86,93],[100,94],[75,69],[104,95],[103,78],[89,93],[98,96],[101,97],[108,15],[73,15],[111,98],[60,15],[62,99],[61,27]],"latestChangedDtsFile":"./index.d.ts","version":"6.0.3"}
@@ -1,5 +1,5 @@
1
1
  export const VERSIONS = {
2
- "coreVersion": "^0.4.1-canary.324",
2
+ "coreVersion": "^0.4.1-canary.326",
3
3
  "packageManager": "pnpm@11.8.0",
4
4
  "tsxVersion": "4.23.15",
5
5
  "turboVersion": "2.11.9",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openora/create",
3
- "version": "0.4.1-canary.324",
3
+ "version": "0.4.1-canary.326",
4
4
  "description": "npm initializer that scaffolds a headless Openora consumer app from the published @openora/* packages - no OSS checkout required",
5
5
  "keywords": [
6
6
  "ai-native",
@@ -31,7 +31,7 @@
31
31
  "@types/node": "26.6.5",
32
32
  "typescript": "6.0.3",
33
33
  "vitest": "4.1.12",
34
- "@openora/core": "0.4.1-canary.324"
34
+ "@openora/core": "0.4.1-canary.326"
35
35
  },
36
36
  "engines": {
37
37
  "node": ">=26"
@@ -2,7 +2,10 @@
2
2
  //
3
3
  // One script serves Claude Code, Copilot CLI, Codex CLI, and Gemini CLI. Each
4
4
  // passes the tool call as JSON on stdin but with a slightly different shape:
5
- // Claude / Codex : { tool_name, tool_input: { command?, file_path? } }
5
+ // Claude : { tool_name, tool_input: { command?, file_path? } }
6
+ // Codex : same, except an edit is { tool_name: "apply_patch", tool_input: { command: "<patch>" } },
7
+ // the paths only in its "*** Add File: <path>" style headers; an Edit|Write
8
+ // matcher matches apply_patch
6
9
  // Copilot : { toolName, toolArgs: "<json-string>" | object }
7
10
  // Gemini : { toolName/tool_name, ... } (best-effort)
8
11
  //
@@ -35,27 +38,32 @@ function toolArgsObject(payload) {
35
38
  return a && typeof a === 'object' ? a : {};
36
39
  }
37
40
 
38
- /** The shell command string for this tool call, across tool shapes ('' if none). */
39
- export function extractCommand(payload) {
41
+ const PATCH_PATH = /^\*\*\* (?:Add File|Update File|Delete File|Move to): (.+)$/gm;
42
+
43
+ function rawCommand(payload) {
40
44
  const ti = payload.tool_input ?? {};
41
45
  const ca = toolArgsObject(payload);
42
46
  return String(ti.command ?? ca.command ?? '');
43
47
  }
44
48
 
45
- /** The target file path for an edit/write tool call, across tool shapes ('' if none). */
46
- export function extractFilePath(payload) {
49
+ // Only the tool name tells a patch from a shell command: a Bash command can carry patch text too.
50
+ const isPatch = (payload) => (payload.tool_name ?? payload.toolName) === 'apply_patch';
51
+
52
+ /** The shell command string for this tool call, across tool shapes ('' if none or a patch). */
53
+ export function extractCommand(payload) {
54
+ return isPatch(payload) ? '' : rawCommand(payload);
55
+ }
56
+
57
+ /** Every file an edit/write tool call touches, across tool shapes ([] if none). */
58
+ export function extractFilePaths(payload) {
59
+ if (isPatch(payload)) {
60
+ return [...rawCommand(payload).matchAll(PATCH_PATH)].map((match) => match[1].trim());
61
+ }
47
62
  const ti = payload.tool_input ?? {};
48
63
  const ca = toolArgsObject(payload);
49
- return String(
50
- ti.file_path ??
51
- ti.path ??
52
- ca.path ??
53
- ca.filePath ??
54
- ca.file ??
55
- ca.targetFile ??
56
- ca.target_file ??
57
- '',
58
- );
64
+ const filePath =
65
+ ti.file_path ?? ti.path ?? ca.path ?? ca.filePath ?? ca.file ?? ca.targetFile ?? ca.target_file;
66
+ return filePath ? [String(filePath)] : [];
59
67
  }
60
68
 
61
69
  /** Deny the tool call (works on Claude, Copilot, Codex, Gemini). */
@@ -8,7 +8,7 @@
8
8
  import { readFileSync, realpathSync } from 'node:fs';
9
9
  import { basename, dirname, join, resolve, sep } from 'node:path';
10
10
  import { fileURLToPath } from 'node:url';
11
- import { extractCommand, extractFilePath, readPayload, deny } from './_shared.mjs';
11
+ import { extractCommand, extractFilePaths, readPayload, deny } from './_shared.mjs';
12
12
 
13
13
  const payload = readPayload();
14
14
 
@@ -78,11 +78,10 @@ const physical = (path) => {
78
78
  };
79
79
 
80
80
  // 2) Direct file edit/write whose target resolves inside a protected path.
81
- const filePath = extractFilePath(payload);
82
- if (filePath) {
81
+ const oss = physical(OSS);
82
+ for (const filePath of extractFilePaths(payload)) {
83
83
  const written = resolve(payload.cwd ?? process.cwd(), filePath);
84
84
  const target = physical(written);
85
- const oss = physical(OSS);
86
85
  const isInside = (dir) => target.startsWith(dir + sep);
87
86
  const inNodeModules = [written, target].some((path) => /(?:^|[\\/])node_modules(?:[\\/]|$)/.test(path));
88
87
  if (inNodeModules || (isInside(oss) && !isInside(join(oss, '.worktrees')))) {
@@ -4,18 +4,9 @@
4
4
  // source of truth is .rulesync/; editing a generated mirror is lost on the next
5
5
  // sync. Fail-open: only a positive match denies.
6
6
 
7
- import { extractFilePath, readPayload, deny } from './_shared.mjs';
7
+ import { extractFilePaths, readPayload, deny } from './_shared.mjs';
8
8
  import { relative, isAbsolute } from 'node:path';
9
9
 
10
- const payload = readPayload();
11
- const filePath = extractFilePath(payload);
12
- if (!filePath) {
13
- process.exit(0);
14
- }
15
-
16
- // Repo-relative (hooks run with cwd = repo root) - name-agnostic.
17
- const rel = isAbsolute(filePath) ? relative(process.cwd(), filePath) : filePath;
18
-
19
10
  // Everything rulesync generates from .rulesync/.
20
11
  const generated = [
21
12
  /^AGENTS\.md$/,
@@ -31,11 +22,15 @@ const generated = [
31
22
  /^\.gemini\/(agents|commands)\//,
32
23
  ];
33
24
 
34
- if (generated.some((re) => re.test(rel))) {
35
- deny(
36
- `Blocked: ${rel} is generated by rulesync (\`pnpm gen:agents\`). ` +
37
- 'Edit the source under .rulesync/ instead (rules/, subagents/, commands/, mcp.json), then run `pnpm gen:agents`.',
38
- );
25
+ for (const filePath of extractFilePaths(readPayload())) {
26
+ // Repo-relative (hooks run with cwd = repo root) - name-agnostic.
27
+ const rel = isAbsolute(filePath) ? relative(process.cwd(), filePath) : filePath;
28
+ if (generated.some((re) => re.test(rel))) {
29
+ deny(
30
+ `Blocked: ${rel} is generated by rulesync (\`pnpm gen:agents\`). ` +
31
+ 'Edit the source under .rulesync/ instead (rules/, subagents/, commands/, mcp.json), then run `pnpm gen:agents`.',
32
+ );
33
+ }
39
34
  }
40
35
 
41
36
  process.exit(0);
@@ -1,27 +1,29 @@
1
1
  #!/usr/bin/env node
2
2
  // PostToolUse hook (Claude / Copilot CLI / Codex CLI / Gemini CLI).
3
- // Lint-fixes the edited file, then typechecks the app that owns it and reports
4
- // (exit 2) only if the error is in the file just edited. Output is capped so a
3
+ // Lint-fixes the edited files, then typechecks the apps that own them and reports
4
+ // (exit 2) only if the error is in a file just edited. Output is capped so a
5
5
  // failure can't balloon the model context. Fail-open on anything unexpected.
6
6
 
7
7
  import { execFileSync } from 'node:child_process';
8
8
  import { existsSync, readFileSync } from 'node:fs';
9
- import { join, isAbsolute, relative } from 'node:path';
10
- import { extractFilePath, readPayload } from './_shared.mjs';
9
+ import { basename, join, isAbsolute } from 'node:path';
10
+ import { extractFilePaths, readPayload } from './_shared.mjs';
11
11
 
12
12
  const CAP_LINES = 40;
13
13
  const CAP_CHARS = 2000;
14
14
 
15
- const filePath = extractFilePath(readPayload());
16
- if (!filePath) {
17
- process.exit(0);
18
- }
19
- if (!/\.(ts|tsx)$/.test(filePath) || filePath.endsWith('.d.ts')) {
20
- process.exit(0);
21
- }
22
- if (filePath.includes('/templates/') || filePath.includes('/generated/')) {
15
+ const filePaths = extractFilePaths(readPayload()).filter(
16
+ (filePath) =>
17
+ /\.(ts|tsx)$/.test(filePath) &&
18
+ !filePath.endsWith('.d.ts') &&
19
+ !filePath.includes('/templates/') &&
20
+ !filePath.includes('/generated/') &&
21
+ existsSync(filePath),
22
+ );
23
+ if (filePaths.length === 0) {
23
24
  process.exit(0);
24
25
  }
26
+ const edited = filePaths.join(', ');
25
27
 
26
28
  /**
27
29
  * node_modules/.bin/<name> when it exists, else the bare name off PATH. `pnpm exec`
@@ -33,9 +35,14 @@ function bin(name) {
33
35
  return existsSync(local) ? local : name;
34
36
  }
35
37
 
38
+ function cap(text) {
39
+ const out = text.split('\n').slice(0, CAP_LINES).join('\n').slice(0, CAP_CHARS);
40
+ return out.length < text.length ? `${out}\n... (truncated)` : out;
41
+ }
42
+
36
43
  // Lint-fix (best effort - never block on the linter).
37
44
  try {
38
- execFileSync(bin('oxlint'), ['--fix', filePath], { stdio: 'pipe' });
45
+ execFileSync(bin('oxlint'), ['--fix', ...filePaths], { stdio: 'pipe' });
39
46
  } catch {
40
47
  /* oxlint unavailable or errored - fall through to the re-lint / typecheck */
41
48
  }
@@ -44,15 +51,13 @@ try {
44
51
  // hand - import/no-cycle and the no-restricted-imports boundary rules (deep @openora
45
52
  // or {{scope}}/ui imports, app-to-app imports). oxlint exits non-zero on errors
46
53
  // only (warnings don't fail), so this blocks on a real boundary/cycle violation
47
- // in the edited file and feeds the message back. Fail-open on anything else.
54
+ // in an edited file and feeds the message back. Fail-open on anything else.
48
55
  try {
49
- execFileSync(bin('oxlint'), [filePath], { stdio: 'pipe' });
56
+ execFileSync(bin('oxlint'), filePaths, { stdio: 'pipe' });
50
57
  } catch (e) {
51
58
  const out = (e.stdout?.toString() ?? '') + (e.stderr?.toString() ?? '');
52
59
  if (/\berror\b/.test(out)) {
53
- process.stderr.write(
54
- `Boundary/lint error in ${filePath} - fix before continuing:\n${cap(out)}`,
55
- );
60
+ process.stderr.write(`Boundary/lint error in ${edited} - fix before continuing:\n${cap(out)}`);
56
61
  process.exit(2);
57
62
  }
58
63
  }
@@ -74,31 +79,36 @@ function packageNameFor(fp) {
74
79
  }
75
80
  }
76
81
 
77
- const abs = isAbsolute(filePath) ? filePath : join(process.cwd(), filePath);
78
- const owner = packageNameFor(abs);
79
- if (!owner) {
82
+ const owners = [
83
+ ...new Set(
84
+ filePaths
85
+ .map((filePath) => packageNameFor(isAbsolute(filePath) ? filePath : join(process.cwd(), filePath)))
86
+ .filter(Boolean),
87
+ ),
88
+ ];
89
+ if (owners.length === 0) {
80
90
  process.exit(0);
81
91
  }
82
92
 
83
- function cap(text) {
84
- const out = text.split('\n').slice(0, CAP_LINES).join('\n').slice(0, CAP_CHARS);
85
- return out.length < text.length ? `${out}\n... (truncated)` : out;
86
- }
87
-
88
93
  try {
89
94
  execFileSync(
90
95
  bin('turbo'),
91
- ['run', 'check:types', '--filter', owner, '--output-logs=errors-only', '--ui=stream'],
96
+ [
97
+ 'run',
98
+ 'check:types',
99
+ ...owners.flatMap((owner) => ['--filter', owner]),
100
+ '--output-logs=errors-only',
101
+ '--ui=stream',
102
+ ],
92
103
  { stdio: 'pipe' },
93
104
  );
94
105
  process.exit(0);
95
106
  } catch (e) {
96
107
  const output = (e.stdout?.toString() ?? '') + (e.stderr?.toString() ?? '');
97
- const basename =
98
- (isAbsolute(filePath) ? relative(process.cwd(), filePath) : filePath).split('/').pop() ?? '';
99
- if (basename && output.includes(basename)) {
108
+ const failing = filePaths.map((filePath) => basename(filePath)).filter((name) => output.includes(name));
109
+ if (failing.length > 0) {
100
110
  process.stderr.write(
101
- `Typecheck failed for ${owner} after editing ${basename}:\n${cap(output)}`,
111
+ `Typecheck failed for ${owners.join(', ')} after editing ${failing.join(', ')}:\n${cap(output)}`,
102
112
  );
103
113
  process.exit(2);
104
114
  }
@@ -0,0 +1,120 @@
1
+ ---
2
+ name: ui-verify
3
+ targets: ['*']
4
+ description: >
5
+ Verify a UI change in a real browser with the global `playwright-cli`: cheap checks first,
6
+ then four screenshots per changed screen read for spacing, overlap, cut text and contrast,
7
+ then the per-AC videos for the PR. Use after any change to a page, component, style or
8
+ player/operator flow, on "check it looks right", "verify the UI", "does it render", "take a
9
+ screenshot", "record a video", and to reproduce a UI bug before fixing it.
10
+ claudecode:
11
+ context: fork
12
+ model: sonnet
13
+ effort: medium
14
+ ---
15
+
16
+ # ui-verify ({{name}})
17
+
18
+ Global `playwright-cli` (`npm i -g @playwright/cli` if missing), never a browser MCP: it costs a
19
+ fraction of the tokens. Do not spawn subagents. Return text only. A subagent (`tester`, `builder`) does not
20
+ invoke this skill, which forks one of its own: it reads this file and follows it itself.
21
+
22
+ ## Stack
23
+
24
+ - Player app :3000, backoffice :3002, API :3001, unless the repo's rules name other ports (a
25
+ worktree slot, say). Ports held by another checkout: never kill it, ask.
26
+ - Accounts: the seed's (`admin@oss.dev` / `password1234` after `pnpm db:seed`). Save a login once
27
+ with `state-save /tmp/ui-verify/<app>.json`, `state-load` it after.
28
+ - Theme: switch with the app's own toggle in a video; for a still, set what the toggle sets
29
+ (a cookie or `localStorage`) with `eval`, then reload.
30
+
31
+ ## Cost ladder
32
+
33
+ Deterministic checks first, reading pixels last. Write each check as an assertion with an
34
+ expected value (`[data-testid=balance]` text matches `/\d+(\.\d+)? USDT/`) and stop at the
35
+ first rung that answers it.
36
+
37
+ 1. **Shell.** The route serves: `curl -s -o /dev/null -w '%{http_code}' <url>`.
38
+ 2. **Browser, one value.** `eval` for existence, text, count, computed style; `console error`
39
+ and `requests` grepped for `4\d\d|5\d\d`; `find "<text>"` for one node.
40
+ 3. **Structure.** `snapshot <target>` scoped to the changed component; a full-page `snapshot`
41
+ only with `--depth` or `--filename` + `grep`.
42
+ 4. **Pixels.** The screenshot review below.
43
+
44
+ Batch commands in one bash call. Output over ~50 lines goes to `/tmp/ui-verify/` and gets
45
+ `grep`, not read whole. One named session per run (`-s=<name>`), `close` at the end.
46
+
47
+ ## Screenshot review
48
+
49
+ Screenshots are for you, videos for the reviewer: nobody reads a video back, so layout defects
50
+ are caught here. Every changed screen, after the checks pass and before the videos. Four shots:
51
+ mobile and desktop, light and dark (backoffice: desktop only).
52
+
53
+ - Sizes: never shrink a shot, halving it halves every padding you judge. Mobile 390x844 at 2x
54
+ device pixels (780x1688), desktop 1440x900 at 1x: both under the 2000 px per-image cap a
55
+ session with over 20 images gets, about 1.7k tokens each.
56
+ - Tall screens: one shot per viewport height (`eval "() => scrollTo(0, <y>)"`, then shoot),
57
+ never `--full-page`, which downscales a long page until its text is unreadable.
58
+ - Before reading, run `layout-check.js` in each of the four. It lists overlapping, clipped,
59
+ truncated and off-screen text and a page that scrolls sideways; every line it returns is a
60
+ check to settle on the shot. `sh .claude/skills/ui-verify/layout-check.check.sh` is its self-test.
61
+ - Read each shot for: spacing consistent with its neighbours, alignment, overlapping or cut text,
62
+ anything off-screen or out of its container, contrast in dark, and the ticket's designs. Every
63
+ shot gets a report line, a clean one too. A defect is a FAIL with the png path; it gets fixed
64
+ and shot again.
65
+
66
+ ```bash
67
+ mkdir -p /tmp/ui-verify
68
+ echo '{"browser":{"contextOptions":{"deviceScaleFactor":2}}}' > /tmp/ui-verify/2x.json
69
+ playwright-cli -s=m open <url> --config=/tmp/ui-verify/2x.json && playwright-cli -s=m resize 390 844
70
+ playwright-cli -s=m eval "$(cat .claude/skills/ui-verify/layout-check.js)"
71
+ playwright-cli -s=m screenshot --hires --filename=/tmp/ui-verify/<screen>-mobile-dark.png
72
+ # switch theme, reload, repeat as -light; desktop in its own session:
73
+ # no --config, resize 1440 900, no --hires
74
+ ```
75
+
76
+ In the PR, after the Videos section, collapsed per screen (upload as in `docs/agents/forge.md`):
77
+
78
+ ```markdown
79
+ <details><summary>Screenshots: <screen></summary>
80
+
81
+ | | Light | Dark |
82
+ | ------- | ------------------------ | ----------------------- |
83
+ | Mobile | ![mobile light](upload) | ![mobile dark](upload) |
84
+ | Desktop | ![desktop light](upload) | ![desktop dark](upload) |
85
+
86
+ </details>
87
+ ```
88
+
89
+ ## Video evidence
90
+
91
+ Last, once, on the final commit after the tests are green and review is clean (`ship` step 4b):
92
+ a clip taken earlier is thrown away by the next fix round. One clip per acceptance criterion
93
+ (`docs/standards/testing.md`), recorded on the local stack. The one early clip is a fix's
94
+ "before", taken when the bug is reproduced; its "after" twin comes here. Never read a video back.
95
+
96
+ ACs a spec drives come first: every spec that drives one, new or existing, in one run with video
97
+ on (the repo's record switch, or `test.use({ video: 'on' })`); copy each
98
+ `test-results/<test>/video.webm` to `<ac>-<slug>-{desktop,mobile}.webm`. Only an AC no spec
99
+ drives gets `playwright-cli`, one at mobile size (`resize 390 844`) and one at desktop
100
+ (`resize 1440 900`), each switching theme with the app's toggle partway through:
101
+
102
+ ```bash
103
+ playwright-cli -s=v video-start /tmp/ui-verify/ac1-<slug>-mobile.webm
104
+ playwright-cli -s=v video-show-actions
105
+ playwright-cli -s=v video-chapter "AC1: <criterion in a few words>" --duration=1500
106
+ # drive the AC ... toggle the theme ... until its outcome is on screen
107
+ playwright-cli -s=v video-stop
108
+ ```
109
+
110
+ ## Report
111
+
112
+ One line per check: `PASS|FAIL - <check> - rung <n> - expected <x>, got <y> - <artifact path>`,
113
+ plus the failure detail for each FAIL. A pixel claim neither a measurement nor the shot can
114
+ settle is `UNSURE - <check> - <what is ambiguous> - <png path>`, never a guess. Return every shot
115
+ and clip path.
116
+
117
+ ## Bugs
118
+
119
+ Reproduce here first, as close to real use as possible, then fix, then rerun the same checks.
120
+ A fix without a before and after run is unverified.
@@ -0,0 +1,58 @@
1
+ #!/bin/sh
2
+ # Self-check for layout-check.js: the page below plants 5 defects next to 5 look-alikes that are fine.
3
+ set -e
4
+ dir=$(dirname "$0")
5
+ fixture=$(cat <<'HTML'
6
+ <!doctype html>
7
+ <html>
8
+ <body style="margin: 0; font: 16px sans-serif; width: 390px">
9
+ <p>
10
+ Clean wrapped paragraph that wraps across lines with a <a href="#">link inside</a> and more
11
+ text after it.
12
+ </p>
13
+ <div data-testid="overlap-card" style="position: relative; height: 40px">
14
+ <span>Balance</span><span style="position: absolute; left: 20px; top: 0">USDT 12.50</span>
15
+ </div>
16
+ <div data-testid="clip-box" style="height: 18px; overflow: hidden">
17
+ <p style="margin: 0">Line one<br />Line two cut off</p>
18
+ </div>
19
+ <div
20
+ data-testid="ellipsis"
21
+ style="width: 80px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis"
22
+ >
23
+ A very long game title
24
+ </div>
25
+ <span style="position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0)"
26
+ >Screen reader only</span
27
+ >
28
+ <div style="overflow: hidden; width: 200px; white-space: nowrap">
29
+ <div style="display: inline-block; width: 200px">Slide one</div>
30
+ <div style="display: inline-block; width: 200px">Slide two parked</div>
31
+ </div>
32
+ <div data-testid="wide" style="white-space: nowrap">
33
+ This label is far too wide for a mobile viewport and runs out
34
+ </div>
35
+ <div style="overflow-x: auto; white-space: nowrap; width: 200px">
36
+ Scrollable chips row that is wider than its box on purpose
37
+ </div>
38
+ <p style="position: relative">Under the modal text</p>
39
+ <div style="position: fixed; top: 0; left: 0; width: 390px; height: 60px; background: #fff">
40
+ <p style="margin: 4px">Modal title over page text</p>
41
+ </div>
42
+ </body>
43
+ </html>
44
+ HTML
45
+ )
46
+ url="data:text/html;base64,$(printf '%s' "$fixture" | base64 | tr -d '\n')"
47
+ playwright-cli -s=layout-check open "$url" >/dev/null 2>&1
48
+ playwright-cli -s=layout-check resize 390 844 >/dev/null
49
+ out=$(playwright-cli -s=layout-check eval "$(cat "$dir/layout-check.js")")
50
+ playwright-cli -s=layout-check close >/dev/null
51
+ for expected in PAGE-SCROLLS-X 'CLIPPED.*clip-box' 'TRUNCATED.*ellipsis' 'OFFSCREEN.*wide' 'OVERLAP.*overlap-card.*with.*overlap-card'; do
52
+ echo "$out" | grep -q "$expected" || { echo "FAIL: missing $expected"; echo "$out"; exit 1; }
53
+ done
54
+ # Findings never carry page text: a real screen can show player data.
55
+ ! echo "$out" | grep -qE 'Balance|USDT|Line two|game title|too wide' || { echo "FAIL: page text in findings"; echo "$out"; exit 1; }
56
+ count=$(echo "$out" | grep -cE '^ "(PAGE|CLIPPED|TRUNCATED|OFFSCREEN|OVERLAP)')
57
+ [ "$count" -eq 5 ] || { echo "FAIL: $count findings, expected 5"; echo "$out"; exit 1; }
58
+ echo PASS
@@ -0,0 +1,163 @@
1
+ // Layout defects a screenshot read can miss: overlapping text, text cut by an
2
+ // `overflow: hidden|clip` box, text sticking out of the viewport sideways.
3
+ // Run: playwright-cli -s=v eval "$(cat .claude/skills/ui-verify/layout-check.js)"
4
+ // Returns one line per finding; [] is clean. Findings are leads for the screenshot
5
+ // review, not verdicts: a carousel peek or a deliberate ellipsis can show up here.
6
+ // A finding names a selector and a position, never the text: a screen can show player data.
7
+ // playwright-cli eval takes a bare function expression.
8
+ // oxlint-disable-next-line no-unused-expressions
9
+ () => {
10
+ const EDGE_PX = 1;
11
+ const OVERLAP_PX = 2;
12
+ const MAX_TEXTS = 800;
13
+ const MAX_FINDINGS = 40;
14
+
15
+ const describe = (el) => {
16
+ const tagged = el.closest('[data-testid]');
17
+ const testId = tagged ? `[data-testid="${tagged.getAttribute('data-testid')}"] ` : '';
18
+ const classes = [...el.classList]
19
+ .slice(0, 2)
20
+ .map((name) => `.${name}`)
21
+ .join('');
22
+ return `${testId}${el.tagName.toLowerCase()}${classes}`;
23
+ };
24
+ const clips = (style) => /hidden|clip/.test(style.overflowX + style.overflowY);
25
+ const scrolls = (style) => /auto|scroll/.test(style.overflowX + style.overflowY);
26
+ const overflowBy = (inner, outer) =>
27
+ [
28
+ ['top', outer.top - inner.top],
29
+ ['right', inner.right - outer.right],
30
+ ['bottom', inner.bottom - outer.bottom],
31
+ ['left', outer.left - inner.left],
32
+ ].filter(([, px]) => px > EDGE_PX);
33
+ const intersects = (a, b) =>
34
+ a.left < b.right && b.left < a.right && a.top < b.bottom && b.top < a.bottom;
35
+ const isOpaque = (el) => {
36
+ const style = getComputedStyle(el);
37
+ const alpha = style.backgroundColor.match(/[\d.]+/g)?.[3] ?? '1';
38
+ return (
39
+ style.backgroundImage !== 'none' ||
40
+ style.backdropFilter !== 'none' ||
41
+ (style.backgroundColor !== 'transparent' && Number(alpha) >= 0.5)
42
+ );
43
+ };
44
+ // A modal or sheet over the page puts an opaque layer between the two texts in the paint stack.
45
+ const isLayerBetween = (a, b, x, y) => {
46
+ const stack = document.elementsFromPoint(x, y);
47
+ const [upper, lower] = [stack.indexOf(a), stack.indexOf(b)].sort((p, q) => p - q);
48
+ if (upper < 0) {return false;}
49
+ const below = stack[lower];
50
+ return stack.slice(upper + 1, lower).some((el) => !el.contains(below) && isOpaque(el));
51
+ };
52
+
53
+ const findings = [];
54
+ const at = (r) =>
55
+ `at ${Math.round(r.left)},${Math.round(r.top)} ${Math.round(r.width)}x${Math.round(r.height)}`;
56
+ const report = (kind, el, box, detail) =>
57
+ findings.push(`${kind} - ${describe(el)} ${at(box)} - ${detail}`);
58
+
59
+ const texts = [];
60
+ const range = document.createRange();
61
+ const walker = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT);
62
+ for (let node = walker.nextNode(); node && texts.length < MAX_TEXTS; node = walker.nextNode()) {
63
+ const el = node.parentElement;
64
+ if (!node.textContent.trim() || !el || el.closest('script,style,noscript,template')) {continue;}
65
+ if (!el.checkVisibility({ opacityProperty: true, visibilityProperty: true })) {continue;}
66
+ range.selectNodeContents(node);
67
+ const lines = [...range.getClientRects()].filter((r) => r.width >= 1 && r.height >= 1);
68
+ if (!lines.length) {continue;}
69
+ const box = range.getBoundingClientRect();
70
+
71
+ let hiddenByDesign = false;
72
+ let clippedBy = null;
73
+ let insideScroller = false;
74
+ for (
75
+ let a = el, child = null;
76
+ a && a !== document.body && !insideScroller;
77
+ child = a, a = a.parentElement
78
+ ) {
79
+ const style = getComputedStyle(a);
80
+ const outer = a.getBoundingClientRect();
81
+ if (!clips(style)) {
82
+ insideScroller = scrolls(style);
83
+ continue;
84
+ }
85
+ // sr-only boxes and slides parked fully outside their track are meant to be unseen;
86
+ // a block only partly inside its clipper has lines cut off.
87
+ const shown = child ? child.getBoundingClientRect() : box;
88
+ if (outer.width <= 1 || outer.height <= 1 || !intersects(shown, outer)) {
89
+ hiddenByDesign = true;
90
+ break;
91
+ }
92
+ // Glyphs taller than a tight line-height poke past the box without any layout overflow.
93
+ const overflows =
94
+ a.scrollWidth > a.clientWidth + EDGE_PX || a.scrollHeight > a.clientHeight + EDGE_PX;
95
+ if (!clippedBy && overflows && overflowBy(box, outer).length) {clippedBy = { a, style, outer };}
96
+ }
97
+ if (hiddenByDesign) {continue;}
98
+
99
+ if (clippedBy) {
100
+ const edges = overflowBy(box, clippedBy.outer).map(
101
+ ([edge, px]) => `${edge} ${Math.round(px)}px`,
102
+ );
103
+ const isEllipsis =
104
+ clippedBy.style.textOverflow === 'ellipsis' || clippedBy.style.webkitLineClamp !== 'none';
105
+ const kind = isEllipsis ? 'TRUNCATED' : 'CLIPPED';
106
+ report(kind, el, box, `cut by ${describe(clippedBy.a)} at ${edges.join(', ')}`);
107
+ }
108
+ if (
109
+ !clippedBy &&
110
+ !insideScroller &&
111
+ (box.right > innerWidth + EDGE_PX || box.left < -EDGE_PX)
112
+ ) {
113
+ report(
114
+ 'OFFSCREEN',
115
+ el,
116
+ box,
117
+ `x ${Math.round(box.left)}..${Math.round(box.right)}, viewport ${innerWidth}`,
118
+ );
119
+ }
120
+ // Only the part left visible can overlap anything.
121
+ const shownLines = clippedBy
122
+ ? lines
123
+ .map((r) => ({
124
+ left: Math.max(r.left, clippedBy.outer.left),
125
+ top: Math.max(r.top, clippedBy.outer.top),
126
+ right: Math.min(r.right, clippedBy.outer.right),
127
+ bottom: Math.min(r.bottom, clippedBy.outer.bottom),
128
+ }))
129
+ .filter((r) => r.right > r.left && r.bottom > r.top)
130
+ : lines;
131
+ texts.push({ el, box, lines: shownLines });
132
+ }
133
+
134
+ const overlapOf = (ra, rb) => {
135
+ const left = Math.max(ra.left, rb.left);
136
+ const top = Math.max(ra.top, rb.top);
137
+ const width = Math.min(ra.right, rb.right) - left;
138
+ const height = Math.min(ra.bottom, rb.bottom) - top;
139
+ return width > OVERLAP_PX && height > OVERLAP_PX
140
+ ? { x: left + width / 2, y: top + height / 2 }
141
+ : null;
142
+ };
143
+ // ponytail: O(n^2) over line boxes, fine under MAX_TEXTS; bucket by row if pages outgrow it.
144
+ for (let i = 0; i < texts.length; i++) {
145
+ for (let j = i + 1; j < texts.length; j++) {
146
+ const a = texts[i];
147
+ const b = texts[j];
148
+ const point = a.lines.flatMap((ra) => b.lines.map((rb) => overlapOf(ra, rb))).find(Boolean);
149
+ if (point && !isLayerBetween(a.el, b.el, point.x, point.y)) {
150
+ report('OVERLAP', a.el, a.box, `with ${describe(b.el)} ${at(b.box)}`);
151
+ }
152
+ }
153
+ }
154
+
155
+ const page = document.documentElement;
156
+ if (page.scrollWidth > page.clientWidth + EDGE_PX) {
157
+ findings.unshift(
158
+ `PAGE-SCROLLS-X - html - scrollWidth ${page.scrollWidth} > ${page.clientWidth}`,
159
+ );
160
+ }
161
+ const extra = findings.length - MAX_FINDINGS;
162
+ return extra > 0 ? [...findings.slice(0, MAX_FINDINGS), `+${extra} more`] : findings;
163
+ }
@@ -60,6 +60,8 @@ E2E specs live in `apps/e2e/tests/<app>/<domain>/<scenario>.spec.ts` (Playwright
60
60
 
61
61
  Debug and verify with the **Playwright CLI** first (`pnpm -F {{scope}}/e2e test <spec>`, `npx playwright screenshot <url> <file>`, or a throwaway spec with `page.screenshot`) - it costs a fraction of the tokens a browser MCP does. Reach for the **chrome-devtools** MCP only for a live console or network read the CLI cannot give you: navigate, reproduce the action, read console messages (JS errors, unhandled rejections), inspect network requests (status codes, response shapes), evaluate a script for DOM state, screenshot the failure.
62
62
 
63
+ **Screenshot review on every changed screen**, part of the verify pass. Nobody reads a video back, so layout defects are caught on stills, by you. Read `.claude/skills/ui-verify/SKILL.md` and follow its "Screenshot review" yourself - do not invoke the skill, it forks a subagent: four shots per screen, `layout-check.js` in each, then read each shot. Every shot gets a verdict-table row `screen <name> <viewport> <theme> | PASS / FAIL | <png path>, what you saw`; a defect is a FAIL for `builder`. A UI change with no screenshot rows is not verified.
64
+
63
65
  ## Evidence pass: videos, once
64
66
 
65
67
  Only when the orchestrator asks for it: after the verify pass is green and review is clean, on the final commit. Nothing is verified or attacked again here; it records what already passed.
@@ -70,7 +72,7 @@ Only when the orchestrator asks for it: after the verify pass is green and revie
70
72
  2. `playwright-cli` (`video-start`, `video-chapter "AC<n>: ..."`, drive it, `video-stop`) only for an AC no spec drives.
71
73
  3. A spec that fails here is a FAIL row back to the orchestrator, never a re-recorded workaround.
72
74
 
73
- A screenshot only where a clip adds nothing, such as a second theme. API-only changes attach the request/response trace instead. Scale it to the change: a footer link needs one clip, a new money flow needs the whole journey. After a fix to an open MR, record again only the ACs that fix touched.
75
+ API-only changes attach the request/response trace instead. Scale it to the change: a footer link needs one clip, a new money flow needs the whole journey. After a fix to an open MR, record again only the ACs that fix touched.
74
76
 
75
77
  ## Triage - the key question
76
78
 
@@ -13,13 +13,16 @@ Before the PR opens:
13
13
  (`playwright-cli`, or a throwaway spec that clicks through the flow) - it costs a fraction of
14
14
  the tokens a browser MCP does. Use a browser MCP only for a live console or network read the CLI
15
15
  cannot give you. No videos in this pass, except a fix's "before" clip, taken when you reproduce
16
- the bug: the code can still change before review is clean.
16
+ the bug: the code can still change before review is clean. Every changed screen gets the
17
+ `ui-verify` skill's screenshot review: four shots (mobile and desktop, light and dark), each
18
+ read for layout defects and given a PASS or FAIL line. Screenshots are for the agent, videos
19
+ for the reviewer.
17
20
  2. Capture the evidence once, on the final commit, after the tests are green and review is clean:
18
21
  one short video per acceptance criterion, ending on the outcome it names, and the "after" twin
19
22
  of a fix's "before" clip. Run every browser spec that drives an AC in one command with video on
20
23
  (`test.use({ video: 'on' })` or the repo's record switch); `playwright-cli` with `video-start` /
21
- `video-stop` only for an AC no spec drives. A screenshot only where a video adds nothing, such
22
- as a second theme. An API-only change attaches the request/response trace instead.
24
+ `video-stop` only for an AC no spec drives. An API-only change attaches the request/response
25
+ trace instead.
23
26
  3. Attach that evidence **to the PR description**, not only to your report - a reviewer confirms a
24
27
  change by looking at it.
25
28
  4. Write the tests that pass exercised, in this branch, at the tier the table below names. Include
@@ -8,13 +8,13 @@
8
8
  // AGENTS.md stays a clean human brief (no simulated-command boilerplate).
9
9
  // Hooks + permissions are NOT managed here - .claude/settings.json is hand-maintained
10
10
  // (it holds the guard hooks), so rulesync never clobbers it.
11
- // codexcli: rules (AGENTS.md) + mcp (.codex/config.toml) only - its commands/
12
- // subagents are simulation-only (kept off) and it has no hooks system.
11
+ // codexcli: rules (AGENTS.md), mcp (.codex/config.toml) and hooks (.codex/hooks.json, so
12
+ // the guards judge its apply_patch edits) - its commands/subagents are simulation-only (kept off).
13
13
  "targets": {
14
14
  "agentsmd": ["rules"],
15
15
  "claudecode": ["rules", "mcp", "subagents", "commands", "skills"],
16
16
  "copilot": ["rules", "mcp", "subagents", "commands", "hooks"],
17
- "codexcli": ["rules", "mcp"],
17
+ "codexcli": ["rules", "mcp", "hooks"],
18
18
  },
19
19
 
20
20
  // rulesync emits Copilot agents/prompts natively - no simulation needed.