@rotorsoft/act-ops 0.1.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/@types/idempotency/min-safe-ttl.d.ts +2 -2
- package/dist/@types/receiver/index.d.ts +49 -0
- package/dist/@types/receiver/index.d.ts.map +1 -0
- package/dist/@types/receiver/port.d.ts +122 -0
- package/dist/@types/receiver/port.d.ts.map +1 -0
- package/dist/idempotency/index.cjs +8 -8
- package/dist/idempotency/index.cjs.map +1 -1
- package/dist/idempotency/index.js +8 -8
- package/dist/idempotency/index.js.map +1 -1
- package/dist/receiver/index.cjs +19 -0
- package/dist/receiver/index.cjs.map +1 -0
- package/dist/receiver/index.js +1 -0
- package/dist/receiver/index.js.map +1 -0
- package/package.json +7 -2
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.dom.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.scripthost.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","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.full.d.ts","../src/idempotency/min-safe-ttl.ts","../src/idempotency/port.ts","../src/idempotency/in-memory.ts","../src/idempotency/index.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/blob.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/console.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/crypto.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/encoding.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/utility.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/client-stats.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/round-robin-pool.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/h2c-client.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/snapshot-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/socks5-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/importmeta.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/messaging.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/performance.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/timers.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/url.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/inspector/promises.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/path/posix.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/path/win32.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/quic.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/stream/iter.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/test/reporters.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/util/types.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/zlib/iter.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/@vitest+pretty-format@4.1.7/node_modules/@vitest/pretty-format/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.7/node_modules/@vitest/utils/dist/display.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.7/node_modules/@vitest/utils/dist/types.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.7/node_modules/@vitest/utils/dist/helpers.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.7/node_modules/@vitest/utils/dist/timers.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.7/node_modules/@vitest/utils/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.7/node_modules/@vitest/utils/dist/types.d-BCElaP-c.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.7/node_modules/@vitest/utils/dist/diff.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.7/node_modules/@vitest/runner/dist/tasks.d-DEYaIMIu.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.7/node_modules/@vitest/runner/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.7_@types+node@25.9.1_@vitest+coverage-v8@4.1.7_vite@8.0.14_@types+node@25.9._80d5839fc632fdcd9de039dffc6761e7/node_modules/vitest/dist/chunks/traces.d.D2T_R8rx.d.ts","../../../node_modules/.pnpm/vite@8.0.14_@types+node@25.9.1_esbuild@0.27.2_jiti@2.6.1_terser@5.46.1_tsx@4.22.3_yaml@2.9.0/node_modules/vite/types/hmrPayload.d.ts","../../../node_modules/.pnpm/vite@8.0.14_@types+node@25.9.1_esbuild@0.27.2_jiti@2.6.1_terser@5.46.1_tsx@4.22.3_yaml@2.9.0/node_modules/vite/dist/node/chunks/moduleRunnerTransport.d.ts","../../../node_modules/.pnpm/vite@8.0.14_@types+node@25.9.1_esbuild@0.27.2_jiti@2.6.1_terser@5.46.1_tsx@4.22.3_yaml@2.9.0/node_modules/vite/types/customEvent.d.ts","../../../node_modules/.pnpm/vite@8.0.14_@types+node@25.9.1_esbuild@0.27.2_jiti@2.6.1_terser@5.46.1_tsx@4.22.3_yaml@2.9.0/node_modules/vite/types/hot.d.ts","../../../node_modules/.pnpm/vite@8.0.14_@types+node@25.9.1_esbuild@0.27.2_jiti@2.6.1_terser@5.46.1_tsx@4.22.3_yaml@2.9.0/node_modules/vite/dist/node/module-runner.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.7/node_modules/@vitest/snapshot/dist/environment.d-DOJxxZV9.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.7/node_modules/@vitest/snapshot/dist/rawSnapshot.d-D_X3-62x.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.7/node_modules/@vitest/snapshot/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.7_@types+node@25.9.1_@vitest+coverage-v8@4.1.7_vite@8.0.14_@types+node@25.9._80d5839fc632fdcd9de039dffc6761e7/node_modules/vitest/dist/chunks/config.d.A1h_Y6Jt.d.ts","../../../node_modules/.pnpm/vitest@4.1.7_@types+node@25.9.1_@vitest+coverage-v8@4.1.7_vite@8.0.14_@types+node@25.9._80d5839fc632fdcd9de039dffc6761e7/node_modules/vitest/dist/chunks/environment.d.CrsxCzP1.d.ts","../../../node_modules/.pnpm/vitest@4.1.7_@types+node@25.9.1_@vitest+coverage-v8@4.1.7_vite@8.0.14_@types+node@25.9._80d5839fc632fdcd9de039dffc6761e7/node_modules/vitest/dist/chunks/rpc.d.B_8sPU0w.d.ts","../../../node_modules/.pnpm/vitest@4.1.7_@types+node@25.9.1_@vitest+coverage-v8@4.1.7_vite@8.0.14_@types+node@25.9._80d5839fc632fdcd9de039dffc6761e7/node_modules/vitest/dist/chunks/worker.d.ZpHpO4yb.d.ts","../../../node_modules/.pnpm/vitest@4.1.7_@types+node@25.9.1_@vitest+coverage-v8@4.1.7_vite@8.0.14_@types+node@25.9._80d5839fc632fdcd9de039dffc6761e7/node_modules/vitest/dist/chunks/browser.d.BcoexmFG.d.ts","../../../node_modules/.pnpm/@vitest+spy@4.1.7/node_modules/@vitest/spy/optional-types.d.ts","../../../node_modules/.pnpm/@vitest+spy@4.1.7/node_modules/@vitest/spy/dist/index.d.ts","../../../node_modules/.pnpm/tinyrainbow@3.1.0/node_modules/tinyrainbow/dist/index.d.ts","../../../node_modules/.pnpm/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.ts","../../../node_modules/.pnpm/@types+deep-eql@4.0.2/node_modules/@types/deep-eql/index.d.ts","../../../node_modules/.pnpm/assertion-error@2.0.1/node_modules/assertion-error/index.d.ts","../../../node_modules/.pnpm/@types+chai@5.2.3/node_modules/@types/chai/index.d.ts","../../../node_modules/.pnpm/@vitest+expect@4.1.7/node_modules/@vitest/expect/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.7/node_modules/@vitest/runner/dist/utils.d.ts","../../../node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.7_@types+node@25.9.1_@vitest+coverage-v8@4.1.7_vite@8.0.14_@types+node@25.9._80d5839fc632fdcd9de039dffc6761e7/node_modules/vitest/dist/chunks/benchmark.d.DAaHLpsq.d.ts","../../../node_modules/.pnpm/vitest@4.1.7_@types+node@25.9.1_@vitest+coverage-v8@4.1.7_vite@8.0.14_@types+node@25.9._80d5839fc632fdcd9de039dffc6761e7/node_modules/vitest/dist/chunks/global.d.DVsSRdQ5.d.ts","../../../node_modules/.pnpm/vitest@4.1.7_@types+node@25.9.1_@vitest+coverage-v8@4.1.7_vite@8.0.14_@types+node@25.9._80d5839fc632fdcd9de039dffc6761e7/node_modules/vitest/optional-runtime-types.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.7_vite@8.0.14_@types+node@25.9.1_esbuild@0.27.2_jiti@2.6.1_terser@5.46.1_tsx@4.22.3_yaml@2.9.0_/node_modules/@vitest/mocker/dist/types.d-BjI5eAwu.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.7_vite@8.0.14_@types+node@25.9.1_esbuild@0.27.2_jiti@2.6.1_terser@5.46.1_tsx@4.22.3_yaml@2.9.0_/node_modules/@vitest/mocker/dist/index.d-B41z0AuW.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.7_vite@8.0.14_@types+node@25.9.1_esbuild@0.27.2_jiti@2.6.1_terser@5.46.1_tsx@4.22.3_yaml@2.9.0_/node_modules/@vitest/mocker/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.7_@types+node@25.9.1_@vitest+coverage-v8@4.1.7_vite@8.0.14_@types+node@25.9._80d5839fc632fdcd9de039dffc6761e7/node_modules/vitest/dist/chunks/suite.d.udJtyAgw.d.ts","../../../node_modules/.pnpm/vitest@4.1.7_@types+node@25.9.1_@vitest+coverage-v8@4.1.7_vite@8.0.14_@types+node@25.9._80d5839fc632fdcd9de039dffc6761e7/node_modules/vitest/dist/chunks/evaluatedModules.d.BxJ5omdx.d.ts","../../../node_modules/.pnpm/vitest@4.1.7_@types+node@25.9.1_@vitest+coverage-v8@4.1.7_vite@8.0.14_@types+node@25.9._80d5839fc632fdcd9de039dffc6761e7/node_modules/vitest/dist/runners.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/utils.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/overloads.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/branding.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/messages.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.7_@types+node@25.9.1_@vitest+coverage-v8@4.1.7_vite@8.0.14_@types+node@25.9._80d5839fc632fdcd9de039dffc6761e7/node_modules/vitest/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.7_@types+node@25.9.1_@vitest+coverage-v8@4.1.7_vite@8.0.14_@types+node@25.9._80d5839fc632fdcd9de039dffc6761e7/node_modules/vitest/globals.d.ts"],"fileIdsList":[[66,67,72,136,144,148,151,153,154,155,167],[66,67,68,72,136,144,148,151,153,154,155,167],[72,136,144,148,151,153,154,155,167],[72,136,144,148,151,153,154,155,167,223,224],[72,133,134,136,144,148,151,153,154,155,167],[72,135,136,144,148,151,153,154,155,167],[136,144,148,151,153,154,155,167],[72,136,144,148,151,153,154,155,167,176],[72,136,137,142,144,147,148,151,153,154,155,157,167,172,185],[72,136,137,138,144,147,148,151,153,154,155,167],[72,136,139,144,148,151,153,154,155,167,186],[72,136,140,141,144,148,151,153,154,155,158,167],[72,136,141,144,148,151,153,154,155,167,172,182],[72,136,142,144,147,148,151,153,154,155,157,167],[72,135,136,143,144,148,151,153,154,155,167],[72,136,144,145,148,151,153,154,155,167],[72,136,144,146,147,148,151,153,154,155,167],[72,135,136,144,147,148,151,153,154,155,167],[72,136,144,147,148,149,151,153,154,155,167,172,185],[72,136,144,147,148,149,151,153,154,155,167,172,174,176],[72,123,136,144,147,148,150,151,153,154,155,157,167,172,185],[72,136,144,147,148,150,151,153,154,155,157,167,172,182,185],[72,136,144,148,150,151,152,153,154,155,167,172,182,185],[70,71,72,73,74,75,76,77,78,79,80,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,189,190,191,192,193],[72,136,144,147,148,151,153,154,155,167],[72,136,144,148,151,153,155,167],[72,136,144,148,151,153,154,155,156,167,185],[72,136,144,147,148,151,153,154,155,157,167,172],[72,136,144,148,151,153,154,155,158,167],[72,136,144,148,151,153,154,155,159,167],[72,136,144,147,148,151,153,154,155,162,167],[72,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,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192],[72,136,144,148,151,153,154,155,164,167],[72,136,144,148,151,153,154,155,165,167],[72,136,141,144,148,151,153,154,155,157,167,176],[72,136,144,147,148,151,153,154,155,167,168],[72,136,144,148,151,153,154,155,167,169,186,189],[72,136,144,147,148,151,153,154,155,167,172,175,176],[72,136,144,148,151,153,154,155,167,173,176],[72,136,144,148,151,153,154,155,167,174],[72,136,144,148,151,153,154,155,167,176,186],[72,136,144,148,151,153,154,155,167,177],[72,133,136,144,148,151,153,154,155,167,172,179,185],[72,136,144,148,151,153,154,155,167,172,178],[72,136,144,147,148,151,153,154,155,167,180,181],[72,136,144,148,151,153,154,155,167,180,181],[72,136,141,144,148,151,153,154,155,157,167,172,182],[72,136,144,148,151,153,154,155,167,183],[72,136,144,148,151,153,154,155,157,167,184],[72,136,144,148,150,151,153,154,155,165,167,185],[72,136,144,148,151,153,154,155,167,186,187],[72,136,141,144,148,151,153,154,155,167,187],[72,136,144,148,151,153,154,155,167,172,188],[72,136,144,148,151,153,154,155,156,167,189],[72,136,144,148,151,153,154,155,167,190],[72,136,139,144,148,151,153,154,155,167],[72,136,141,144,148,151,153,154,155,167],[72,136,144,148,151,153,154,155,167,186],[72,123,136,144,148,151,153,154,155,167],[72,136,144,148,151,153,154,155,167,185],[72,136,144,148,151,153,154,155,167,191],[72,136,144,148,151,153,154,155,162,167],[72,136,144,148,151,153,154,155,167,181],[72,123,136,144,147,148,149,151,153,154,155,162,167,172,176,185,188,189,191],[72,136,144,148,151,153,154,155,167,172,192],[72,136,144,148,151,153,154,155,167,174,193],[72,136,144,148,151,153,154,155,167,196,202,220,221,222,225],[72,136,144,148,151,153,154,155,167,232],[72,136,144,148,151,153,154,155,167,232,233],[72,136,144,148,151,153,154,155,167,200,202,203],[72,136,144,148,151,153,154,155,167,200,202],[72,136,144,148,151,153,154,155,167,200],[72,136,144,148,151,153,154,155,167,195,200,211,212],[72,136,144,148,151,153,154,155,167,195,200,211],[72,136,144,148,151,153,154,155,167,219],[72,136,144,148,151,153,154,155,167,195,201],[72,136,144,148,151,153,154,155,167,195],[72,136,144,148,151,153,154,155,167,197],[72,136,144,148,151,153,154,155,167,195,196,197,198,199],[72,136,144,148,151,153,154,155,167,238,239],[72,136,144,148,151,153,154,155,167,238,239,240,241],[72,136,144,148,151,153,154,155,167,238,240],[72,136,144,148,151,153,154,155,167,238],[72,87,90,93,94,136,144,148,151,153,154,155,167,185],[72,90,136,144,148,151,153,154,155,167,172,185],[72,90,94,136,144,148,151,153,154,155,167,185],[72,136,144,148,151,153,154,155,167,172],[72,84,136,144,148,151,153,154,155,167],[72,88,136,144,148,151,153,154,155,167],[72,86,87,90,136,144,148,151,153,154,155,167,185],[72,136,144,148,151,153,154,155,157,167,182],[72,136,144,148,151,153,154,155,167,194],[72,84,136,144,148,151,153,154,155,167,194],[72,86,90,136,144,148,151,153,154,155,157,167,185],[72,81,82,83,85,89,136,144,147,148,151,153,154,155,167,172,185],[72,90,99,107,136,144,148,151,153,154,155,167],[72,82,88,136,144,148,151,153,154,155,167],[72,90,117,118,136,144,148,151,153,154,155,167],[72,82,85,90,136,144,148,151,153,154,155,167,176,185,194],[72,90,136,144,148,151,153,154,155,167],[72,86,90,136,144,148,151,153,154,155,167,185],[72,81,136,144,148,151,153,154,155,167],[72,84,85,86,88,89,90,91,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,118,119,120,121,122,136,144,148,151,153,154,155,167],[72,90,110,113,136,144,148,151,153,154,155,167],[72,90,99,100,101,136,144,148,151,153,154,155,167],[72,88,90,100,102,136,144,148,151,153,154,155,167],[72,89,136,144,148,151,153,154,155,167],[72,82,84,90,136,144,148,151,153,154,155,167],[72,90,94,100,102,136,144,148,151,153,154,155,167],[72,94,136,144,148,151,153,154,155,167],[72,88,90,93,136,144,148,151,153,154,155,167,185],[72,82,86,90,99,136,144,148,151,153,154,155,167],[72,90,110,136,144,148,151,153,154,155,167],[72,102,136,144,148,151,153,154,155,167],[72,82,86,90,94,136,144,148,151,153,154,155,167],[72,84,90,117,136,144,148,151,153,154,155,167,176,191,194],[72,136,144,148,151,153,154,155,167,206],[72,136,144,148,151,153,154,155,167,206,207,208,209],[72,136,144,148,151,153,154,155,167,208],[72,136,144,148,151,153,154,155,167,204,227,228,230],[72,136,144,148,151,153,154,155,167,204,205,217,230],[72,136,144,148,151,153,154,155,167,195,202,204,205,213,230],[72,136,144,148,151,153,154,155,167,210],[72,136,144,148,151,153,154,155,167,195,204,205,213,226,229,230],[72,136,144,148,151,153,154,155,167,204,205,210,213,230],[72,136,144,148,151,153,154,155,167,204,227,228,229,230],[72,136,144,148,151,153,154,155,167,204,210,214,215,216,230],[72,136,144,148,151,153,154,155,167,195,200,202,204,205,210,213,214,215,216,217,218,220,226,227,228,229,230,231,234,235,236,237,242],[72,136,144,148,151,153,154,155,167,195,202,204,205,213,214,227,228,229,230,235],[72,136,144,148,151,153,154,155,167,243]],"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":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"2a2de5b9459b3fc44decd9ce6100b72f1b002ef523126c1d3d8b2a4a63d74d78","affectsGlobalScope":true,"impliedFormat":1},{"version":"f13f4b465c99041e912db5c44129a94588e1aafee35a50eab51044833f50b4ee","affectsGlobalScope":true,"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":"01a30f9e8582b369075c0808df71121e6855cb06fd8d3d39511d9ebb66405205","impliedFormat":1},{"version":"b46a75de449d307dbb4fbeb52cada176d092377489ff8fee064e7d523a4f5edf","signature":"c1fd36502ba4ba795867599039a526f9d6f2d8ee4c4eb7a6415add6328f36965","impliedFormat":99},{"version":"94f0fe7b5d334d6bb93ab88c1aeb6275782b75f3d8031071bdf7688ceff0b1e2","signature":"a9f7f2a340ef8d7b5982af1776cf0ac233504d970272ffd48b4b2e7d81b3d907","impliedFormat":99},{"version":"f34fcd685b918fd7e9d306aae9f7d94efac2bd41c323b0cf8a98ddd3f1a08906","signature":"66afb5ec408f758e329718dad7bdfcebe480c6249f6c2883676a39f0f8ffb0c6","impliedFormat":99},{"version":"1dda96b4029f6e7615ee44b40145588dd6f98a4cfa6943a0ac4f504cf9b5e1d8","signature":"c650bc675cf9a7ef004e2aac9a62ac241445c93ad529044491b7a095c1b522e9","impliedFormat":99},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc2110f7decca6bfb9392e30421cfa1436479e4a6756e8fec6cbc22625d4f881","affectsGlobalScope":true,"impliedFormat":1},{"version":"096116f8fedc1765d5bd6ef360c257b4a9048e5415054b3bf3c41b07f8951b0b","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":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"10ec5e82144dfac6f04fa5d1d6c11763b3e4dbbac6d99101427219ab3e2ae887","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"14e9acf826baba0ef4b5665704084896e7bcc06f65a9ab13af7e93d27d6b7069","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"21adf13435b9b748529c8cedf80f884e5130b9684188120a686cd2b26a2059c7","impliedFormat":1},{"version":"eec76bf6b9346f3f95fa402621b889489e96930e72295b0369022f332e9b4a6a","impliedFormat":1},{"version":"0ecd58f413f9bc3b7d4383eae31b0c8fc576985cd7404d6f99f8c643543ade74","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"9c32412007b5662fd34a8eb04292fb5314ec370d7016d1c2fb8aa193c807fe22","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"6ebe8ebb8659aaa9d1acbf3710d7dae3e923e97610238b9511c25dc39023a166","impliedFormat":1},{"version":"e85d7f8068f6a26710bff0cc8c0fc5e47f71089c3780fbede05857331d2ddec9","impliedFormat":1},{"version":"7befaf0e76b5671be1d47b77fcc65f2b0aad91cc26529df1904f4a7c46d216e9","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"d33ce35e3f9cfcc1d94eca415bdd3bde94d5b153ffdd33e6c4455c029986c630","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"4dc59f6e1dbf3d5f66660fceabe6c174d3261b37b696ae1854f0dbaf255fc753","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","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":"114f493b30f364255290472111b5a4791d5902c308645670cd0401429cbc6930","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":"7a93de4ff8a63bafe62ba86b89af1df0ccb5e40bb85b0c67d6bbcfdcf96bf3d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"d2ae155afe8a01cc0ae612d99117cf8ef16692ba7c4366590156fdec1bcf2d8c","impliedFormat":1},{"version":"3f5e5d9be35913db9fea42a63f3df0b7e3c8703b97670a2125587b4dbbd56d7c","impliedFormat":1},{"version":"c8b8968311ec4e5e97b7b5fb8a65efaba455db9bdcfd7fff7fb15f6e317bfba0","impliedFormat":1},{"version":"57c23df0b5f7a8e26363a3849b0bc7763f6b241207157c8e40089d1df4116f35","affectsGlobalScope":true,"impliedFormat":1},{"version":"3b8bc0c17b54081b0878673989216229e575d67a10874e84566a21025a2461ee","impliedFormat":1},{"version":"5b0db5a58b73498792a29bfebc333438e61906fef75da898b410e24e52229e6f","impliedFormat":1},{"version":"dbe055b2b29a7bab2c1ca8f259436306adb43f469dca7e639a02cd3695d3f621","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"aecbf1d9e6a18dab7d92ef8a89a1444b47e1eb6134cb2bb776a26d55ff58c29a","impliedFormat":1},{"version":"2ea729503db9793f2691162fec3dd1118cab62e96d025f8eeb376d43ec293395","impliedFormat":1},{"version":"9ec87fea42b92894b0f209931a880789d43c3397d09dd99c631ae40a2f7071d1","impliedFormat":1},{"version":"c68e88cdfadfb6c8ba5fc38e58a3a166b0beae77b1f05b7d921150a32a5ffb8d","impliedFormat":1},{"version":"2bc7aa4fba46df0bd495425a7c8201437a7d465f83854fac859df2d67f664df3","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"1fede9296beac11ce8e6b425396a1791f64341f2be85deebb6286faf6e16306e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce697b6a251d9cad53998c7fd3098072df883b525ec45d83530e434dc6d80dc6","impliedFormat":1},{"version":"719412f054e6ecc35489462c9a21bab0323d173a7d04e55b0ace4b5d86fbeb07","impliedFormat":1},{"version":"0eb5d0cbf09de5d34542b977fd6a933bb2e0817bffe8e1a541b2f1ad1b9af1ff","impliedFormat":1},{"version":"fac3e88881b35d3a757ed891ac912b2674792c25e2a1a74e1f5fbc72d19a9792","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"c32c840c62d8bd7aeb3147aa6754cd2d922b990a6b6634530cb2ebdce5adc8e9","impliedFormat":1},{"version":"5ff4433a2deae4f85ab1377e90a7554ce6b47ae51c69a84ca30a6e22fae85834","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"c1fa52b3d014001e8662fa2669d90ea15373958a288e3b83a3b621733d25292a","affectsGlobalScope":true,"impliedFormat":1},{"version":"cbed824fec91efefc7bbdcb8b43d1a531fdbebd0e2ef19481501ff365a93cb70","impliedFormat":1},{"version":"d0716593b3f2b0451bcf0c24cfa86dec2235c325c89f201934248b7c742715fc","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"2991bca2cc0f0628a278df2a2ccdb8d6cbcb700f3761abbed62bba137d5b1790","impliedFormat":1},{"version":"5e66972e83eb4dc7123939bf816e6cbd9ad81af5552db1cab84e6bd9c64d2ecc","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"8413d0641f293aed551c7464615b770d34a02dedede889b9591172287d68e773","impliedFormat":1},{"version":"0ea59f7d3e51440baa64f429253759b106cfcbaf51e474cae606e02265b37cf8","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"1b241e24f3227d078c06aeda6e050187ad59a4e591f4467abed44d92b084e08d","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"7fde0e1be5c8be204ffbf428abfcf01da2eb0f130e1bc3f539eb7275f4fd1f58","impliedFormat":1},{"version":"e284328553df5f425a5d33d36a0c3fa66b46af9d097cad6f4d2e8696dfdeb0f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"f36b3fbe2be150a9ca140da48593f21e6a8172004f92ddc549b43efec39f3e54","impliedFormat":1},{"version":"f1c93e046fb3d9b7f8249629f4b63dc068dd839b824dd0aa39a5e68476dc9420","impliedFormat":1},{"version":"016b29bf4926b80255a108c53a1451717350059da04fcae64d1075f5e93bbb39","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"1c4f139ade4f6ebf45463505f8155173e5d7a5305e50e0aae0a5e712d6ff3b48","impliedFormat":1},{"version":"e16b319e5aca1031168de823c4946ff8e29629c4c8cc0ec0fcfe2a8ab2155043","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"9d3821bc75c59577e52643324cec92fc2145642e8d17cf7ee07a3181f21d985d","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"201db9cf1687fab1adf5282fcba861f382b32303dc4f67c89d59655e78a25461","impliedFormat":1},{"version":"2c3c5c0f54055e87640f5d233716fd889f3034fc7911d603b642369b0dbeb2a7","impliedFormat":1},{"version":"0a20eaf2e4b1e3c1e1f87f7bccb0c936375b23b022baeea750519b7c9bc6ce83","impliedFormat":1},{"version":"b484ec11ba00e3a2235562a41898d55372ccabe607986c6fa4f4aba72093749f","impliedFormat":1},{"version":"a16b91b27bd6b706c687c88cbc8a7d4ee98e5ed6043026d6b84bda923c0aed67","impliedFormat":1},{"version":"1c9e5b1a17b1fc9b3711fb36e0690421261ab2880f15b145155b5b2ba2ab6c2d","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"6eeded8c7e352be6e0efb83f4935ec752513c4d22043b52522b90849a49a3a11","impliedFormat":1},{"version":"6c1ad90050ffbb151cacc68e2d06ea1a26a945659391e32651f5d42b86fd7f2c","impliedFormat":1},{"version":"afa1c49f8e559e413d57343339db857d2a8159435cf9cf7d4deb41718fff1b88","impliedFormat":1},{"version":"6953d7597831d0860c7034cf4f0419687d263b6b98a4b32e37ce6d49615c36e2","impliedFormat":1},{"version":"3a582c6e8906f5b094ccf0de6cc6f4f8a54b05a34f52517aba5c9c7f704f6b28","impliedFormat":99},{"version":"0528f6d21f7a02d4092895090d2dd86104bd5a3e79eced96d5a1a7dd90943d17","impliedFormat":99},{"version":"b5ce343886d23392be9c8280e9f24a87f1d7d3667f6672c2fe4aa61fa4ece7d4","impliedFormat":99},{"version":"72ce5b734c05da85c85a6f6dc05823b051d6aa41acaedeeb1d17c72f3b4efa72","impliedFormat":99},{"version":"b0857bb28fd5236ace84280f79a25093f919fd0eff13e47cc26ea03de60a7294","impliedFormat":99},{"version":"5e43e0824f10cd8c48e7a8c5c673638488925a12c31f0f9e0957965c290eb14c","impliedFormat":99},{"version":"ef13c73d6157a32933c612d476c1524dd674cf5b9a88571d7d6a0d147544d529","impliedFormat":99},{"version":"49ab4f1d153a252779958fc87b700743d32b5ffa42addd70ae23ad3f429daa5c","impliedFormat":99},{"version":"53cf4076f42b29b8d411259d168d51b3a0274c42c8814e5b44dfa8803a35d4fc","impliedFormat":99},{"version":"a39461ee1f27cf3e6cfd63d21045713d26d521da55ea4d8efccb705f689e6dbb","impliedFormat":99},{"version":"61bb64660ee150f3ab618340e15cca0a81664801bede7c966ca0eca3a952fe63","impliedFormat":99},{"version":"3b89216a7e38a454985ad17bb2ff85792837dc812f2a89fa5f60ad0a2e216fa7","impliedFormat":99},{"version":"16fe60bb544cfedfd2b5bb2f7d0b3957be7978706d57d9f06edc9c0c8dbdba23","impliedFormat":99},{"version":"de4a612aa8f1704af486f701e21993c786ba7d8cfed55fffa6684026aea2346e","impliedFormat":99},{"version":"4e003c868b0d8f8ad200b96cbc653e18e513fa23e1c19c4fe3cc25d4394efc47","impliedFormat":99},{"version":"8887e70871f697fa42ad7cdf32168db60ec2d6760c173c97973e35377fe5d83b","impliedFormat":99},{"version":"42a12f2faa483c9b48195ed794d22698162274e755f6e07219c2351c4f08d732","impliedFormat":99},{"version":"ec0c42bb0f465e4993f2bc68a6ce9df9a2dcbc7b83e21748f82f1b69561938e3","impliedFormat":99},{"version":"f50ff37a9cbbe74475f426474d9827083c7c2c138a954d28f1690df338f69291","impliedFormat":99},{"version":"61fd6c17235d530c40f543dd7c40afab091d91c1ef890baeed30db6d82b04b28","impliedFormat":99},{"version":"bcbd3becd08b4515225880abea0dbfbbf0d1181ce3af8f18f72f61edbe4febfb","impliedFormat":99},{"version":"091767bc841f937654ed597d49e023ed59850355e746ae1a6f20ab31076ee1fb","impliedFormat":99},{"version":"19c6d6135af59693698d384050b45a8a049493500add442f58e4bd7c8a255ab6","impliedFormat":99},{"version":"6a0dba12d55314638a8c51108b20fe2f68f1364a619d098918bda91c22dec154","impliedFormat":99},{"version":"c76c02846ba7d40b9b3488f0e8d75d02cbdee2f0bc5fcd55dd3bd2e1457646ea","impliedFormat":99},{"version":"4ead13a482c539b77394b2a97e3b877b809eac596390371cea490286f53b996a","impliedFormat":99},{"version":"06db2f8ba1d1dfacf04529cb731081ab23f133f29c7608ebdfbcab356996827c","impliedFormat":99},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"5c935b7fc4ddc1410ea1cd7cd4e35ed106a6e4920dd27a9480a40fd224359dc3","affectsGlobalScope":true,"impliedFormat":99},{"version":"2b39c6cf59088713babbfc3e20ee85f1375d40e66953156fa658346b8346f24f","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"6987dfb4b0c4e02112cc4e548e7a77b3d9ddfeffa8c8a2db13ceac361a4567d9","impliedFormat":99},{"version":"4ffba3c5848b4fe62ee59b754fd5f256ad9656a0db6d37b9a2a8cb40dfc7ac21","impliedFormat":99},{"version":"c76c02846ba7d40b9b3488f0e8d75d02cbdee2f0bc5fcd55dd3bd2e1457646ea","impliedFormat":99},{"version":"5e2ba3d18d78aebbde1f34bde356e41e9c76eeaeaeee56a37036596a9eff4211","impliedFormat":99},{"version":"8280ae8ccc0493b32d1742d585357ab9f0a508ea050af25a5a20d64010d0a5cf","impliedFormat":99},{"version":"7adfd9f9056ecd4ae6c65fde2a98654960c662714c73f048478959d04c09e144","impliedFormat":99},{"version":"32b35cf0dc3a1b1a7118b61c34ce2ad1a29695851679f9ec34e0776f2ece2a69","impliedFormat":99},{"version":"b413fbc6658fe2774f8bf9a15cf4c53e586fc38a2d5256b3b9647da242c14389","impliedFormat":99},{"version":"59e5e964b84fdb2378e9455e4e59405030e4ed2b4c6f891ce395f17796af3cbb","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"64db14db2bf37ac089766fdb3c7e1160fabc10e9929bc2deeede7237e4419fc8","impliedFormat":1},{"version":"98b94085c9f78eba36d3d2314affe973e8994f99864b8708122750788825c771","impliedFormat":1},{"version":"90ba95a763101bb61b8a799731a2ed60b5016b8135c1a2d5186862d4b534d4a1","impliedFormat":99},{"version":"8d7cbeea0454e05a3cdf3370c5df267072c4f1dc6c48a45a9ad750d7890443d7","affectsGlobalScope":true,"impliedFormat":99}],"root":[[66,69]],"options":{"composite":true,"declaration":true,"declarationDir":"./@types","declarationMap":true,"emitDeclarationOnly":true,"erasableSyntaxOnly":true,"esModuleInterop":true,"module":199,"noUncheckedSideEffectImports":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo","verbatimModuleSyntax":true},"referencedMap":[[68,1],[69,2],[66,3],[67,3],[222,3],[225,4],[223,3],[133,5],[134,5],[135,6],[72,7],[136,8],[137,9],[138,10],[70,3],[139,11],[140,12],[141,13],[142,14],[143,15],[144,16],[145,16],[146,17],[147,18],[148,19],[149,20],[73,3],[71,3],[150,21],[151,22],[152,23],[194,24],[153,25],[154,26],[155,25],[156,27],[157,28],[158,29],[159,30],[160,30],[161,30],[162,31],[163,32],[164,33],[165,34],[166,35],[167,36],[168,36],[169,37],[170,3],[171,3],[172,38],[173,39],[174,40],[175,38],[176,41],[177,42],[178,43],[179,44],[180,45],[181,46],[182,47],[183,48],[184,49],[185,50],[186,51],[187,52],[188,53],[189,54],[190,55],[74,25],[75,3],[76,56],[77,57],[78,3],[79,58],[80,3],[124,59],[125,60],[126,61],[127,61],[128,62],[129,3],[130,8],[131,63],[132,60],[191,64],[192,65],[193,66],[226,67],[233,68],[234,69],[232,3],[195,3],[204,70],[203,71],[227,70],[211,72],[213,73],[212,74],[220,75],[219,3],[202,76],[196,77],[198,78],[200,79],[199,3],[201,77],[197,3],[224,3],[240,80],[242,81],[241,82],[239,83],[238,3],[228,3],[221,3],[63,3],[64,3],[12,3],[10,3],[11,3],[16,3],[15,3],[2,3],[17,3],[18,3],[19,3],[20,3],[21,3],[22,3],[23,3],[24,3],[3,3],[25,3],[26,3],[4,3],[27,3],[31,3],[28,3],[29,3],[30,3],[32,3],[33,3],[34,3],[5,3],[35,3],[36,3],[37,3],[38,3],[6,3],[42,3],[39,3],[40,3],[41,3],[43,3],[7,3],[44,3],[49,3],[50,3],[45,3],[46,3],[47,3],[48,3],[8,3],[54,3],[51,3],[52,3],[53,3],[55,3],[9,3],[56,3],[65,3],[57,3],[58,3],[60,3],[59,3],[61,3],[1,3],[62,3],[14,3],[13,3],[99,84],[112,85],[96,86],[113,87],[122,88],[87,89],[88,90],[86,91],[121,92],[116,93],[120,94],[90,95],[109,96],[89,97],[119,98],[84,99],[85,93],[91,100],[92,3],[98,101],[95,100],[82,102],[123,103],[114,104],[102,105],[101,100],[103,106],[106,107],[100,108],[104,109],[117,92],[93,110],[94,111],[107,112],[83,87],[111,113],[110,100],[97,111],[105,114],[108,115],[115,3],[81,3],[118,116],[207,117],[210,118],[208,117],[206,3],[209,119],[229,120],[218,121],[214,122],[215,72],[236,123],[230,124],[216,125],[235,126],[205,3],[217,127],[243,128],[237,129],[244,130],[231,3]],"latestChangedDtsFile":"./@types/idempotency/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.dom.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.scripthost.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","../../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.full.d.ts","../src/idempotency/min-safe-ttl.ts","../src/idempotency/port.ts","../src/idempotency/in-memory.ts","../src/idempotency/index.ts","../src/receiver/port.ts","../src/receiver/index.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/blob.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/console.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/crypto.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/encoding.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/utility.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/client-stats.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/round-robin-pool.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/h2c-client.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/snapshot-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/socks5-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/importmeta.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/messaging.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/performance.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/timers.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/web-globals/url.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/inspector/promises.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/path/posix.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/path/win32.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/quic.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/stream/iter.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/test/reporters.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/util/types.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/zlib/iter.d.ts","../../../node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/@vitest+pretty-format@4.1.8/node_modules/@vitest/pretty-format/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/display.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/types.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/helpers.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/timers.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/types.d-BCElaP-c.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/diff.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.8/node_modules/@vitest/runner/dist/tasks.d-DEYaIMIu.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.8/node_modules/@vitest/runner/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@25.9.1_@vitest+coverage-v8@4.1.8_vite@8.0.16_@types+node@25.9._87965f5280639f5a2754f2fd84ad1804/node_modules/vitest/dist/chunks/traces.d.D2T_R8rx.d.ts","../../../node_modules/.pnpm/vite@8.0.16_@types+node@25.9.1_esbuild@0.27.2_jiti@2.6.1_terser@5.46.1_tsx@4.22.4_yaml@2.9.0/node_modules/vite/types/hmrPayload.d.ts","../../../node_modules/.pnpm/vite@8.0.16_@types+node@25.9.1_esbuild@0.27.2_jiti@2.6.1_terser@5.46.1_tsx@4.22.4_yaml@2.9.0/node_modules/vite/dist/node/chunks/moduleRunnerTransport.d.ts","../../../node_modules/.pnpm/vite@8.0.16_@types+node@25.9.1_esbuild@0.27.2_jiti@2.6.1_terser@5.46.1_tsx@4.22.4_yaml@2.9.0/node_modules/vite/types/customEvent.d.ts","../../../node_modules/.pnpm/vite@8.0.16_@types+node@25.9.1_esbuild@0.27.2_jiti@2.6.1_terser@5.46.1_tsx@4.22.4_yaml@2.9.0/node_modules/vite/types/hot.d.ts","../../../node_modules/.pnpm/vite@8.0.16_@types+node@25.9.1_esbuild@0.27.2_jiti@2.6.1_terser@5.46.1_tsx@4.22.4_yaml@2.9.0/node_modules/vite/dist/node/module-runner.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.8/node_modules/@vitest/snapshot/dist/environment.d-DOJxxZV9.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.8/node_modules/@vitest/snapshot/dist/rawSnapshot.d-D_X3-62x.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.8/node_modules/@vitest/snapshot/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@25.9.1_@vitest+coverage-v8@4.1.8_vite@8.0.16_@types+node@25.9._87965f5280639f5a2754f2fd84ad1804/node_modules/vitest/dist/chunks/config.d.A1h_Y6Jt.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@25.9.1_@vitest+coverage-v8@4.1.8_vite@8.0.16_@types+node@25.9._87965f5280639f5a2754f2fd84ad1804/node_modules/vitest/dist/chunks/environment.d.CrsxCzP1.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@25.9.1_@vitest+coverage-v8@4.1.8_vite@8.0.16_@types+node@25.9._87965f5280639f5a2754f2fd84ad1804/node_modules/vitest/dist/chunks/rpc.d.B_8sPU0w.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@25.9.1_@vitest+coverage-v8@4.1.8_vite@8.0.16_@types+node@25.9._87965f5280639f5a2754f2fd84ad1804/node_modules/vitest/dist/chunks/worker.d.ZpHpO4yb.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@25.9.1_@vitest+coverage-v8@4.1.8_vite@8.0.16_@types+node@25.9._87965f5280639f5a2754f2fd84ad1804/node_modules/vitest/dist/chunks/browser.d.BcoexmFG.d.ts","../../../node_modules/.pnpm/@vitest+spy@4.1.8/node_modules/@vitest/spy/optional-types.d.ts","../../../node_modules/.pnpm/@vitest+spy@4.1.8/node_modules/@vitest/spy/dist/index.d.ts","../../../node_modules/.pnpm/tinyrainbow@3.1.0/node_modules/tinyrainbow/dist/index.d.ts","../../../node_modules/.pnpm/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.ts","../../../node_modules/.pnpm/@types+deep-eql@4.0.2/node_modules/@types/deep-eql/index.d.ts","../../../node_modules/.pnpm/assertion-error@2.0.1/node_modules/assertion-error/index.d.ts","../../../node_modules/.pnpm/@types+chai@5.2.3/node_modules/@types/chai/index.d.ts","../../../node_modules/.pnpm/@vitest+expect@4.1.8/node_modules/@vitest/expect/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.8/node_modules/@vitest/runner/dist/utils.d.ts","../../../node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@25.9.1_@vitest+coverage-v8@4.1.8_vite@8.0.16_@types+node@25.9._87965f5280639f5a2754f2fd84ad1804/node_modules/vitest/dist/chunks/benchmark.d.DAaHLpsq.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@25.9.1_@vitest+coverage-v8@4.1.8_vite@8.0.16_@types+node@25.9._87965f5280639f5a2754f2fd84ad1804/node_modules/vitest/dist/chunks/global.d.DVsSRdQ5.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@25.9.1_@vitest+coverage-v8@4.1.8_vite@8.0.16_@types+node@25.9._87965f5280639f5a2754f2fd84ad1804/node_modules/vitest/optional-runtime-types.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.8_vite@8.0.16_@types+node@25.9.1_esbuild@0.27.2_jiti@2.6.1_terser@5.46.1_tsx@4.22.4_yaml@2.9.0_/node_modules/@vitest/mocker/dist/types.d-BjI5eAwu.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.8_vite@8.0.16_@types+node@25.9.1_esbuild@0.27.2_jiti@2.6.1_terser@5.46.1_tsx@4.22.4_yaml@2.9.0_/node_modules/@vitest/mocker/dist/index.d-B41z0AuW.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.8_vite@8.0.16_@types+node@25.9.1_esbuild@0.27.2_jiti@2.6.1_terser@5.46.1_tsx@4.22.4_yaml@2.9.0_/node_modules/@vitest/mocker/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@25.9.1_@vitest+coverage-v8@4.1.8_vite@8.0.16_@types+node@25.9._87965f5280639f5a2754f2fd84ad1804/node_modules/vitest/dist/chunks/suite.d.udJtyAgw.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@25.9.1_@vitest+coverage-v8@4.1.8_vite@8.0.16_@types+node@25.9._87965f5280639f5a2754f2fd84ad1804/node_modules/vitest/dist/chunks/evaluatedModules.d.BxJ5omdx.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@25.9.1_@vitest+coverage-v8@4.1.8_vite@8.0.16_@types+node@25.9._87965f5280639f5a2754f2fd84ad1804/node_modules/vitest/dist/runners.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/utils.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/overloads.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/branding.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/messages.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@25.9.1_@vitest+coverage-v8@4.1.8_vite@8.0.16_@types+node@25.9._87965f5280639f5a2754f2fd84ad1804/node_modules/vitest/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@25.9.1_@vitest+coverage-v8@4.1.8_vite@8.0.16_@types+node@25.9._87965f5280639f5a2754f2fd84ad1804/node_modules/vitest/globals.d.ts"],"fileIdsList":[[66,67,74,138,146,150,153,155,156,157,169],[66,67,68,74,138,146,150,153,155,156,157,169],[74,138,146,150,153,155,156,157,169],[70,74,138,146,150,153,155,156,157,169],[67,74,138,146,150,153,155,156,157,169],[74,138,146,150,153,155,156,157,169,225,226],[74,135,136,138,146,150,153,155,156,157,169],[74,137,138,146,150,153,155,156,157,169],[138,146,150,153,155,156,157,169],[74,138,146,150,153,155,156,157,169,178],[74,138,139,144,146,149,150,153,155,156,157,159,169,174,187],[74,138,139,140,146,149,150,153,155,156,157,169],[74,138,141,146,150,153,155,156,157,169,188],[74,138,142,143,146,150,153,155,156,157,160,169],[74,138,143,146,150,153,155,156,157,169,174,184],[74,138,144,146,149,150,153,155,156,157,159,169],[74,137,138,145,146,150,153,155,156,157,169],[74,138,146,147,150,153,155,156,157,169],[74,138,146,148,149,150,153,155,156,157,169],[74,137,138,146,149,150,153,155,156,157,169],[74,138,146,149,150,151,153,155,156,157,169,174,187],[74,138,146,149,150,151,153,155,156,157,169,174,176,178],[74,125,138,146,149,150,152,153,155,156,157,159,169,174,187],[74,138,146,149,150,152,153,155,156,157,159,169,174,184,187],[74,138,146,150,152,153,154,155,156,157,169,174,184,187],[72,73,74,75,76,77,78,79,80,81,82,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,189,190,191,192,193,194,195],[74,138,146,149,150,153,155,156,157,169],[74,138,146,150,153,155,157,169],[74,138,146,150,153,155,156,157,158,169,187],[74,138,146,149,150,153,155,156,157,159,169,174],[74,138,146,150,153,155,156,157,160,169],[74,138,146,150,153,155,156,157,161,169],[74,138,146,149,150,153,155,156,157,164,169],[74,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,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194],[74,138,146,150,153,155,156,157,166,169],[74,138,146,150,153,155,156,157,167,169],[74,138,143,146,150,153,155,156,157,159,169,178],[74,138,146,149,150,153,155,156,157,169,170],[74,138,146,150,153,155,156,157,169,171,188,191],[74,138,146,149,150,153,155,156,157,169,174,177,178],[74,138,146,150,153,155,156,157,169,175,178],[74,138,146,150,153,155,156,157,169,176],[74,138,146,150,153,155,156,157,169,178,188],[74,138,146,150,153,155,156,157,169,179],[74,135,138,146,150,153,155,156,157,169,174,181,187],[74,138,146,150,153,155,156,157,169,174,180],[74,138,146,149,150,153,155,156,157,169,182,183],[74,138,146,150,153,155,156,157,169,182,183],[74,138,143,146,150,153,155,156,157,159,169,174,184],[74,138,146,150,153,155,156,157,169,185],[74,138,146,150,153,155,156,157,159,169,186],[74,138,146,150,152,153,155,156,157,167,169,187],[74,138,146,150,153,155,156,157,169,188,189],[74,138,143,146,150,153,155,156,157,169,189],[74,138,146,150,153,155,156,157,169,174,190],[74,138,146,150,153,155,156,157,158,169,191],[74,138,146,150,153,155,156,157,169,192],[74,138,141,146,150,153,155,156,157,169],[74,138,143,146,150,153,155,156,157,169],[74,138,146,150,153,155,156,157,169,188],[74,125,138,146,150,153,155,156,157,169],[74,138,146,150,153,155,156,157,169,187],[74,138,146,150,153,155,156,157,169,193],[74,138,146,150,153,155,156,157,164,169],[74,138,146,150,153,155,156,157,169,183],[74,125,138,146,149,150,151,153,155,156,157,164,169,174,178,187,190,191,193],[74,138,146,150,153,155,156,157,169,174,194],[74,138,146,150,153,155,156,157,169,176,195],[74,138,146,150,153,155,156,157,169,198,204,222,223,224,227],[74,138,146,150,153,155,156,157,169,234],[74,138,146,150,153,155,156,157,169,234,235],[74,138,146,150,153,155,156,157,169,202,204,205],[74,138,146,150,153,155,156,157,169,202,204],[74,138,146,150,153,155,156,157,169,202],[74,138,146,150,153,155,156,157,169,197,202,213,214],[74,138,146,150,153,155,156,157,169,197,202,213],[74,138,146,150,153,155,156,157,169,221],[74,138,146,150,153,155,156,157,169,197,203],[74,138,146,150,153,155,156,157,169,197],[74,138,146,150,153,155,156,157,169,199],[74,138,146,150,153,155,156,157,169,197,198,199,200,201],[74,138,146,150,153,155,156,157,169,240,241],[74,138,146,150,153,155,156,157,169,240,241,242,243],[74,138,146,150,153,155,156,157,169,240,242],[74,138,146,150,153,155,156,157,169,240],[74,89,92,95,96,138,146,150,153,155,156,157,169,187],[74,92,138,146,150,153,155,156,157,169,174,187],[74,92,96,138,146,150,153,155,156,157,169,187],[74,138,146,150,153,155,156,157,169,174],[74,86,138,146,150,153,155,156,157,169],[74,90,138,146,150,153,155,156,157,169],[74,88,89,92,138,146,150,153,155,156,157,169,187],[74,138,146,150,153,155,156,157,159,169,184],[74,138,146,150,153,155,156,157,169,196],[74,86,138,146,150,153,155,156,157,169,196],[74,88,92,138,146,150,153,155,156,157,159,169,187],[74,83,84,85,87,91,138,146,149,150,153,155,156,157,169,174,187],[74,92,101,109,138,146,150,153,155,156,157,169],[74,84,90,138,146,150,153,155,156,157,169],[74,92,119,120,138,146,150,153,155,156,157,169],[74,84,87,92,138,146,150,153,155,156,157,169,178,187,196],[74,92,138,146,150,153,155,156,157,169],[74,88,92,138,146,150,153,155,156,157,169,187],[74,83,138,146,150,153,155,156,157,169],[74,86,87,88,90,91,92,93,94,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,120,121,122,123,124,138,146,150,153,155,156,157,169],[74,92,112,115,138,146,150,153,155,156,157,169],[74,92,101,102,103,138,146,150,153,155,156,157,169],[74,90,92,102,104,138,146,150,153,155,156,157,169],[74,91,138,146,150,153,155,156,157,169],[74,84,86,92,138,146,150,153,155,156,157,169],[74,92,96,102,104,138,146,150,153,155,156,157,169],[74,96,138,146,150,153,155,156,157,169],[74,90,92,95,138,146,150,153,155,156,157,169,187],[74,84,88,92,101,138,146,150,153,155,156,157,169],[74,92,112,138,146,150,153,155,156,157,169],[74,104,138,146,150,153,155,156,157,169],[74,84,88,92,96,138,146,150,153,155,156,157,169],[74,86,92,119,138,146,150,153,155,156,157,169,178,193,196],[74,138,146,150,153,155,156,157,169,208],[74,138,146,150,153,155,156,157,169,208,209,210,211],[74,138,146,150,153,155,156,157,169,210],[74,138,146,150,153,155,156,157,169,206,229,230,232],[74,138,146,150,153,155,156,157,169,206,207,219,232],[74,138,146,150,153,155,156,157,169,197,204,206,207,215,232],[74,138,146,150,153,155,156,157,169,212],[74,138,146,150,153,155,156,157,169,197,206,207,215,228,231,232],[74,138,146,150,153,155,156,157,169,206,207,212,215,232],[74,138,146,150,153,155,156,157,169,206,229,230,231,232],[74,138,146,150,153,155,156,157,169,206,212,216,217,218,232],[74,138,146,150,153,155,156,157,169,197,202,204,206,207,212,215,216,217,218,219,220,222,228,229,230,231,232,233,236,237,238,239,244],[74,138,146,150,153,155,156,157,169,197,204,206,207,215,216,229,230,231,232,237],[74,138,146,150,153,155,156,157,169,245]],"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":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"2a2de5b9459b3fc44decd9ce6100b72f1b002ef523126c1d3d8b2a4a63d74d78","affectsGlobalScope":true,"impliedFormat":1},{"version":"f13f4b465c99041e912db5c44129a94588e1aafee35a50eab51044833f50b4ee","affectsGlobalScope":true,"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":"01a30f9e8582b369075c0808df71121e6855cb06fd8d3d39511d9ebb66405205","impliedFormat":1},{"version":"06e3663cd29804acd95d9e181b7c142e4a33516456160e34538711273e377e8b","signature":"d27809bc2381a5a23bc4007cb33a4c0c042b11a2a056803de0764ec1141c16e4","impliedFormat":99},{"version":"94f0fe7b5d334d6bb93ab88c1aeb6275782b75f3d8031071bdf7688ceff0b1e2","signature":"a9f7f2a340ef8d7b5982af1776cf0ac233504d970272ffd48b4b2e7d81b3d907","impliedFormat":99},{"version":"eb930d2482bd384a61337b8d1e5a1d08fde1e0cca7fd525faf05f452fef48d26","signature":"66afb5ec408f758e329718dad7bdfcebe480c6249f6c2883676a39f0f8ffb0c6","impliedFormat":99},{"version":"1dda96b4029f6e7615ee44b40145588dd6f98a4cfa6943a0ac4f504cf9b5e1d8","signature":"c650bc675cf9a7ef004e2aac9a62ac241445c93ad529044491b7a095c1b522e9","impliedFormat":99},{"version":"b9db56126353bc2fd69a9235b60e2278603daeaa0d43821ac00980b01c333679","signature":"7d302ca88c301b0bb2ec4bb2a6e354bf49887cd0743bfbefb68acf098e0b4a43","impliedFormat":99},{"version":"4b42c09f20ea9d0c7aa887436258d109b397e21312c3c92b63d24263afd0c4e1","signature":"5d534f682dabebb325a6dbbf9da9af3ecaf890ddbcf69e6624df052534278236","impliedFormat":99},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc2110f7decca6bfb9392e30421cfa1436479e4a6756e8fec6cbc22625d4f881","affectsGlobalScope":true,"impliedFormat":1},{"version":"096116f8fedc1765d5bd6ef360c257b4a9048e5415054b3bf3c41b07f8951b0b","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":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"10ec5e82144dfac6f04fa5d1d6c11763b3e4dbbac6d99101427219ab3e2ae887","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"14e9acf826baba0ef4b5665704084896e7bcc06f65a9ab13af7e93d27d6b7069","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"21adf13435b9b748529c8cedf80f884e5130b9684188120a686cd2b26a2059c7","impliedFormat":1},{"version":"eec76bf6b9346f3f95fa402621b889489e96930e72295b0369022f332e9b4a6a","impliedFormat":1},{"version":"0ecd58f413f9bc3b7d4383eae31b0c8fc576985cd7404d6f99f8c643543ade74","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"9c32412007b5662fd34a8eb04292fb5314ec370d7016d1c2fb8aa193c807fe22","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"6ebe8ebb8659aaa9d1acbf3710d7dae3e923e97610238b9511c25dc39023a166","impliedFormat":1},{"version":"e85d7f8068f6a26710bff0cc8c0fc5e47f71089c3780fbede05857331d2ddec9","impliedFormat":1},{"version":"7befaf0e76b5671be1d47b77fcc65f2b0aad91cc26529df1904f4a7c46d216e9","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"d33ce35e3f9cfcc1d94eca415bdd3bde94d5b153ffdd33e6c4455c029986c630","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"4dc59f6e1dbf3d5f66660fceabe6c174d3261b37b696ae1854f0dbaf255fc753","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","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":"114f493b30f364255290472111b5a4791d5902c308645670cd0401429cbc6930","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":"7a93de4ff8a63bafe62ba86b89af1df0ccb5e40bb85b0c67d6bbcfdcf96bf3d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"d2ae155afe8a01cc0ae612d99117cf8ef16692ba7c4366590156fdec1bcf2d8c","impliedFormat":1},{"version":"3f5e5d9be35913db9fea42a63f3df0b7e3c8703b97670a2125587b4dbbd56d7c","impliedFormat":1},{"version":"c8b8968311ec4e5e97b7b5fb8a65efaba455db9bdcfd7fff7fb15f6e317bfba0","impliedFormat":1},{"version":"57c23df0b5f7a8e26363a3849b0bc7763f6b241207157c8e40089d1df4116f35","affectsGlobalScope":true,"impliedFormat":1},{"version":"3b8bc0c17b54081b0878673989216229e575d67a10874e84566a21025a2461ee","impliedFormat":1},{"version":"5b0db5a58b73498792a29bfebc333438e61906fef75da898b410e24e52229e6f","impliedFormat":1},{"version":"dbe055b2b29a7bab2c1ca8f259436306adb43f469dca7e639a02cd3695d3f621","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"aecbf1d9e6a18dab7d92ef8a89a1444b47e1eb6134cb2bb776a26d55ff58c29a","impliedFormat":1},{"version":"2ea729503db9793f2691162fec3dd1118cab62e96d025f8eeb376d43ec293395","impliedFormat":1},{"version":"9ec87fea42b92894b0f209931a880789d43c3397d09dd99c631ae40a2f7071d1","impliedFormat":1},{"version":"c68e88cdfadfb6c8ba5fc38e58a3a166b0beae77b1f05b7d921150a32a5ffb8d","impliedFormat":1},{"version":"2bc7aa4fba46df0bd495425a7c8201437a7d465f83854fac859df2d67f664df3","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"1fede9296beac11ce8e6b425396a1791f64341f2be85deebb6286faf6e16306e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce697b6a251d9cad53998c7fd3098072df883b525ec45d83530e434dc6d80dc6","impliedFormat":1},{"version":"719412f054e6ecc35489462c9a21bab0323d173a7d04e55b0ace4b5d86fbeb07","impliedFormat":1},{"version":"0eb5d0cbf09de5d34542b977fd6a933bb2e0817bffe8e1a541b2f1ad1b9af1ff","impliedFormat":1},{"version":"fac3e88881b35d3a757ed891ac912b2674792c25e2a1a74e1f5fbc72d19a9792","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"c32c840c62d8bd7aeb3147aa6754cd2d922b990a6b6634530cb2ebdce5adc8e9","impliedFormat":1},{"version":"5ff4433a2deae4f85ab1377e90a7554ce6b47ae51c69a84ca30a6e22fae85834","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"c1fa52b3d014001e8662fa2669d90ea15373958a288e3b83a3b621733d25292a","affectsGlobalScope":true,"impliedFormat":1},{"version":"cbed824fec91efefc7bbdcb8b43d1a531fdbebd0e2ef19481501ff365a93cb70","impliedFormat":1},{"version":"d0716593b3f2b0451bcf0c24cfa86dec2235c325c89f201934248b7c742715fc","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"2991bca2cc0f0628a278df2a2ccdb8d6cbcb700f3761abbed62bba137d5b1790","impliedFormat":1},{"version":"5e66972e83eb4dc7123939bf816e6cbd9ad81af5552db1cab84e6bd9c64d2ecc","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"8413d0641f293aed551c7464615b770d34a02dedede889b9591172287d68e773","impliedFormat":1},{"version":"0ea59f7d3e51440baa64f429253759b106cfcbaf51e474cae606e02265b37cf8","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"1b241e24f3227d078c06aeda6e050187ad59a4e591f4467abed44d92b084e08d","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"7fde0e1be5c8be204ffbf428abfcf01da2eb0f130e1bc3f539eb7275f4fd1f58","impliedFormat":1},{"version":"e284328553df5f425a5d33d36a0c3fa66b46af9d097cad6f4d2e8696dfdeb0f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"f36b3fbe2be150a9ca140da48593f21e6a8172004f92ddc549b43efec39f3e54","impliedFormat":1},{"version":"f1c93e046fb3d9b7f8249629f4b63dc068dd839b824dd0aa39a5e68476dc9420","impliedFormat":1},{"version":"016b29bf4926b80255a108c53a1451717350059da04fcae64d1075f5e93bbb39","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"1c4f139ade4f6ebf45463505f8155173e5d7a5305e50e0aae0a5e712d6ff3b48","impliedFormat":1},{"version":"e16b319e5aca1031168de823c4946ff8e29629c4c8cc0ec0fcfe2a8ab2155043","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"9d3821bc75c59577e52643324cec92fc2145642e8d17cf7ee07a3181f21d985d","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"201db9cf1687fab1adf5282fcba861f382b32303dc4f67c89d59655e78a25461","impliedFormat":1},{"version":"2c3c5c0f54055e87640f5d233716fd889f3034fc7911d603b642369b0dbeb2a7","impliedFormat":1},{"version":"0a20eaf2e4b1e3c1e1f87f7bccb0c936375b23b022baeea750519b7c9bc6ce83","impliedFormat":1},{"version":"b484ec11ba00e3a2235562a41898d55372ccabe607986c6fa4f4aba72093749f","impliedFormat":1},{"version":"a16b91b27bd6b706c687c88cbc8a7d4ee98e5ed6043026d6b84bda923c0aed67","impliedFormat":1},{"version":"1c9e5b1a17b1fc9b3711fb36e0690421261ab2880f15b145155b5b2ba2ab6c2d","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"6eeded8c7e352be6e0efb83f4935ec752513c4d22043b52522b90849a49a3a11","impliedFormat":1},{"version":"6c1ad90050ffbb151cacc68e2d06ea1a26a945659391e32651f5d42b86fd7f2c","impliedFormat":1},{"version":"afa1c49f8e559e413d57343339db857d2a8159435cf9cf7d4deb41718fff1b88","impliedFormat":1},{"version":"6953d7597831d0860c7034cf4f0419687d263b6b98a4b32e37ce6d49615c36e2","impliedFormat":1},{"version":"3a582c6e8906f5b094ccf0de6cc6f4f8a54b05a34f52517aba5c9c7f704f6b28","impliedFormat":99},{"version":"0528f6d21f7a02d4092895090d2dd86104bd5a3e79eced96d5a1a7dd90943d17","impliedFormat":99},{"version":"b5ce343886d23392be9c8280e9f24a87f1d7d3667f6672c2fe4aa61fa4ece7d4","impliedFormat":99},{"version":"72ce5b734c05da85c85a6f6dc05823b051d6aa41acaedeeb1d17c72f3b4efa72","impliedFormat":99},{"version":"b0857bb28fd5236ace84280f79a25093f919fd0eff13e47cc26ea03de60a7294","impliedFormat":99},{"version":"5e43e0824f10cd8c48e7a8c5c673638488925a12c31f0f9e0957965c290eb14c","impliedFormat":99},{"version":"ef13c73d6157a32933c612d476c1524dd674cf5b9a88571d7d6a0d147544d529","impliedFormat":99},{"version":"49ab4f1d153a252779958fc87b700743d32b5ffa42addd70ae23ad3f429daa5c","impliedFormat":99},{"version":"53cf4076f42b29b8d411259d168d51b3a0274c42c8814e5b44dfa8803a35d4fc","impliedFormat":99},{"version":"a39461ee1f27cf3e6cfd63d21045713d26d521da55ea4d8efccb705f689e6dbb","impliedFormat":99},{"version":"61bb64660ee150f3ab618340e15cca0a81664801bede7c966ca0eca3a952fe63","impliedFormat":99},{"version":"3b89216a7e38a454985ad17bb2ff85792837dc812f2a89fa5f60ad0a2e216fa7","impliedFormat":99},{"version":"16fe60bb544cfedfd2b5bb2f7d0b3957be7978706d57d9f06edc9c0c8dbdba23","impliedFormat":99},{"version":"de4a612aa8f1704af486f701e21993c786ba7d8cfed55fffa6684026aea2346e","impliedFormat":99},{"version":"4e003c868b0d8f8ad200b96cbc653e18e513fa23e1c19c4fe3cc25d4394efc47","impliedFormat":99},{"version":"8887e70871f697fa42ad7cdf32168db60ec2d6760c173c97973e35377fe5d83b","impliedFormat":99},{"version":"42a12f2faa483c9b48195ed794d22698162274e755f6e07219c2351c4f08d732","impliedFormat":99},{"version":"ec0c42bb0f465e4993f2bc68a6ce9df9a2dcbc7b83e21748f82f1b69561938e3","impliedFormat":99},{"version":"f50ff37a9cbbe74475f426474d9827083c7c2c138a954d28f1690df338f69291","impliedFormat":99},{"version":"61fd6c17235d530c40f543dd7c40afab091d91c1ef890baeed30db6d82b04b28","impliedFormat":99},{"version":"bcbd3becd08b4515225880abea0dbfbbf0d1181ce3af8f18f72f61edbe4febfb","impliedFormat":99},{"version":"091767bc841f937654ed597d49e023ed59850355e746ae1a6f20ab31076ee1fb","impliedFormat":99},{"version":"19c6d6135af59693698d384050b45a8a049493500add442f58e4bd7c8a255ab6","impliedFormat":99},{"version":"6a0dba12d55314638a8c51108b20fe2f68f1364a619d098918bda91c22dec154","impliedFormat":99},{"version":"c76c02846ba7d40b9b3488f0e8d75d02cbdee2f0bc5fcd55dd3bd2e1457646ea","impliedFormat":99},{"version":"4ead13a482c539b77394b2a97e3b877b809eac596390371cea490286f53b996a","impliedFormat":99},{"version":"06db2f8ba1d1dfacf04529cb731081ab23f133f29c7608ebdfbcab356996827c","impliedFormat":99},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"5c935b7fc4ddc1410ea1cd7cd4e35ed106a6e4920dd27a9480a40fd224359dc3","affectsGlobalScope":true,"impliedFormat":99},{"version":"2b39c6cf59088713babbfc3e20ee85f1375d40e66953156fa658346b8346f24f","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"6987dfb4b0c4e02112cc4e548e7a77b3d9ddfeffa8c8a2db13ceac361a4567d9","impliedFormat":99},{"version":"4ffba3c5848b4fe62ee59b754fd5f256ad9656a0db6d37b9a2a8cb40dfc7ac21","impliedFormat":99},{"version":"c76c02846ba7d40b9b3488f0e8d75d02cbdee2f0bc5fcd55dd3bd2e1457646ea","impliedFormat":99},{"version":"5e2ba3d18d78aebbde1f34bde356e41e9c76eeaeaeee56a37036596a9eff4211","impliedFormat":99},{"version":"8280ae8ccc0493b32d1742d585357ab9f0a508ea050af25a5a20d64010d0a5cf","impliedFormat":99},{"version":"7adfd9f9056ecd4ae6c65fde2a98654960c662714c73f048478959d04c09e144","impliedFormat":99},{"version":"32b35cf0dc3a1b1a7118b61c34ce2ad1a29695851679f9ec34e0776f2ece2a69","impliedFormat":99},{"version":"b413fbc6658fe2774f8bf9a15cf4c53e586fc38a2d5256b3b9647da242c14389","impliedFormat":99},{"version":"59e5e964b84fdb2378e9455e4e59405030e4ed2b4c6f891ce395f17796af3cbb","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"64db14db2bf37ac089766fdb3c7e1160fabc10e9929bc2deeede7237e4419fc8","impliedFormat":1},{"version":"98b94085c9f78eba36d3d2314affe973e8994f99864b8708122750788825c771","impliedFormat":1},{"version":"90ba95a763101bb61b8a799731a2ed60b5016b8135c1a2d5186862d4b534d4a1","impliedFormat":99},{"version":"8d7cbeea0454e05a3cdf3370c5df267072c4f1dc6c48a45a9ad750d7890443d7","affectsGlobalScope":true,"impliedFormat":99}],"root":[[66,71]],"options":{"composite":true,"declaration":true,"declarationDir":"./@types","declarationMap":true,"emitDeclarationOnly":true,"erasableSyntaxOnly":true,"esModuleInterop":true,"module":199,"noUncheckedSideEffectImports":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo","verbatimModuleSyntax":true},"referencedMap":[[68,1],[69,2],[66,3],[67,3],[71,4],[70,5],[224,3],[227,6],[225,3],[135,7],[136,7],[137,8],[74,9],[138,10],[139,11],[140,12],[72,3],[141,13],[142,14],[143,15],[144,16],[145,17],[146,18],[147,18],[148,19],[149,20],[150,21],[151,22],[75,3],[73,3],[152,23],[153,24],[154,25],[196,26],[155,27],[156,28],[157,27],[158,29],[159,30],[160,31],[161,32],[162,32],[163,32],[164,33],[165,34],[166,35],[167,36],[168,37],[169,38],[170,38],[171,39],[172,3],[173,3],[174,40],[175,41],[176,42],[177,40],[178,43],[179,44],[180,45],[181,46],[182,47],[183,48],[184,49],[185,50],[186,51],[187,52],[188,53],[189,54],[190,55],[191,56],[192,57],[76,27],[77,3],[78,58],[79,59],[80,3],[81,60],[82,3],[126,61],[127,62],[128,63],[129,63],[130,64],[131,3],[132,10],[133,65],[134,62],[193,66],[194,67],[195,68],[228,69],[235,70],[236,71],[234,3],[197,3],[206,72],[205,73],[229,72],[213,74],[215,75],[214,76],[222,77],[221,3],[204,78],[198,79],[200,80],[202,81],[201,3],[203,79],[199,3],[226,3],[242,82],[244,83],[243,84],[241,85],[240,3],[230,3],[223,3],[63,3],[64,3],[12,3],[10,3],[11,3],[16,3],[15,3],[2,3],[17,3],[18,3],[19,3],[20,3],[21,3],[22,3],[23,3],[24,3],[3,3],[25,3],[26,3],[4,3],[27,3],[31,3],[28,3],[29,3],[30,3],[32,3],[33,3],[34,3],[5,3],[35,3],[36,3],[37,3],[38,3],[6,3],[42,3],[39,3],[40,3],[41,3],[43,3],[7,3],[44,3],[49,3],[50,3],[45,3],[46,3],[47,3],[48,3],[8,3],[54,3],[51,3],[52,3],[53,3],[55,3],[9,3],[56,3],[65,3],[57,3],[58,3],[60,3],[59,3],[61,3],[1,3],[62,3],[14,3],[13,3],[101,86],[114,87],[98,88],[115,89],[124,90],[89,91],[90,92],[88,93],[123,94],[118,95],[122,96],[92,97],[111,98],[91,99],[121,100],[86,101],[87,95],[93,102],[94,3],[100,103],[97,102],[84,104],[125,105],[116,106],[104,107],[103,102],[105,108],[108,109],[102,110],[106,111],[119,94],[95,112],[96,113],[109,114],[85,89],[113,115],[112,102],[99,113],[107,116],[110,117],[117,3],[83,3],[120,118],[209,119],[212,120],[210,119],[208,3],[211,121],[231,122],[220,123],[216,124],[217,74],[238,125],[232,126],[218,127],[237,128],[207,3],[219,129],[245,130],[239,131],[246,132],[233,3]],"latestChangedDtsFile":"./@types/receiver/index.d.ts","version":"6.0.3"}
|
|
@@ -46,9 +46,9 @@ export type RetryProfile = {
|
|
|
46
46
|
*
|
|
47
47
|
* The envelope is:
|
|
48
48
|
*
|
|
49
|
-
* ttl = (
|
|
49
|
+
* ttl = (backoff_sum + (maxRetries + 1) * timeoutMs) * safetyFactor
|
|
50
50
|
*
|
|
51
|
-
* where `
|
|
51
|
+
* where `backoff_sum` is the sum of per-retry delays from the chosen
|
|
52
52
|
* `strategy`, multiplied by 1.5 if `jitter` is enabled (the
|
|
53
53
|
* worst-case multiplier in `[0.5, 1.5)`). `safetyFactor` defaults
|
|
54
54
|
* to 4 because operators almost always want headroom over the bare
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* @module act-ops/receiver
|
|
4
|
+
*
|
|
5
|
+
* Generic inbound-receiver port. Transport-agnostic — the same
|
|
6
|
+
* `Receiver` interface fits HTTP webhooks (shipped today), bus
|
|
7
|
+
* consumers (Kafka/SQS/NATS/RabbitMQ — future tickets), CDC streams,
|
|
8
|
+
* WebSocket subscribers, scheduled pollers, and any other "external
|
|
9
|
+
* events arrive into this Act app" pattern.
|
|
10
|
+
*
|
|
11
|
+
* Operators who pick act-ops get the opinionated path: pick a
|
|
12
|
+
* transport adapter (today: `@rotorsoft/act-http/receiver` for HTTP
|
|
13
|
+
* webhooks), register typed handlers fluently with Zod schemas,
|
|
14
|
+
* `.build()` to finalize, then `.listen()` (Node server) or
|
|
15
|
+
* `.fetch(request)` (Lambda / edge).
|
|
16
|
+
*
|
|
17
|
+
* ```ts
|
|
18
|
+
* import { webhookReceiver } from "@rotorsoft/act-http/receiver";
|
|
19
|
+
* import { InMemoryIdempotencyStore } from "@rotorsoft/act-ops/idempotency";
|
|
20
|
+
* import { z } from "zod";
|
|
21
|
+
*
|
|
22
|
+
* const receiver = webhookReceiver({
|
|
23
|
+
* port: 4001,
|
|
24
|
+
* store: new InMemoryIdempotencyStore(),
|
|
25
|
+
* secret: process.env.WEBHOOK_SECRET,
|
|
26
|
+
* })
|
|
27
|
+
* .on("OrderConfirmed", z.object({ orderId: z.string() }), async (event, ctx) => {
|
|
28
|
+
* // event is typed; ctx.key is the dedup key
|
|
29
|
+
* })
|
|
30
|
+
* .build();
|
|
31
|
+
*
|
|
32
|
+
* await receiver.listen();
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* Matches Act's builder pattern: the factory returns a
|
|
36
|
+
* {@link ReceiverBuilder} that collects handlers; `.build()`
|
|
37
|
+
* finalizes and produces an immutable {@link Receiver} with only
|
|
38
|
+
* runtime methods. You can't accidentally register a handler on a
|
|
39
|
+
* running receiver — the lifecycle phases are split at the type
|
|
40
|
+
* level.
|
|
41
|
+
*
|
|
42
|
+
* For operators who want fine control — custom path routing, auth
|
|
43
|
+
* middleware composition, non-standard HTTP server lifecycle — the
|
|
44
|
+
* lower-level `webhookMiddleware` factory in
|
|
45
|
+
* `@rotorsoft/act-http/receiver/<framework>` stays available as the
|
|
46
|
+
* escape hatch.
|
|
47
|
+
*/
|
|
48
|
+
export type { Receiver, ReceiverBuilder, ReceiverContext, ReceiverOptions, Validator, } from "./port.js";
|
|
49
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/receiver/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,YAAY,EACV,QAAQ,EACR,eAAe,EACf,eAAe,EACf,eAAe,EACf,SAAS,GACV,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import type { IdempotencyStore } from "../idempotency/port.js";
|
|
2
|
+
/**
|
|
3
|
+
* Context passed to every handler after the receiver has verified
|
|
4
|
+
* the inbound request (when configured) and claimed the
|
|
5
|
+
* `Idempotency-Key` (or the transport's native message identifier)
|
|
6
|
+
* on the configured store.
|
|
7
|
+
*/
|
|
8
|
+
export type ReceiverContext = {
|
|
9
|
+
/** The deduplicated identity of the inbound event. */
|
|
10
|
+
readonly key: string;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Zod-compatible schema shape, typed structurally so this package
|
|
14
|
+
* doesn't import Zod directly. Any `z.object(...)` (or anything with
|
|
15
|
+
* a `parse(input): T` method) satisfies the shape.
|
|
16
|
+
*/
|
|
17
|
+
export type Validator<T> = {
|
|
18
|
+
parse(input: unknown): T;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Generic inbound-receiver port — the runtime artifact produced by
|
|
22
|
+
* {@link ReceiverBuilder.build}. Transport-agnostic: the same shape
|
|
23
|
+
* fits HTTP webhooks, message-bus consumers (Kafka/SQS/NATS/Rabbit),
|
|
24
|
+
* CDC streams, WebSocket subscribers, scheduled pollers, and any
|
|
25
|
+
* other "external events arrive into this Act app" pattern.
|
|
26
|
+
*
|
|
27
|
+
* Adapters in `@rotorsoft/act-http/receiver` implement the HTTP
|
|
28
|
+
* flavor today; bus consumers and other transport adapters
|
|
29
|
+
* implement the same port in their own packages without redesigning
|
|
30
|
+
* the contract.
|
|
31
|
+
*
|
|
32
|
+
* Two deployment modes:
|
|
33
|
+
*
|
|
34
|
+
* - **Long-running server** — {@link listen} binds to a port (HTTP),
|
|
35
|
+
* a topic (bus), a path (WebSocket), etc.
|
|
36
|
+
* - **Request-response (Lambda / edge / serverless)** —
|
|
37
|
+
* {@link fetch} handles one request and returns the response.
|
|
38
|
+
* Available on the HTTP adapter; bus consumers and other
|
|
39
|
+
* non-fetch transports throw.
|
|
40
|
+
*/
|
|
41
|
+
export type Receiver = {
|
|
42
|
+
/**
|
|
43
|
+
* Bind and start accepting inbound events. Resolves once the
|
|
44
|
+
* transport is ready (server listening, consumer subscribed, etc.).
|
|
45
|
+
*/
|
|
46
|
+
listen(): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Stop gracefully. Resolves when the transport has shut down.
|
|
49
|
+
* No-op if never started.
|
|
50
|
+
*/
|
|
51
|
+
close(): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* Handle a single fetch-shaped request. Available on the HTTP
|
|
54
|
+
* adapter for Lambda / Cloudflare Workers / Vercel Edge / Bun /
|
|
55
|
+
* Deno. Bus consumers and other non-fetch transports throw.
|
|
56
|
+
*/
|
|
57
|
+
fetch(request: Request): Promise<Response>;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Fluent builder for a {@link Receiver}. Matches Act's builder
|
|
61
|
+
* pattern: factories return a builder, builder methods register
|
|
62
|
+
* configuration, `.build()` finalizes and produces the immutable
|
|
63
|
+
* runtime artifact.
|
|
64
|
+
*
|
|
65
|
+
* The type-level split between builder (`on`, `build`) and receiver
|
|
66
|
+
* (`listen`, `close`, `fetch`) means operators can't accidentally
|
|
67
|
+
* call `.on()` on a running receiver — registration and runtime
|
|
68
|
+
* are different lifecycle phases enforced at compile time.
|
|
69
|
+
*/
|
|
70
|
+
export type ReceiverBuilder = {
|
|
71
|
+
/**
|
|
72
|
+
* Register a typed handler for a named event. The receiver
|
|
73
|
+
* validates the inbound body (or the transport's payload shape)
|
|
74
|
+
* with `schema` before calling `handler` — so the handler sees a
|
|
75
|
+
* fully-typed event, never raw bytes. Returns `this` for fluent
|
|
76
|
+
* chaining.
|
|
77
|
+
*
|
|
78
|
+
* For the HTTP adapter, handlers are mounted at `POST /<name>`.
|
|
79
|
+
* Bus adapters dispatch based on a topic-encoded name; the
|
|
80
|
+
* convention is per-transport.
|
|
81
|
+
*/
|
|
82
|
+
on<T>(name: string, schema: Validator<T>, handler: (event: T, ctx: ReceiverContext) => Promise<void>): ReceiverBuilder;
|
|
83
|
+
/**
|
|
84
|
+
* Finalize the configuration and produce the runtime
|
|
85
|
+
* {@link Receiver}. After `.build()`, no more handlers can be
|
|
86
|
+
* registered.
|
|
87
|
+
*/
|
|
88
|
+
build(): Receiver;
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Options for HTTP {@link Receiver} adapters. Transport-specific
|
|
92
|
+
* adapters (bus consumers, WebSocket subscribers) define their own
|
|
93
|
+
* options types — only the {@link Receiver} port and the
|
|
94
|
+
* {@link ReceiverBuilder} contract stay the same across transports.
|
|
95
|
+
*/
|
|
96
|
+
export type ReceiverOptions = {
|
|
97
|
+
/**
|
|
98
|
+
* Port to bind when calling {@link Receiver.listen}. Ignored when
|
|
99
|
+
* the receiver is used in fetch-style mode (Lambda / edge).
|
|
100
|
+
*/
|
|
101
|
+
readonly port: number;
|
|
102
|
+
/**
|
|
103
|
+
* Idempotency store the receiver claims keys on. Match the
|
|
104
|
+
* sender's retry envelope when sizing.
|
|
105
|
+
* `InMemoryIdempotencyStore` from
|
|
106
|
+
* `@rotorsoft/act-ops/idempotency` is the default single-process
|
|
107
|
+
* choice.
|
|
108
|
+
*/
|
|
109
|
+
readonly store: IdempotencyStore;
|
|
110
|
+
/**
|
|
111
|
+
* HMAC-SHA256 shared secret. When set, the HTTP adapter verifies
|
|
112
|
+
* the `X-Webhook-Signature` and `X-Webhook-Timestamp` headers
|
|
113
|
+
* against the raw request body. Pair with `webhook({ secret })`
|
|
114
|
+
* on the sender side. When undefined, signature verification is
|
|
115
|
+
* skipped.
|
|
116
|
+
*
|
|
117
|
+
* Transport-specific adapters interpret this field according to
|
|
118
|
+
* their own authentication model.
|
|
119
|
+
*/
|
|
120
|
+
readonly secret?: string;
|
|
121
|
+
};
|
|
122
|
+
//# sourceMappingURL=port.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../../../src/receiver/port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,sDAAsD;IACtD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC;CAC1B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB;;;;OAIG;IACH,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC5C,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B;;;;;;;;;;OAUG;IACH,EAAE,CAAC,CAAC,EACF,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EACpB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GACzD,eAAe,CAAC;IACnB;;;;OAIG;IACH,KAAK,IAAI,QAAQ,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC;;;;;;;;;OASG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC"}
|
|
@@ -28,19 +28,19 @@ module.exports = __toCommonJS(idempotency_exports);
|
|
|
28
28
|
// src/idempotency/min-safe-ttl.ts
|
|
29
29
|
function minSafeTtl(profile) {
|
|
30
30
|
const safetyFactor = profile.safetyFactor ?? 4;
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
return (
|
|
31
|
+
const backoff_sum = sum_backoff(profile.maxRetries, profile.backoff);
|
|
32
|
+
const timeout_sum = (profile.maxRetries + 1) * profile.timeoutMs;
|
|
33
|
+
return (backoff_sum + timeout_sum) * safetyFactor;
|
|
34
34
|
}
|
|
35
|
-
function
|
|
35
|
+
function sum_backoff(maxRetries, backoff) {
|
|
36
36
|
if (!backoff) return 0;
|
|
37
37
|
let sum = 0;
|
|
38
38
|
for (let retry = 0; retry < maxRetries; retry++) {
|
|
39
|
-
sum +=
|
|
39
|
+
sum += delay_for(retry, backoff);
|
|
40
40
|
}
|
|
41
41
|
return backoff.jitter ? sum * 1.5 : sum;
|
|
42
42
|
}
|
|
43
|
-
function
|
|
43
|
+
function delay_for(retry, backoff) {
|
|
44
44
|
switch (backoff.strategy) {
|
|
45
45
|
case "fixed":
|
|
46
46
|
return backoff.baseMs;
|
|
@@ -82,8 +82,8 @@ var InMemoryIdempotencyStore = class {
|
|
|
82
82
|
this._seen.clear();
|
|
83
83
|
}
|
|
84
84
|
_gc(now) {
|
|
85
|
-
for (const [key,
|
|
86
|
-
if (
|
|
85
|
+
for (const [key, expires_at] of this._seen) {
|
|
86
|
+
if (expires_at > now) break;
|
|
87
87
|
this._seen.delete(key);
|
|
88
88
|
}
|
|
89
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/idempotency/index.ts","../../src/idempotency/min-safe-ttl.ts","../../src/idempotency/in-memory.ts"],"sourcesContent":["/**\n * @packageDocumentation\n * @module act-ops/idempotency\n *\n * Receiver-side idempotency primitives.\n *\n * - {@link IdempotencyStore} — port: atomically claim a key, report\n * whether the caller is processing a fresh request or a duplicate.\n * - {@link InMemoryIdempotencyStore} — bounded LRU + TTL reference\n * implementation. Swap for a durable adapter (Postgres unique\n * index, Redis `SET NX`) in multi-process receivers without\n * changing the call site.\n * - {@link minSafeTtl} — derives the minimum safe dedup window from\n * the sender's retry profile. The math durable adapters and\n * `InMemoryIdempotencyStore`'s `retryProfile` option both call.\n * - {@link RetryProfile} — the sender's retry shape, used as input\n * to `minSafeTtl` and as the `retryProfile` option on the store.\n *\n * Sibling subpaths (e.g. `@rotorsoft/act-ops/poison`,\n * `@rotorsoft/act-ops/retry`) will host future operational primitives\n * as they land. Each subpath is its own ESM/CJS entry — pay for what\n * you import.\n *\n * The package has no runtime or peer dependency on `@rotorsoft/act`,\n * so non-Act receivers (forwarded-bus consumers, framework-agnostic\n * HTTP endpoints) can install `@rotorsoft/act-ops` and honor an\n * `Idempotency-Key` without pulling in the orchestrator.\n */\n\nexport {\n InMemoryIdempotencyStore,\n type InMemoryIdempotencyStoreOptions,\n} from \"./in-memory.js\";\nexport { minSafeTtl, type RetryProfile } from \"./min-safe-ttl.js\";\nexport type { IdempotencyStore } from \"./port.js\";\n","/**\n * @module act-ops/idempotency/min-safe-ttl\n *\n * Internal math for sizing the dedup window of an\n * {@link IdempotencyStore} from a sender's retry profile.\n *\n * **Not re-exported from the package root** by design — the math is\n * an implementation detail of {@link InMemoryIdempotencyStore} (and\n * any future durable adapter). Operators configure dedup windows\n * through the store's `retryProfile` option, not by calling this\n * function directly. Tests import it from this path; external\n * consumers can't reach it.\n */\n\n/**\n * A sender's retry behaviour, described in enough detail to size a\n * receiver-side dedup window correctly. The `backoff` shape is typed\n * inline structurally so it's assignable from `@rotorsoft/act`'s\n * `BackoffOptions` without this package importing the framework\n * (the zero-act-dep load-bearing constraint of `@rotorsoft/act-ops`).\n * A caller holding `act.BackoffOptions` can pass it as `backoff`\n * with no cast — TypeScript treats the two shapes as equivalent.\n *\n * @property maxRetries - Retries after the first attempt fails\n * @property backoff - Optional backoff strategy. When omitted,\n * retries fire back-to-back with only the per-attempt timeout\n * between them\n * @property timeoutMs - Per-attempt timeout (the sender's `fetch`\n * timeout, or the equivalent for whatever transport)\n * @property safetyFactor - Multiplier applied to the bare envelope.\n * Default 4\n */\nexport type RetryProfile = {\n readonly maxRetries: number;\n readonly backoff?: {\n readonly strategy: \"fixed\" | \"linear\" | \"exponential\";\n readonly baseMs: number;\n readonly maxMs?: number;\n readonly jitter?: boolean;\n };\n readonly timeoutMs: number;\n readonly safetyFactor?: number;\n};\n\n/**\n * Minimum safe TTL in milliseconds for a receiver-side\n * {@link IdempotencyStore} window, given the sender's retry profile.\n *\n * The envelope is:\n *\n * ttl = (backoffSum + (maxRetries + 1) * timeoutMs) * safetyFactor\n *\n * where `backoffSum` is the sum of per-retry delays from the chosen\n * `strategy`, multiplied by 1.5 if `jitter` is enabled (the\n * worst-case multiplier in `[0.5, 1.5)`). `safetyFactor` defaults\n * to 4 because operators almost always want headroom over the bare\n * envelope — slow networks, clock skew, and incident-window retries\n * stretch the real-world maximum past the computed one.\n */\nexport function minSafeTtl(profile: RetryProfile): number {\n const safetyFactor = profile.safetyFactor ?? 4;\n const backoffSum = sumBackoff(profile.maxRetries, profile.backoff);\n const timeoutSum = (profile.maxRetries + 1) * profile.timeoutMs;\n return (backoffSum + timeoutSum) * safetyFactor;\n}\n\nfunction sumBackoff(\n maxRetries: number,\n backoff: RetryProfile[\"backoff\"]\n): number {\n if (!backoff) return 0;\n let sum = 0;\n for (let retry = 0; retry < maxRetries; retry++) {\n sum += delayFor(retry, backoff);\n }\n return backoff.jitter ? sum * 1.5 : sum;\n}\n\nfunction delayFor(\n retry: number,\n backoff: NonNullable<RetryProfile[\"backoff\"]>\n): number {\n switch (backoff.strategy) {\n case \"fixed\":\n return backoff.baseMs;\n case \"linear\":\n return backoff.baseMs * (retry + 1);\n case \"exponential\": {\n const raw = backoff.baseMs * 2 ** retry;\n return backoff.maxMs !== undefined ? Math.min(raw, backoff.maxMs) : raw;\n }\n }\n}\n","import { minSafeTtl, type RetryProfile } from \"./min-safe-ttl.js\";\nimport type { IdempotencyStore } from \"./port.js\";\n\n/**\n * Options for {@link InMemoryIdempotencyStore}. Defaults are sized\n * for a single-process receiver paired with a sender using the\n * standard `webhook` backoff envelope (`exponential` up to\n * `maxMs: 30_000`, `maxRetries: 5`).\n *\n * The dedup window is set in one of two ways:\n *\n * - {@link ttlMs} — pass a number directly when you've already\n * computed the window, or just want the 24-hour default that\n * covers any reasonable sender retry envelope.\n * - {@link retryProfile} — pass the sender's retry profile and the\n * store derives the minimum safe window for you. The math\n * (per-retry backoff sums, per-attempt timeouts, jitter\n * worst-case 1.5×, default 4× safety factor) is hidden inside the\n * store — see [external integration](https://rotorsoft.github.io/act-root/docs/guides/external-integration#ttl-sizing)\n * for the math explained.\n *\n * When both are supplied, {@link ttlMs} wins — an explicit number\n * overrides a derived one.\n */\nexport type InMemoryIdempotencyStoreOptions = {\n /** Direct dedup window. Default: 24 hours. */\n ttlMs?: number;\n /** Sender's retry profile — used to derive `ttlMs` when not supplied. */\n retryProfile?: RetryProfile;\n /** Memory bound — oldest entries are evicted past this size. Default: 100,000. */\n maxEntries?: number;\n};\n\n/**\n * Bounded LRU + TTL implementation of {@link IdempotencyStore} for\n * single-process receivers (the wolfdesk demo, integration tests,\n * dev loops). Multi-process receivers should swap for a durable\n * adapter (Postgres unique index, Redis `SET NX`) — the\n * {@link IdempotencyStore} contract stays the same so the call site\n * doesn't change.\n *\n * Map iteration is insertion-ordered, so:\n * - The oldest entry sits at `keys().next().value` (cheapest to evict).\n * - GC walks until the first non-expired entry and stops.\n *\n * `claim` is sync; durable adapters return a `Promise<boolean>` —\n * both satisfy the union return type in the port.\n */\nexport class InMemoryIdempotencyStore implements IdempotencyStore {\n private readonly _seen = new Map<string, number>();\n private readonly _ttl_ms: number;\n private readonly _max_entries: number;\n\n constructor(options?: InMemoryIdempotencyStoreOptions) {\n this._ttl_ms =\n options?.ttlMs ??\n (options?.retryProfile !== undefined\n ? minSafeTtl(options.retryProfile)\n : 24 * 60 * 60 * 1000);\n this._max_entries = options?.maxEntries ?? 100_000;\n }\n\n claim(key: string, now: number = Date.now()): boolean {\n this._gc(now);\n if (this._seen.has(key)) return false;\n this._seen.set(key, now + this._ttl_ms);\n if (this._seen.size > this._max_entries) {\n // Safe by construction: `_seen.size > _max_entries >= 0` implies at\n // least one entry, so `.next().value` resolves to a string key.\n const oldest = this._seen.keys().next().value as string;\n this._seen.delete(oldest);\n }\n return true;\n }\n\n /** Number of entries currently tracked (post-GC at call time). */\n size(now: number = Date.now()): number {\n this._gc(now);\n return this._seen.size;\n }\n\n /** Drop every entry — test hook. */\n clear(): void {\n this._seen.clear();\n }\n\n private _gc(now: number): void {\n for (const [key, expiresAt] of this._seen) {\n if (expiresAt > now) break;\n this._seen.delete(key);\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AC2DO,SAAS,WAAW,SAA+B;AACxD,QAAM,eAAe,QAAQ,gBAAgB;AAC7C,QAAM,aAAa,WAAW,QAAQ,YAAY,QAAQ,OAAO;AACjE,QAAM,cAAc,QAAQ,aAAa,KAAK,QAAQ;AACtD,UAAQ,aAAa,cAAc;AACrC;AAEA,SAAS,WACP,YACA,SACQ;AACR,MAAI,CAAC,QAAS,QAAO;AACrB,MAAI,MAAM;AACV,WAAS,QAAQ,GAAG,QAAQ,YAAY,SAAS;AAC/C,WAAO,SAAS,OAAO,OAAO;AAAA,EAChC;AACA,SAAO,QAAQ,SAAS,MAAM,MAAM;AACtC;AAEA,SAAS,SACP,OACA,SACQ;AACR,UAAQ,QAAQ,UAAU;AAAA,IACxB,KAAK;AACH,aAAO,QAAQ;AAAA,IACjB,KAAK;AACH,aAAO,QAAQ,UAAU,QAAQ;AAAA,IACnC,KAAK,eAAe;AAClB,YAAM,MAAM,QAAQ,SAAS,KAAK;AAClC,aAAO,QAAQ,UAAU,SAAY,KAAK,IAAI,KAAK,QAAQ,KAAK,IAAI;AAAA,IACtE;AAAA,EACF;AACF;;;AC5CO,IAAM,2BAAN,MAA2D;AAAA,EAC/C,QAAQ,oBAAI,IAAoB;AAAA,EAChC;AAAA,EACA;AAAA,EAEjB,YAAY,SAA2C;AACrD,SAAK,UACH,SAAS,UACR,SAAS,iBAAiB,SACvB,WAAW,QAAQ,YAAY,IAC/B,KAAK,KAAK,KAAK;AACrB,SAAK,eAAe,SAAS,cAAc;AAAA,EAC7C;AAAA,EAEA,MAAM,KAAa,MAAc,KAAK,IAAI,GAAY;AACpD,SAAK,IAAI,GAAG;AACZ,QAAI,KAAK,MAAM,IAAI,GAAG,EAAG,QAAO;AAChC,SAAK,MAAM,IAAI,KAAK,MAAM,KAAK,OAAO;AACtC,QAAI,KAAK,MAAM,OAAO,KAAK,cAAc;AAGvC,YAAM,SAAS,KAAK,MAAM,KAAK,EAAE,KAAK,EAAE;AACxC,WAAK,MAAM,OAAO,MAAM;AAAA,IAC1B;AACA,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,KAAK,MAAc,KAAK,IAAI,GAAW;AACrC,SAAK,IAAI,GAAG;AACZ,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA;AAAA,EAGA,QAAc;AACZ,SAAK,MAAM,MAAM;AAAA,EACnB;AAAA,EAEQ,IAAI,KAAmB;AAC7B,eAAW,CAAC,KAAK,SAAS,KAAK,KAAK,OAAO;AACzC,UAAI,YAAY,IAAK;AACrB,WAAK,MAAM,OAAO,GAAG;AAAA,IACvB;AAAA,EACF;AACF;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/idempotency/index.ts","../../src/idempotency/min-safe-ttl.ts","../../src/idempotency/in-memory.ts"],"sourcesContent":["/**\n * @packageDocumentation\n * @module act-ops/idempotency\n *\n * Receiver-side idempotency primitives.\n *\n * - {@link IdempotencyStore} — port: atomically claim a key, report\n * whether the caller is processing a fresh request or a duplicate.\n * - {@link InMemoryIdempotencyStore} — bounded LRU + TTL reference\n * implementation. Swap for a durable adapter (Postgres unique\n * index, Redis `SET NX`) in multi-process receivers without\n * changing the call site.\n * - {@link minSafeTtl} — derives the minimum safe dedup window from\n * the sender's retry profile. The math durable adapters and\n * `InMemoryIdempotencyStore`'s `retryProfile` option both call.\n * - {@link RetryProfile} — the sender's retry shape, used as input\n * to `minSafeTtl` and as the `retryProfile` option on the store.\n *\n * Sibling subpaths (e.g. `@rotorsoft/act-ops/poison`,\n * `@rotorsoft/act-ops/retry`) will host future operational primitives\n * as they land. Each subpath is its own ESM/CJS entry — pay for what\n * you import.\n *\n * The package has no runtime or peer dependency on `@rotorsoft/act`,\n * so non-Act receivers (forwarded-bus consumers, framework-agnostic\n * HTTP endpoints) can install `@rotorsoft/act-ops` and honor an\n * `Idempotency-Key` without pulling in the orchestrator.\n */\n\nexport {\n InMemoryIdempotencyStore,\n type InMemoryIdempotencyStoreOptions,\n} from \"./in-memory.js\";\nexport { minSafeTtl, type RetryProfile } from \"./min-safe-ttl.js\";\nexport type { IdempotencyStore } from \"./port.js\";\n","/**\n * @module act-ops/idempotency/min-safe-ttl\n *\n * Internal math for sizing the dedup window of an\n * {@link IdempotencyStore} from a sender's retry profile.\n *\n * **Not re-exported from the package root** by design — the math is\n * an implementation detail of {@link InMemoryIdempotencyStore} (and\n * any future durable adapter). Operators configure dedup windows\n * through the store's `retryProfile` option, not by calling this\n * function directly. Tests import it from this path; external\n * consumers can't reach it.\n */\n\n/**\n * A sender's retry behaviour, described in enough detail to size a\n * receiver-side dedup window correctly. The `backoff` shape is typed\n * inline structurally so it's assignable from `@rotorsoft/act`'s\n * `BackoffOptions` without this package importing the framework\n * (the zero-act-dep load-bearing constraint of `@rotorsoft/act-ops`).\n * A caller holding `act.BackoffOptions` can pass it as `backoff`\n * with no cast — TypeScript treats the two shapes as equivalent.\n *\n * @property maxRetries - Retries after the first attempt fails\n * @property backoff - Optional backoff strategy. When omitted,\n * retries fire back-to-back with only the per-attempt timeout\n * between them\n * @property timeoutMs - Per-attempt timeout (the sender's `fetch`\n * timeout, or the equivalent for whatever transport)\n * @property safetyFactor - Multiplier applied to the bare envelope.\n * Default 4\n */\nexport type RetryProfile = {\n readonly maxRetries: number;\n readonly backoff?: {\n readonly strategy: \"fixed\" | \"linear\" | \"exponential\";\n readonly baseMs: number;\n readonly maxMs?: number;\n readonly jitter?: boolean;\n };\n readonly timeoutMs: number;\n readonly safetyFactor?: number;\n};\n\n/**\n * Minimum safe TTL in milliseconds for a receiver-side\n * {@link IdempotencyStore} window, given the sender's retry profile.\n *\n * The envelope is:\n *\n * ttl = (backoff_sum + (maxRetries + 1) * timeoutMs) * safetyFactor\n *\n * where `backoff_sum` is the sum of per-retry delays from the chosen\n * `strategy`, multiplied by 1.5 if `jitter` is enabled (the\n * worst-case multiplier in `[0.5, 1.5)`). `safetyFactor` defaults\n * to 4 because operators almost always want headroom over the bare\n * envelope — slow networks, clock skew, and incident-window retries\n * stretch the real-world maximum past the computed one.\n */\nexport function minSafeTtl(profile: RetryProfile): number {\n const safetyFactor = profile.safetyFactor ?? 4;\n const backoff_sum = sum_backoff(profile.maxRetries, profile.backoff);\n const timeout_sum = (profile.maxRetries + 1) * profile.timeoutMs;\n return (backoff_sum + timeout_sum) * safetyFactor;\n}\n\nfunction sum_backoff(\n maxRetries: number,\n backoff: RetryProfile[\"backoff\"]\n): number {\n if (!backoff) return 0;\n let sum = 0;\n for (let retry = 0; retry < maxRetries; retry++) {\n sum += delay_for(retry, backoff);\n }\n return backoff.jitter ? sum * 1.5 : sum;\n}\n\nfunction delay_for(\n retry: number,\n backoff: NonNullable<RetryProfile[\"backoff\"]>\n): number {\n switch (backoff.strategy) {\n case \"fixed\":\n return backoff.baseMs;\n case \"linear\":\n return backoff.baseMs * (retry + 1);\n case \"exponential\": {\n const raw = backoff.baseMs * 2 ** retry;\n return backoff.maxMs !== undefined ? Math.min(raw, backoff.maxMs) : raw;\n }\n }\n}\n","import { minSafeTtl, type RetryProfile } from \"./min-safe-ttl.js\";\nimport type { IdempotencyStore } from \"./port.js\";\n\n/**\n * Options for {@link InMemoryIdempotencyStore}. Defaults are sized\n * for a single-process receiver paired with a sender using the\n * standard `webhook` backoff envelope (`exponential` up to\n * `maxMs: 30_000`, `maxRetries: 5`).\n *\n * The dedup window is set in one of two ways:\n *\n * - {@link ttlMs} — pass a number directly when you've already\n * computed the window, or just want the 24-hour default that\n * covers any reasonable sender retry envelope.\n * - {@link retryProfile} — pass the sender's retry profile and the\n * store derives the minimum safe window for you. The math\n * (per-retry backoff sums, per-attempt timeouts, jitter\n * worst-case 1.5×, default 4× safety factor) is hidden inside the\n * store — see [external integration](https://rotorsoft.github.io/act-root/docs/guides/external-integration#ttl-sizing)\n * for the math explained.\n *\n * When both are supplied, {@link ttlMs} wins — an explicit number\n * overrides a derived one.\n */\nexport type InMemoryIdempotencyStoreOptions = {\n /** Direct dedup window. Default: 24 hours. */\n ttlMs?: number;\n /** Sender's retry profile — used to derive `ttlMs` when not supplied. */\n retryProfile?: RetryProfile;\n /** Memory bound — oldest entries are evicted past this size. Default: 100,000. */\n maxEntries?: number;\n};\n\n/**\n * Bounded LRU + TTL implementation of {@link IdempotencyStore} for\n * single-process receivers (the wolfdesk demo, integration tests,\n * dev loops). Multi-process receivers should swap for a durable\n * adapter (Postgres unique index, Redis `SET NX`) — the\n * {@link IdempotencyStore} contract stays the same so the call site\n * doesn't change.\n *\n * Map iteration is insertion-ordered, so:\n * - The oldest entry sits at `keys().next().value` (cheapest to evict).\n * - GC walks until the first non-expired entry and stops.\n *\n * `claim` is sync; durable adapters return a `Promise<boolean>` —\n * both satisfy the union return type in the port.\n */\nexport class InMemoryIdempotencyStore implements IdempotencyStore {\n private readonly _seen = new Map<string, number>();\n private readonly _ttl_ms: number;\n private readonly _max_entries: number;\n\n constructor(options?: InMemoryIdempotencyStoreOptions) {\n this._ttl_ms =\n options?.ttlMs ??\n (options?.retryProfile !== undefined\n ? minSafeTtl(options.retryProfile)\n : 24 * 60 * 60 * 1000);\n this._max_entries = options?.maxEntries ?? 100_000;\n }\n\n claim(key: string, now: number = Date.now()): boolean {\n this._gc(now);\n if (this._seen.has(key)) return false;\n this._seen.set(key, now + this._ttl_ms);\n if (this._seen.size > this._max_entries) {\n // Safe by construction: `_seen.size > _max_entries >= 0` implies at\n // least one entry, so `.next().value` resolves to a string key.\n const oldest = this._seen.keys().next().value as string;\n this._seen.delete(oldest);\n }\n return true;\n }\n\n /** Number of entries currently tracked (post-GC at call time). */\n size(now: number = Date.now()): number {\n this._gc(now);\n return this._seen.size;\n }\n\n /** Drop every entry — test hook. */\n clear(): void {\n this._seen.clear();\n }\n\n private _gc(now: number): void {\n for (const [key, expires_at] of this._seen) {\n if (expires_at > now) break;\n this._seen.delete(key);\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AC2DO,SAAS,WAAW,SAA+B;AACxD,QAAM,eAAe,QAAQ,gBAAgB;AAC7C,QAAM,cAAc,YAAY,QAAQ,YAAY,QAAQ,OAAO;AACnE,QAAM,eAAe,QAAQ,aAAa,KAAK,QAAQ;AACvD,UAAQ,cAAc,eAAe;AACvC;AAEA,SAAS,YACP,YACA,SACQ;AACR,MAAI,CAAC,QAAS,QAAO;AACrB,MAAI,MAAM;AACV,WAAS,QAAQ,GAAG,QAAQ,YAAY,SAAS;AAC/C,WAAO,UAAU,OAAO,OAAO;AAAA,EACjC;AACA,SAAO,QAAQ,SAAS,MAAM,MAAM;AACtC;AAEA,SAAS,UACP,OACA,SACQ;AACR,UAAQ,QAAQ,UAAU;AAAA,IACxB,KAAK;AACH,aAAO,QAAQ;AAAA,IACjB,KAAK;AACH,aAAO,QAAQ,UAAU,QAAQ;AAAA,IACnC,KAAK,eAAe;AAClB,YAAM,MAAM,QAAQ,SAAS,KAAK;AAClC,aAAO,QAAQ,UAAU,SAAY,KAAK,IAAI,KAAK,QAAQ,KAAK,IAAI;AAAA,IACtE;AAAA,EACF;AACF;;;AC5CO,IAAM,2BAAN,MAA2D;AAAA,EAC/C,QAAQ,oBAAI,IAAoB;AAAA,EAChC;AAAA,EACA;AAAA,EAEjB,YAAY,SAA2C;AACrD,SAAK,UACH,SAAS,UACR,SAAS,iBAAiB,SACvB,WAAW,QAAQ,YAAY,IAC/B,KAAK,KAAK,KAAK;AACrB,SAAK,eAAe,SAAS,cAAc;AAAA,EAC7C;AAAA,EAEA,MAAM,KAAa,MAAc,KAAK,IAAI,GAAY;AACpD,SAAK,IAAI,GAAG;AACZ,QAAI,KAAK,MAAM,IAAI,GAAG,EAAG,QAAO;AAChC,SAAK,MAAM,IAAI,KAAK,MAAM,KAAK,OAAO;AACtC,QAAI,KAAK,MAAM,OAAO,KAAK,cAAc;AAGvC,YAAM,SAAS,KAAK,MAAM,KAAK,EAAE,KAAK,EAAE;AACxC,WAAK,MAAM,OAAO,MAAM;AAAA,IAC1B;AACA,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,KAAK,MAAc,KAAK,IAAI,GAAW;AACrC,SAAK,IAAI,GAAG;AACZ,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA;AAAA,EAGA,QAAc;AACZ,SAAK,MAAM,MAAM;AAAA,EACnB;AAAA,EAEQ,IAAI,KAAmB;AAC7B,eAAW,CAAC,KAAK,UAAU,KAAK,KAAK,OAAO;AAC1C,UAAI,aAAa,IAAK;AACtB,WAAK,MAAM,OAAO,GAAG;AAAA,IACvB;AAAA,EACF;AACF;","names":[]}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
// src/idempotency/min-safe-ttl.ts
|
|
2
2
|
function minSafeTtl(profile) {
|
|
3
3
|
const safetyFactor = profile.safetyFactor ?? 4;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
return (
|
|
4
|
+
const backoff_sum = sum_backoff(profile.maxRetries, profile.backoff);
|
|
5
|
+
const timeout_sum = (profile.maxRetries + 1) * profile.timeoutMs;
|
|
6
|
+
return (backoff_sum + timeout_sum) * safetyFactor;
|
|
7
7
|
}
|
|
8
|
-
function
|
|
8
|
+
function sum_backoff(maxRetries, backoff) {
|
|
9
9
|
if (!backoff) return 0;
|
|
10
10
|
let sum = 0;
|
|
11
11
|
for (let retry = 0; retry < maxRetries; retry++) {
|
|
12
|
-
sum +=
|
|
12
|
+
sum += delay_for(retry, backoff);
|
|
13
13
|
}
|
|
14
14
|
return backoff.jitter ? sum * 1.5 : sum;
|
|
15
15
|
}
|
|
16
|
-
function
|
|
16
|
+
function delay_for(retry, backoff) {
|
|
17
17
|
switch (backoff.strategy) {
|
|
18
18
|
case "fixed":
|
|
19
19
|
return backoff.baseMs;
|
|
@@ -55,8 +55,8 @@ var InMemoryIdempotencyStore = class {
|
|
|
55
55
|
this._seen.clear();
|
|
56
56
|
}
|
|
57
57
|
_gc(now) {
|
|
58
|
-
for (const [key,
|
|
59
|
-
if (
|
|
58
|
+
for (const [key, expires_at] of this._seen) {
|
|
59
|
+
if (expires_at > now) break;
|
|
60
60
|
this._seen.delete(key);
|
|
61
61
|
}
|
|
62
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/idempotency/min-safe-ttl.ts","../../src/idempotency/in-memory.ts"],"sourcesContent":["/**\n * @module act-ops/idempotency/min-safe-ttl\n *\n * Internal math for sizing the dedup window of an\n * {@link IdempotencyStore} from a sender's retry profile.\n *\n * **Not re-exported from the package root** by design — the math is\n * an implementation detail of {@link InMemoryIdempotencyStore} (and\n * any future durable adapter). Operators configure dedup windows\n * through the store's `retryProfile` option, not by calling this\n * function directly. Tests import it from this path; external\n * consumers can't reach it.\n */\n\n/**\n * A sender's retry behaviour, described in enough detail to size a\n * receiver-side dedup window correctly. The `backoff` shape is typed\n * inline structurally so it's assignable from `@rotorsoft/act`'s\n * `BackoffOptions` without this package importing the framework\n * (the zero-act-dep load-bearing constraint of `@rotorsoft/act-ops`).\n * A caller holding `act.BackoffOptions` can pass it as `backoff`\n * with no cast — TypeScript treats the two shapes as equivalent.\n *\n * @property maxRetries - Retries after the first attempt fails\n * @property backoff - Optional backoff strategy. When omitted,\n * retries fire back-to-back with only the per-attempt timeout\n * between them\n * @property timeoutMs - Per-attempt timeout (the sender's `fetch`\n * timeout, or the equivalent for whatever transport)\n * @property safetyFactor - Multiplier applied to the bare envelope.\n * Default 4\n */\nexport type RetryProfile = {\n readonly maxRetries: number;\n readonly backoff?: {\n readonly strategy: \"fixed\" | \"linear\" | \"exponential\";\n readonly baseMs: number;\n readonly maxMs?: number;\n readonly jitter?: boolean;\n };\n readonly timeoutMs: number;\n readonly safetyFactor?: number;\n};\n\n/**\n * Minimum safe TTL in milliseconds for a receiver-side\n * {@link IdempotencyStore} window, given the sender's retry profile.\n *\n * The envelope is:\n *\n * ttl = (
|
|
1
|
+
{"version":3,"sources":["../../src/idempotency/min-safe-ttl.ts","../../src/idempotency/in-memory.ts"],"sourcesContent":["/**\n * @module act-ops/idempotency/min-safe-ttl\n *\n * Internal math for sizing the dedup window of an\n * {@link IdempotencyStore} from a sender's retry profile.\n *\n * **Not re-exported from the package root** by design — the math is\n * an implementation detail of {@link InMemoryIdempotencyStore} (and\n * any future durable adapter). Operators configure dedup windows\n * through the store's `retryProfile` option, not by calling this\n * function directly. Tests import it from this path; external\n * consumers can't reach it.\n */\n\n/**\n * A sender's retry behaviour, described in enough detail to size a\n * receiver-side dedup window correctly. The `backoff` shape is typed\n * inline structurally so it's assignable from `@rotorsoft/act`'s\n * `BackoffOptions` without this package importing the framework\n * (the zero-act-dep load-bearing constraint of `@rotorsoft/act-ops`).\n * A caller holding `act.BackoffOptions` can pass it as `backoff`\n * with no cast — TypeScript treats the two shapes as equivalent.\n *\n * @property maxRetries - Retries after the first attempt fails\n * @property backoff - Optional backoff strategy. When omitted,\n * retries fire back-to-back with only the per-attempt timeout\n * between them\n * @property timeoutMs - Per-attempt timeout (the sender's `fetch`\n * timeout, or the equivalent for whatever transport)\n * @property safetyFactor - Multiplier applied to the bare envelope.\n * Default 4\n */\nexport type RetryProfile = {\n readonly maxRetries: number;\n readonly backoff?: {\n readonly strategy: \"fixed\" | \"linear\" | \"exponential\";\n readonly baseMs: number;\n readonly maxMs?: number;\n readonly jitter?: boolean;\n };\n readonly timeoutMs: number;\n readonly safetyFactor?: number;\n};\n\n/**\n * Minimum safe TTL in milliseconds for a receiver-side\n * {@link IdempotencyStore} window, given the sender's retry profile.\n *\n * The envelope is:\n *\n * ttl = (backoff_sum + (maxRetries + 1) * timeoutMs) * safetyFactor\n *\n * where `backoff_sum` is the sum of per-retry delays from the chosen\n * `strategy`, multiplied by 1.5 if `jitter` is enabled (the\n * worst-case multiplier in `[0.5, 1.5)`). `safetyFactor` defaults\n * to 4 because operators almost always want headroom over the bare\n * envelope — slow networks, clock skew, and incident-window retries\n * stretch the real-world maximum past the computed one.\n */\nexport function minSafeTtl(profile: RetryProfile): number {\n const safetyFactor = profile.safetyFactor ?? 4;\n const backoff_sum = sum_backoff(profile.maxRetries, profile.backoff);\n const timeout_sum = (profile.maxRetries + 1) * profile.timeoutMs;\n return (backoff_sum + timeout_sum) * safetyFactor;\n}\n\nfunction sum_backoff(\n maxRetries: number,\n backoff: RetryProfile[\"backoff\"]\n): number {\n if (!backoff) return 0;\n let sum = 0;\n for (let retry = 0; retry < maxRetries; retry++) {\n sum += delay_for(retry, backoff);\n }\n return backoff.jitter ? sum * 1.5 : sum;\n}\n\nfunction delay_for(\n retry: number,\n backoff: NonNullable<RetryProfile[\"backoff\"]>\n): number {\n switch (backoff.strategy) {\n case \"fixed\":\n return backoff.baseMs;\n case \"linear\":\n return backoff.baseMs * (retry + 1);\n case \"exponential\": {\n const raw = backoff.baseMs * 2 ** retry;\n return backoff.maxMs !== undefined ? Math.min(raw, backoff.maxMs) : raw;\n }\n }\n}\n","import { minSafeTtl, type RetryProfile } from \"./min-safe-ttl.js\";\nimport type { IdempotencyStore } from \"./port.js\";\n\n/**\n * Options for {@link InMemoryIdempotencyStore}. Defaults are sized\n * for a single-process receiver paired with a sender using the\n * standard `webhook` backoff envelope (`exponential` up to\n * `maxMs: 30_000`, `maxRetries: 5`).\n *\n * The dedup window is set in one of two ways:\n *\n * - {@link ttlMs} — pass a number directly when you've already\n * computed the window, or just want the 24-hour default that\n * covers any reasonable sender retry envelope.\n * - {@link retryProfile} — pass the sender's retry profile and the\n * store derives the minimum safe window for you. The math\n * (per-retry backoff sums, per-attempt timeouts, jitter\n * worst-case 1.5×, default 4× safety factor) is hidden inside the\n * store — see [external integration](https://rotorsoft.github.io/act-root/docs/guides/external-integration#ttl-sizing)\n * for the math explained.\n *\n * When both are supplied, {@link ttlMs} wins — an explicit number\n * overrides a derived one.\n */\nexport type InMemoryIdempotencyStoreOptions = {\n /** Direct dedup window. Default: 24 hours. */\n ttlMs?: number;\n /** Sender's retry profile — used to derive `ttlMs` when not supplied. */\n retryProfile?: RetryProfile;\n /** Memory bound — oldest entries are evicted past this size. Default: 100,000. */\n maxEntries?: number;\n};\n\n/**\n * Bounded LRU + TTL implementation of {@link IdempotencyStore} for\n * single-process receivers (the wolfdesk demo, integration tests,\n * dev loops). Multi-process receivers should swap for a durable\n * adapter (Postgres unique index, Redis `SET NX`) — the\n * {@link IdempotencyStore} contract stays the same so the call site\n * doesn't change.\n *\n * Map iteration is insertion-ordered, so:\n * - The oldest entry sits at `keys().next().value` (cheapest to evict).\n * - GC walks until the first non-expired entry and stops.\n *\n * `claim` is sync; durable adapters return a `Promise<boolean>` —\n * both satisfy the union return type in the port.\n */\nexport class InMemoryIdempotencyStore implements IdempotencyStore {\n private readonly _seen = new Map<string, number>();\n private readonly _ttl_ms: number;\n private readonly _max_entries: number;\n\n constructor(options?: InMemoryIdempotencyStoreOptions) {\n this._ttl_ms =\n options?.ttlMs ??\n (options?.retryProfile !== undefined\n ? minSafeTtl(options.retryProfile)\n : 24 * 60 * 60 * 1000);\n this._max_entries = options?.maxEntries ?? 100_000;\n }\n\n claim(key: string, now: number = Date.now()): boolean {\n this._gc(now);\n if (this._seen.has(key)) return false;\n this._seen.set(key, now + this._ttl_ms);\n if (this._seen.size > this._max_entries) {\n // Safe by construction: `_seen.size > _max_entries >= 0` implies at\n // least one entry, so `.next().value` resolves to a string key.\n const oldest = this._seen.keys().next().value as string;\n this._seen.delete(oldest);\n }\n return true;\n }\n\n /** Number of entries currently tracked (post-GC at call time). */\n size(now: number = Date.now()): number {\n this._gc(now);\n return this._seen.size;\n }\n\n /** Drop every entry — test hook. */\n clear(): void {\n this._seen.clear();\n }\n\n private _gc(now: number): void {\n for (const [key, expires_at] of this._seen) {\n if (expires_at > now) break;\n this._seen.delete(key);\n }\n }\n}\n"],"mappings":";AA2DO,SAAS,WAAW,SAA+B;AACxD,QAAM,eAAe,QAAQ,gBAAgB;AAC7C,QAAM,cAAc,YAAY,QAAQ,YAAY,QAAQ,OAAO;AACnE,QAAM,eAAe,QAAQ,aAAa,KAAK,QAAQ;AACvD,UAAQ,cAAc,eAAe;AACvC;AAEA,SAAS,YACP,YACA,SACQ;AACR,MAAI,CAAC,QAAS,QAAO;AACrB,MAAI,MAAM;AACV,WAAS,QAAQ,GAAG,QAAQ,YAAY,SAAS;AAC/C,WAAO,UAAU,OAAO,OAAO;AAAA,EACjC;AACA,SAAO,QAAQ,SAAS,MAAM,MAAM;AACtC;AAEA,SAAS,UACP,OACA,SACQ;AACR,UAAQ,QAAQ,UAAU;AAAA,IACxB,KAAK;AACH,aAAO,QAAQ;AAAA,IACjB,KAAK;AACH,aAAO,QAAQ,UAAU,QAAQ;AAAA,IACnC,KAAK,eAAe;AAClB,YAAM,MAAM,QAAQ,SAAS,KAAK;AAClC,aAAO,QAAQ,UAAU,SAAY,KAAK,IAAI,KAAK,QAAQ,KAAK,IAAI;AAAA,IACtE;AAAA,EACF;AACF;;;AC5CO,IAAM,2BAAN,MAA2D;AAAA,EAC/C,QAAQ,oBAAI,IAAoB;AAAA,EAChC;AAAA,EACA;AAAA,EAEjB,YAAY,SAA2C;AACrD,SAAK,UACH,SAAS,UACR,SAAS,iBAAiB,SACvB,WAAW,QAAQ,YAAY,IAC/B,KAAK,KAAK,KAAK;AACrB,SAAK,eAAe,SAAS,cAAc;AAAA,EAC7C;AAAA,EAEA,MAAM,KAAa,MAAc,KAAK,IAAI,GAAY;AACpD,SAAK,IAAI,GAAG;AACZ,QAAI,KAAK,MAAM,IAAI,GAAG,EAAG,QAAO;AAChC,SAAK,MAAM,IAAI,KAAK,MAAM,KAAK,OAAO;AACtC,QAAI,KAAK,MAAM,OAAO,KAAK,cAAc;AAGvC,YAAM,SAAS,KAAK,MAAM,KAAK,EAAE,KAAK,EAAE;AACxC,WAAK,MAAM,OAAO,MAAM;AAAA,IAC1B;AACA,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,KAAK,MAAc,KAAK,IAAI,GAAW;AACrC,SAAK,IAAI,GAAG;AACZ,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA;AAAA,EAGA,QAAc;AACZ,SAAK,MAAM,MAAM;AAAA,EACnB;AAAA,EAEQ,IAAI,KAAmB;AAC7B,eAAW,CAAC,KAAK,UAAU,KAAK,KAAK,OAAO;AAC1C,UAAI,aAAa,IAAK;AACtB,WAAK,MAAM,OAAO,GAAG;AAAA,IACvB;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
|
|
16
|
+
// src/receiver/index.ts
|
|
17
|
+
var receiver_exports = {};
|
|
18
|
+
module.exports = __toCommonJS(receiver_exports);
|
|
19
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/receiver/index.ts"],"sourcesContent":["/**\n * @packageDocumentation\n * @module act-ops/receiver\n *\n * Generic inbound-receiver port. Transport-agnostic — the same\n * `Receiver` interface fits HTTP webhooks (shipped today), bus\n * consumers (Kafka/SQS/NATS/RabbitMQ — future tickets), CDC streams,\n * WebSocket subscribers, scheduled pollers, and any other \"external\n * events arrive into this Act app\" pattern.\n *\n * Operators who pick act-ops get the opinionated path: pick a\n * transport adapter (today: `@rotorsoft/act-http/receiver` for HTTP\n * webhooks), register typed handlers fluently with Zod schemas,\n * `.build()` to finalize, then `.listen()` (Node server) or\n * `.fetch(request)` (Lambda / edge).\n *\n * ```ts\n * import { webhookReceiver } from \"@rotorsoft/act-http/receiver\";\n * import { InMemoryIdempotencyStore } from \"@rotorsoft/act-ops/idempotency\";\n * import { z } from \"zod\";\n *\n * const receiver = webhookReceiver({\n * port: 4001,\n * store: new InMemoryIdempotencyStore(),\n * secret: process.env.WEBHOOK_SECRET,\n * })\n * .on(\"OrderConfirmed\", z.object({ orderId: z.string() }), async (event, ctx) => {\n * // event is typed; ctx.key is the dedup key\n * })\n * .build();\n *\n * await receiver.listen();\n * ```\n *\n * Matches Act's builder pattern: the factory returns a\n * {@link ReceiverBuilder} that collects handlers; `.build()`\n * finalizes and produces an immutable {@link Receiver} with only\n * runtime methods. You can't accidentally register a handler on a\n * running receiver — the lifecycle phases are split at the type\n * level.\n *\n * For operators who want fine control — custom path routing, auth\n * middleware composition, non-standard HTTP server lifecycle — the\n * lower-level `webhookMiddleware` factory in\n * `@rotorsoft/act-http/receiver/<framework>` stays available as the\n * escape hatch.\n */\n\nexport type {\n Receiver,\n ReceiverBuilder,\n ReceiverContext,\n ReceiverOptions,\n Validator,\n} from \"./port.js\";\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rotorsoft/act-ops",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.1
|
|
4
|
+
"version": "0.2.1",
|
|
5
5
|
"description": "Operational primitives for act apps and act-independent receivers — idempotency, retry budgets, poison-message classifiers",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"typescript",
|
|
@@ -30,11 +30,16 @@
|
|
|
30
30
|
"types": "./dist/@types/idempotency/index.d.ts",
|
|
31
31
|
"import": "./dist/idempotency/index.js",
|
|
32
32
|
"require": "./dist/idempotency/index.cjs"
|
|
33
|
+
},
|
|
34
|
+
"./receiver": {
|
|
35
|
+
"types": "./dist/@types/receiver/index.d.ts",
|
|
36
|
+
"import": "./dist/receiver/index.js",
|
|
37
|
+
"require": "./dist/receiver/index.cjs"
|
|
33
38
|
}
|
|
34
39
|
},
|
|
35
40
|
"sideEffects": false,
|
|
36
41
|
"engines": {
|
|
37
|
-
"node": ">=22.
|
|
42
|
+
"node": ">=22.22.3"
|
|
38
43
|
},
|
|
39
44
|
"publishConfig": {
|
|
40
45
|
"access": "public"
|