@bo-agent/subprocess 0.0.2

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.
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2024.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2024.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2024.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2024.full.d.ts","../../../node_modules/.pnpm/cosmokit@1.8.1/node_modules/cosmokit/lib/index.d.ts","../../../node_modules/.pnpm/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.ts","../../../node_modules/.pnpm/cordis@4.0.0-rc.10/node_modules/cordis/lib/utils.d.ts","../../../node_modules/.pnpm/cordis@4.0.0-rc.10/node_modules/cordis/lib/registry.d.ts","../../../node_modules/.pnpm/cordis@4.0.0-rc.10/node_modules/cordis/lib/reflect.d.ts","../../../node_modules/.pnpm/cordis@4.0.0-rc.10/node_modules/cordis/lib/fiber.d.ts","../../../node_modules/.pnpm/cordis@4.0.0-rc.10/node_modules/cordis/lib/events.d.ts","../../../node_modules/.pnpm/cordis@4.0.0-rc.10/node_modules/cordis/lib/logger.d.ts","../../../node_modules/.pnpm/cordis@4.0.0-rc.10/node_modules/cordis/lib/context.d.ts","../../../node_modules/.pnpm/cordis@4.0.0-rc.10/node_modules/cordis/lib/service.d.ts","../../../node_modules/.pnpm/cordis@4.0.0-rc.10/node_modules/cordis/lib/index.d.ts","../src/types.ts","../src/index.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@22.20.2/node_modules/@types/node/index.d.ts"],"fileIdsList":[[94,143,160,161],[94,140,141,143,160,161],[94,142,143,160,161],[143,160,161],[94,143,148,160,161,178],[94,143,144,149,154,160,161,163,175,186],[94,143,144,145,154,160,161,163],[89,90,91,94,143,160,161],[94,143,146,160,161,187],[94,143,147,148,155,160,161,164],[94,143,148,160,161,175,183],[94,143,149,151,154,160,161,163],[94,142,143,150,160,161],[94,143,151,152,160,161],[94,143,153,154,160,161],[94,142,143,154,160,161],[94,143,154,155,156,160,161,175,186],[94,143,154,155,156,160,161,170,175,178],[94,135,143,151,154,157,160,161,163,175,186],[94,143,154,155,157,158,160,161,163,175,183,186],[94,143,157,159,160,161,175,183,186],[92,93,94,95,96,97,98,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],[94,143,154,160,161],[94,143,160,161,162,186],[94,143,151,154,160,161,163,175],[94,143,160,161,164],[94,143,160,161,165],[94,142,143,160,161,166],[94,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],[94,143,160,161,168],[94,143,160,161,169],[94,143,154,160,161,170,171],[94,143,160,161,170,172,187,189],[94,143,155,160,161],[94,143,154,160,161,175,176,178],[94,143,160,161,177,178],[94,143,160,161,175,176],[94,143,160,161,178],[94,143,160,161,179],[94,140,143,160,161,175,180,186],[94,143,154,160,161,181,182],[94,143,160,161,181,182],[94,143,148,160,161,163,175,183],[94,143,160,161,184],[94,143,160,161,163,185],[94,143,157,160,161,169,186],[94,143,148,160,161,187],[94,143,160,161,175,188],[94,143,160,161,162,189],[94,143,160,161,190],[94,135,143,160,161],[94,135,143,154,156,160,161,166,175,178,186,188,189,191],[94,143,160,161,175,192],[76,78,79,80,81,82,83,94,143,160,161],[76,79,80,81,82,83,84,94,143,160,161],[76,77,78,79,80,81,82,83,84,94,143,160,161],[78,79,80,81,82,83,84,85,94,143,160,161],[78,79,80,81,82,83,84,94,143,160,161],[86,88,94,143,160,161],[94,107,111,143,160,161,186],[94,107,143,160,161,175,186],[94,102,143,160,161],[94,104,107,143,160,161,183,186],[94,143,160,161,163,183],[94,143,160,161,193],[94,102,143,160,161,193],[94,104,107,143,160,161,163,186],[94,99,100,103,106,143,154,160,161,175,186],[94,107,114,143,160,161],[94,99,105,143,160,161],[94,107,128,129,143,160,161],[94,103,107,143,160,161,178,186,193],[94,128,143,160,161,193],[94,101,102,143,160,161,193],[94,107,143,160,161],[94,101,102,103,104,105,106,107,108,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,129,130,131,132,133,134,143,160,161],[94,107,122,143,160,161],[94,107,114,115,143,160,161],[94,105,107,115,116,143,160,161],[94,106,143,160,161],[94,99,102,107,143,160,161],[94,107,111,115,116,143,160,161],[94,111,143,160,161],[94,105,107,110,143,160,161,186],[94,99,104,107,114,143,160,161],[94,143,160,161,175],[94,102,107,128,143,160,161,191,193],[86,87,88,94,143,160,161]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3e9cef4eed59f8a2249ed834ba4aabe9d0d4e9037d4679487fa17dad99004a3","impliedFormat":1},{"version":"0e7086243656ce24ba7dfe15a8d8e3cd4310afa6cbddb97dd06d5dc399794676","impliedFormat":99},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"1f9b9bc4eb18864e8c1628ecd0630442eb857e7b77322559a9a00004f1e39d80","impliedFormat":99},{"version":"598ee676b4645a043e7c4198d53221dd8c44bc628b12776efd8bc6fabd804ced","impliedFormat":99},{"version":"3de8c258acd8647678a8c96db4cee1151a16bc18626028a9c7b33b6bdd037db9","impliedFormat":99},{"version":"b7f6288c956d50a63f4d14610f39df7f7b1e9d481413a0e95c82c37179448ddc","impliedFormat":99},{"version":"18930b7045a527847a039cf29af8927c8079414527707396672ed3cd706fc399","impliedFormat":99},{"version":"7395b909d9b5c754cf8af3937a7ac783bd82eeea31c42a35a02bbcfb5db945a4","impliedFormat":99},{"version":"3a0bf69f6275288de8b20cc353c1e0e6c6d61644789ddec51b526d0d5166acc1","impliedFormat":99},{"version":"6adf2288c91294fe0c68828187e96820b0620fe5d78f79ccbff06d230d9b0c8e","impliedFormat":99},{"version":"8cc48b522565f226e5bdb0f6a4d4b1bcdc8f82ac72c32fd869831a96f583b3cc","impliedFormat":99},{"version":"241dc4d500c660620206d4be65a7d8f2e8736d4efdf3866a8bbe402624cfec40","signature":"f45efbcb0323d0749d12447c82e6ed374b237d73d0f701872c937546200173ce"},{"version":"595440167f1dd2997b9cd51460a8cbf49e9696d3517e5902ea7213e004475411","signature":"fd0992b57c68dbe57ea0a54c49402c5071ccf7f8612c0cf191882f09fa7b71d8"},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d97fb21da858fb18b8ae72c314e9743fd52f73ebe2764e12af1db32fc03f853f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"78dbea00e90d2df8ea3dbef0cc379d95b8be9b71cd6bde4c28728f306811803b","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e1e46d0a9837ee058c100501080c920fa98081ea3956af0374308ba6f22a33e","impliedFormat":1},{"version":"272ca407e0c9068bdc5152552d876e68037ceae3de62e529306403e973dec8e1","impliedFormat":1},{"version":"fa7834c715d5357e4540cee40ce96c3250ddb67a7b879a6b7fa0e86d6696f121","impliedFormat":1},{"version":"22dfb07a7ab15b66ac043829056fe70124844636ae719551812ac631ba04985b","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6f137d651076822d4fe884287e68fd61785a0d3d1fdb250a5059b691fa897db","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"bceb58df66ab8fb00170df20cd813978c5ab84be1d285710c4eb005d8e9d8efb","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"0cb167c371eaa8c869f8a7656a7296f2e4fae43b4d8b803a680236b24794e5f9","impliedFormat":1},{"version":"0a839dba0287cc0481ad4beedd48a1c64acf1e212ae865d1315f7007ca215161","impliedFormat":1},{"version":"38dc4655376cd1a4bd6bb3763d92949233e33d38d3dd3cbea7bbf218175a38ef","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"208a6a0bfb227bdf8fb964799d0a206c75cf03ccd72e63bf5495c9331354c6d6","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"48a679952eefe4cb776d5a0e1ccba2d3eb53b57448bbb7abc1fcebcbd5440188","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2d14da6ecb49bf828d83948765ec2d3a579d476bbb9645e749610baa6ec880ca","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"0aef708fb4c7a6b915e8305cbfac40cd207b032dbaabe9a01889a5fff3254681","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"ad9bdafb4e7abf14cc53ce7970486a84c87831e62891e5dfe798ddcd55e84701","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"71d3ae6a5e73ca4130762560425e00984ebaff64d5353a3333d1bb7eb86ef336","impliedFormat":1}],"root":[87,88],"options":{"allowImportingTsExtensions":true,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"exactOptionalPropertyTypes":true,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":false,"noUnusedParameters":false,"outDir":"./","rewriteRelativeImportExtensions":true,"rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":11,"tsBuildInfoFile":"./.tsbuildinfo","verbatimModuleSyntax":false},"referencedMap":[[77,1],[140,2],[141,2],[142,3],[94,4],[143,5],[144,6],[145,7],[89,1],[92,8],[90,1],[91,1],[146,9],[147,10],[148,11],[149,12],[150,13],[151,14],[152,14],[153,15],[154,16],[155,17],[156,18],[95,1],[93,1],[157,19],[158,20],[159,21],[193,22],[160,23],[161,1],[162,24],[163,25],[164,26],[165,27],[166,28],[167,29],[168,30],[169,31],[170,32],[171,32],[172,33],[173,1],[174,34],[175,35],[177,36],[176,37],[178,38],[179,39],[180,40],[181,41],[182,42],[183,43],[184,44],[185,45],[186,46],[187,47],[188,48],[189,49],[190,50],[96,1],[97,1],[98,1],[136,51],[137,1],[138,1],[139,38],[191,52],[192,53],[84,54],[82,55],[81,56],[86,57],[83,58],[80,55],[79,56],[85,58],[78,59],[76,1],[73,1],[74,1],[14,1],[12,1],[13,1],[18,1],[17,1],[2,1],[19,1],[20,1],[21,1],[22,1],[23,1],[24,1],[25,1],[26,1],[3,1],[27,1],[28,1],[4,1],[29,1],[33,1],[30,1],[31,1],[32,1],[34,1],[35,1],[36,1],[5,1],[37,1],[38,1],[39,1],[40,1],[6,1],[44,1],[41,1],[42,1],[43,1],[45,1],[7,1],[46,1],[51,1],[52,1],[47,1],[48,1],[49,1],[50,1],[8,1],[56,1],[53,1],[54,1],[55,1],[57,1],[9,1],[58,1],[59,1],[60,1],[62,1],[61,1],[63,1],[64,1],[10,1],[65,1],[66,1],[67,1],[11,1],[75,1],[68,1],[69,1],[70,1],[71,1],[72,1],[1,1],[16,1],[15,1],[114,60],[124,61],[113,60],[134,62],[105,63],[104,64],[133,65],[127,66],[132,67],[107,68],[121,69],[106,70],[130,71],[102,72],[101,65],[131,73],[103,74],[108,75],[109,1],[112,75],[99,1],[135,76],[125,77],[116,78],[117,79],[119,80],[115,81],[118,82],[128,65],[110,83],[111,84],[120,85],[100,86],[123,77],[122,75],[126,1],[129,87],[88,88],[87,86]],"latestChangedDtsFile":"./index.d.ts","version":"5.9.3"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Service Definition for the subprocess capability seam (`ctx.subprocess`): execution-world executable lookup,
3
+ * fully specified managed process trees with raw or
4
+ * collected stdio, and one terminal-process primitive. Command defaulting,
5
+ * shell semantics, deadlines, protocol framing, terminal readiness, and
6
+ * presentation belong to consumers. The local implementation lives in
7
+ * `@bo-agent/subprocess-local`.
8
+ *
9
+ * @module @bo-agent/subprocess
10
+ */
11
+ import { Context, Service } from 'cordis';
12
+ import type { SubprocessHandle, SubprocessSpawnSpec } from './types.ts';
13
+ import type { SubprocessTerminalHandle, SubprocessTerminalSpawnSpec } from './types.ts';
14
+ export { DSH_ENV_PREFIX } from './types.ts';
15
+ export type { CollectedOutput, DshEnvironment, DshEnvironmentKey, SubprocessCollect, SubprocessCollectedOutputs, SubprocessHandle, SubprocessOutcome, SubprocessOutputMode, SubprocessOutputRead, SubprocessOutputReader, SubprocessSpawnSpec, SubprocessStdinMode, SubprocessStdio, SubprocessTerminalForeground, SubprocessTerminalHandle, SubprocessTerminalSignal, SubprocessTerminalSpawnSpec, } from './types.ts';
16
+ /**
17
+ * Credential-shaped environment names are NOT forwarded to children (the
18
+ * harness's own API keys / secrets must not leak into a spawned process
19
+ * implicitly). One heuristic for every in-repo spawner; a deliberately
20
+ * supplied entry survives because explicit env layers merge after the scrub.
21
+ */
22
+ export declare const SENSITIVE_ENV_PATTERN: RegExp;
23
+ /**
24
+ * The ambient parent environment minus credential-shaped names and minus all
25
+ * `DSH_*` names — the canonical base every harness child starts from. `PATH`,
26
+ * `HOME`, locale, and proxy variables survive, so child CLIs run normally;
27
+ * harness identity never leaks implicitly (a deliberately forwarded
28
+ * credential or current `DSH_*` fact goes through the spec's explicit `env`,
29
+ * which merges after this scrub). Both scrubs match case-insensitively:
30
+ * Windows environment names are case-insensitive, so a parent `dsh_*` entry
31
+ * would otherwise survive and read back as `$env:DSH_*` in the child;
32
+ * deliberate lowercase `dsh_*` names on POSIX are implausible. Exported as a
33
+ * plain function so spawners that cannot route through the service (node-pty
34
+ * backends, SDK-managed transports) share the one scrub definition.
35
+ * @returns a fresh environment object safe to hand to a child spawn.
36
+ */
37
+ export declare function scrubbedParentEnv(): Record<string, string>;
38
+ declare module 'cordis' {
39
+ interface Context {
40
+ subprocess: SubprocessRuntime;
41
+ }
42
+ }
43
+ /**
44
+ * Abstract subprocess service. Subclass, implement {@link spawn}, and load the
45
+ * subclass as a plugin — it registers as `ctx.subprocess` (one implementation
46
+ * per context; loading a second throws, which is cordis' standard
47
+ * duplicate-service behavior).
48
+ *
49
+ * Implementations must honor these semantics:
50
+ * - Executable paths belong to one execution world shared with the mounted
51
+ * filesystem provider.
52
+ * - {@link spawn} returns immediately with a live handle; `done` resolves at
53
+ * process close with exit facts and rejects only for spawn-level failures.
54
+ * - Collect-mode readers are offset-based and non-consuming, so independent
55
+ * readers never consume one another's output; lossy reads report truncation
56
+ * and the spill file holding the complete stream when one exists. Piped
57
+ * streams are handed to the caller raw and never buffered here.
58
+ * - {@link SubprocessHandle.terminate} (and the spec's abort signal) escalates
59
+ * SIGTERM→grace→SIGKILL — the only termination verb — tree-scoped on every
60
+ * platform. {@link SubprocessHandle.waitForExit} observes whole-tree
61
+ * liveness, so a consumer-owned teardown ladder can hold each tier on real
62
+ * quiescence.
63
+ * - Disposal of the service terminates all still-running managed processes
64
+ * and awaits their exit.
65
+ * - {@link spawnTerminal} owns terminal allocation, text transport,
66
+ * foreground groups, signalling, and whole-session quiescence behind one
67
+ * awaited termination method; readiness and persistent-shell policy stay
68
+ * in the PTY consumer. Its output stream ends after queued terminal output
69
+ * when the top-level process exits.
70
+ */
71
+ export declare abstract class SubprocessRuntime extends Service {
72
+ constructor(ctx: Context);
73
+ /**
74
+ * Resolve one configured executable in this provider's execution world.
75
+ * Absolute paths are verified; bare names use the provider's scrubbed PATH
76
+ * plus explicit environment overrides. Relative paths containing separators
77
+ * are rejected: the resolution base is undefined, so providers fail loud
78
+ * instead of guessing.
79
+ * @param command - absolute executable path or bare PATH name.
80
+ * @param env - explicit environment entries used for lookup.
81
+ * @param signal - aborts remote or local lookup.
82
+ * @returns a canonical executable path.
83
+ */
84
+ abstract resolveExecutable(command: string, env?: Readonly<Record<string, string>>, signal?: AbortSignal): Promise<string>;
85
+ /**
86
+ * Start one managed child process from a fully-specified spec; this seam
87
+ * applies no defaults.
88
+ * @param spec - argv, directory, stdio dispositions, grace, cancellation, and environment.
89
+ * @returns the live process handle (streams/readers, signalling, outcome promise).
90
+ */
91
+ abstract spawn(spec: SubprocessSpawnSpec): SubprocessHandle;
92
+ /**
93
+ * Allocate a real terminal and start one owned process session. This is the
94
+ * only non-pipe process primitive: implementations own terminal byte I/O,
95
+ * foreground groups, signals, and complete session-tree cleanup.
96
+ * @param spec - fully specified argv, cwd, environment, dimensions, grace, and allocation cancellation.
97
+ * @returns the live terminal handle after allocation succeeds.
98
+ */
99
+ abstract spawnTerminal(spec: SubprocessTerminalSpawnSpec): Promise<SubprocessTerminalHandle>;
100
+ }
101
+ export default SubprocessRuntime;
102
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACvE,OAAO,KAAK,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AAEvF,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,YAAY,EACV,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,YAAY,CAAA;AAEnB;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,QAA+B,CAAA;AAEjE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAM1D;AAED,OAAO,QAAQ,QAAQ,CAAC;IACtB,UAAU,OAAO;QACf,UAAU,EAAE,iBAAiB,CAAA;KAC9B;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,8BAAsB,iBAAkB,SAAQ,OAAO;gBACzC,GAAG,EAAE,OAAO;IAIxB;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,iBAAiB,CACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACtC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC;IAElB;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,mBAAmB,GAAG,gBAAgB;IAE3D;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAC7F;AAED,eAAe,iBAAiB,CAAA"}
package/lib/index.js ADDED
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Service Definition for the subprocess capability seam (`ctx.subprocess`): execution-world executable lookup,
3
+ * fully specified managed process trees with raw or
4
+ * collected stdio, and one terminal-process primitive. Command defaulting,
5
+ * shell semantics, deadlines, protocol framing, terminal readiness, and
6
+ * presentation belong to consumers. The local implementation lives in
7
+ * `@bo-agent/subprocess-local`.
8
+ *
9
+ * @module @bo-agent/subprocess
10
+ */
11
+ import { Service } from 'cordis';
12
+ import { DSH_ENV_PREFIX } from "./types.js";
13
+ export { DSH_ENV_PREFIX } from "./types.js";
14
+ /**
15
+ * Credential-shaped environment names are NOT forwarded to children (the
16
+ * harness's own API keys / secrets must not leak into a spawned process
17
+ * implicitly). One heuristic for every in-repo spawner; a deliberately
18
+ * supplied entry survives because explicit env layers merge after the scrub.
19
+ */
20
+ export const SENSITIVE_ENV_PATTERN = /KEY|PASSWORD|SECRET|TOKEN/i;
21
+ /**
22
+ * The ambient parent environment minus credential-shaped names and minus all
23
+ * `DSH_*` names — the canonical base every harness child starts from. `PATH`,
24
+ * `HOME`, locale, and proxy variables survive, so child CLIs run normally;
25
+ * harness identity never leaks implicitly (a deliberately forwarded
26
+ * credential or current `DSH_*` fact goes through the spec's explicit `env`,
27
+ * which merges after this scrub). Both scrubs match case-insensitively:
28
+ * Windows environment names are case-insensitive, so a parent `dsh_*` entry
29
+ * would otherwise survive and read back as `$env:DSH_*` in the child;
30
+ * deliberate lowercase `dsh_*` names on POSIX are implausible. Exported as a
31
+ * plain function so spawners that cannot route through the service (node-pty
32
+ * backends, SDK-managed transports) share the one scrub definition.
33
+ * @returns a fresh environment object safe to hand to a child spawn.
34
+ */
35
+ export function scrubbedParentEnv() {
36
+ const env = {};
37
+ for (const [key, value] of Object.entries(process.env)) {
38
+ if (value !== undefined && !SENSITIVE_ENV_PATTERN.test(key) && !key.toUpperCase().startsWith(DSH_ENV_PREFIX))
39
+ env[key] = value;
40
+ }
41
+ return env;
42
+ }
43
+ /**
44
+ * Abstract subprocess service. Subclass, implement {@link spawn}, and load the
45
+ * subclass as a plugin — it registers as `ctx.subprocess` (one implementation
46
+ * per context; loading a second throws, which is cordis' standard
47
+ * duplicate-service behavior).
48
+ *
49
+ * Implementations must honor these semantics:
50
+ * - Executable paths belong to one execution world shared with the mounted
51
+ * filesystem provider.
52
+ * - {@link spawn} returns immediately with a live handle; `done` resolves at
53
+ * process close with exit facts and rejects only for spawn-level failures.
54
+ * - Collect-mode readers are offset-based and non-consuming, so independent
55
+ * readers never consume one another's output; lossy reads report truncation
56
+ * and the spill file holding the complete stream when one exists. Piped
57
+ * streams are handed to the caller raw and never buffered here.
58
+ * - {@link SubprocessHandle.terminate} (and the spec's abort signal) escalates
59
+ * SIGTERM→grace→SIGKILL — the only termination verb — tree-scoped on every
60
+ * platform. {@link SubprocessHandle.waitForExit} observes whole-tree
61
+ * liveness, so a consumer-owned teardown ladder can hold each tier on real
62
+ * quiescence.
63
+ * - Disposal of the service terminates all still-running managed processes
64
+ * and awaits their exit.
65
+ * - {@link spawnTerminal} owns terminal allocation, text transport,
66
+ * foreground groups, signalling, and whole-session quiescence behind one
67
+ * awaited termination method; readiness and persistent-shell policy stay
68
+ * in the PTY consumer. Its output stream ends after queued terminal output
69
+ * when the top-level process exits.
70
+ */
71
+ export class SubprocessRuntime extends Service {
72
+ constructor(ctx) {
73
+ super(ctx, 'subprocess');
74
+ }
75
+ }
76
+ export default SubprocessRuntime;
77
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAW,OAAO,EAAE,MAAM,QAAQ,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAI3C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAqB3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,4BAA4B,CAAA;AAEjE;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IAChI,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAQD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,OAAgB,iBAAkB,SAAQ,OAAO;IACrD,YAAY,GAAY;QACtB,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;IAC1B,CAAC;CAmCF;AAED,eAAe,iBAAiB,CAAA"}
package/lib/types.d.ts ADDED
@@ -0,0 +1,245 @@
1
+ /**
2
+ * Vocabulary for the subprocess Service Definition: fully-specified spawn requests with
3
+ * Node-shaped per-stream stdio modes, bounded collected output with spill
4
+ * recovery, raw piped streams, and tree-scoped termination. Command
5
+ * defaulting, shell semantics, protocol framing, and presentation belong to
6
+ * consumers such as the bash executor seam.
7
+ *
8
+ * @module @bo-agent/subprocess/types
9
+ */
10
+ import type { Readable, Writable } from 'node:stream';
11
+ /** Namespace prefix reserved for harness-managed child environment facts. */
12
+ export declare const DSH_ENV_PREFIX: "DSH_";
13
+ /** One environment key inside the managed {@link DSH_ENV_PREFIX} namespace. */
14
+ export type DshEnvironmentKey = `${typeof DSH_ENV_PREFIX}${string}`;
15
+ /** Trusted harness variables for one child-process execution. */
16
+ export type DshEnvironment = Readonly<Record<DshEnvironmentKey, string>>;
17
+ /** One captured stream: the (possibly truncated) text plus recovery info. */
18
+ export interface CollectedOutput {
19
+ /** Collected text — the TAIL of the stream when truncated. */
20
+ text: string;
21
+ /** True when bytes were dropped from `text`. */
22
+ truncated: boolean;
23
+ /** Path to a file holding the COMPLETE stream, when truncated and available. */
24
+ spillPath?: string;
25
+ }
26
+ /**
27
+ * stdin disposition. `'ignore'` leaves fd 0 on `/dev/null`; `'pipe'` exposes
28
+ * {@link SubprocessHandle.stdin} for the caller's ongoing protocol writes;
29
+ * `{ data }` writes the bytes and closes (the batch shape).
30
+ */
31
+ export type SubprocessStdinMode = 'ignore' | 'pipe' | {
32
+ readonly data: string;
33
+ };
34
+ /**
35
+ * Bounded in-memory collection for one output stream, with an optional
36
+ * full-stream spill file. Omitting `spill` keeps only the in-memory tail —
37
+ * the diagnostic-tail shape (a language server's stderr); including it makes
38
+ * the complete stream recoverable up to its cap (the bash tool shape).
39
+ */
40
+ export interface SubprocessCollect {
41
+ /** In-memory cap in bytes; overflow keeps the TAIL. */
42
+ maxBytes: number;
43
+ /** Full-stream spill file; absent disables spilling entirely. */
44
+ spill?: {
45
+ /** Whole-stream byte cap; a larger stream discards its now-incomplete spill. */
46
+ maxBytes: number;
47
+ };
48
+ }
49
+ /**
50
+ * stdout/stderr disposition. `'pipe'` exposes the raw `Readable` for the
51
+ * caller's protocol decoding; `'inherit'` passes the parent's descriptor
52
+ * through (child diagnostics land on the harness's own stream); a
53
+ * {@link SubprocessCollect} object buffers boundedly with offset-based reads.
54
+ */
55
+ export type SubprocessOutputMode = 'pipe' | 'inherit' | SubprocessCollect;
56
+ /** Per-stream stdio dispositions, all explicit — this seam applies no defaults. */
57
+ export interface SubprocessStdio {
58
+ stdin: SubprocessStdinMode;
59
+ stdout: SubprocessOutputMode;
60
+ stderr: SubprocessOutputMode;
61
+ }
62
+ /**
63
+ * A fully-specified spawn request. This seam applies no defaults: every
64
+ * disposition, limit, and directory is explicit, so the caller's own config —
65
+ * not a hidden subprocess-service default — decides them (the `shell`
66
+ * request/spec split is the owning template).
67
+ */
68
+ export interface SubprocessSpawnSpec {
69
+ /** Executable and arguments; `argv[0]` is the program. Never shell-interpreted here. */
70
+ argv: readonly string[];
71
+ /** Working directory for the child. */
72
+ cwd: string;
73
+ /** Per-stream stdio dispositions. */
74
+ stdio: SubprocessStdio;
75
+ /**
76
+ * Positive finite grace period in milliseconds for the
77
+ * {@link SubprocessHandle.terminate} escalation and for draining still-open
78
+ * collected pipes after the process exits (an inherited descriptor held by
79
+ * a surviving descendant cannot hold the outcome open indefinitely).
80
+ */
81
+ graceMs: number;
82
+ /**
83
+ * Abort signal — starts the terminate escalation on the process tree when
84
+ * it fires. The caller owns deadlines and cause classification; this seam
85
+ * only reacts to the abort.
86
+ */
87
+ signal?: AbortSignal | undefined;
88
+ /**
89
+ * Explicit environment entries merged onto the implementation's scrubbed
90
+ * parent base (see {@link SubprocessRuntime.scrubbedParentEnv}), with no
91
+ * namespace validation. A string is a deliberate caller opt-in, so a
92
+ * forwarded credential-shaped entry or current `DSH_*` fact survives the
93
+ * scrub; `undefined` is a tombstone that removes an ordinary ambient entry
94
+ * from the child.
95
+ */
96
+ env?: NodeJS.ProcessEnv | undefined;
97
+ }
98
+ /**
99
+ * Exit facts of one closed process — Node's `close`-event vocabulary.
100
+ * Deliberately carries NO timeout or cancellation classification (the caller
101
+ * reads the signal it owns to classify causes) and NO output: collected
102
+ * streams stay readable through {@link SubprocessHandle.collected} after
103
+ * settlement, so batch and streaming callers share one access path.
104
+ */
105
+ export interface SubprocessOutcome {
106
+ /** Exit code; null when the process died from a signal. */
107
+ exitCode: number | null;
108
+ /** Terminating signal (e.g. 'SIGTERM'); null on normal exit. */
109
+ signal: NodeJS.Signals | null;
110
+ }
111
+ /** One incremental {@link SubprocessOutputReader.readFrom} read. */
112
+ export interface SubprocessOutputRead {
113
+ /** Stream text from the requested offset (the whole retained tail when lossy). */
114
+ text: string;
115
+ /** Whole-stream offset to resume from on the next read. */
116
+ nextOffset: number;
117
+ /** True when the requested offset slid out of the in-memory tail window. */
118
+ lossy: boolean;
119
+ /** Path to the full-stream spill file, when one was created and remains intact. */
120
+ spillPath?: string;
121
+ }
122
+ /**
123
+ * Cursor-free incremental access to one collected output stream. Offsets are
124
+ * whole-stream byte coordinates owned by the caller, so independent readers
125
+ * cannot consume one another's output; `readFrom(0)` after settlement is the
126
+ * batch result (`lossy` then means the in-memory tail lost its head — the
127
+ * {@link CollectedOutput.truncated} fact).
128
+ */
129
+ export interface SubprocessOutputReader {
130
+ /**
131
+ * Read everything captured since `fromByte`. When that offset has slid out
132
+ * of the in-memory tail window the read is `lossy` — it returns the whole
133
+ * retained tail and the gap is only recoverable from the spill file.
134
+ * @param fromByte - whole-stream offset to resume from (a prior read's `nextOffset`; 0 for the first read).
135
+ * @returns the delta text, the next offset, the `lossy` flag, and the spill path when one exists.
136
+ */
137
+ readFrom(fromByte: number): SubprocessOutputRead;
138
+ }
139
+ /** Offset-based readers for the streams spawned in collect mode. */
140
+ export interface SubprocessCollectedOutputs {
141
+ /** Present iff stdout is a {@link SubprocessCollect}. */
142
+ readonly stdout?: SubprocessOutputReader;
143
+ /** Present iff stderr is a {@link SubprocessCollect}. */
144
+ readonly stderr?: SubprocessOutputReader;
145
+ }
146
+ /**
147
+ * A live child process rooted in its own process tree. Collected output
148
+ * remains readable after exit; piped streams belong to the caller.
149
+ *
150
+ * Termination is tree-scoped everywhere: POSIX signals the detached process
151
+ * group (falling back to the direct child when the group is gone), Windows
152
+ * terminates the tree via `taskkill /T`, so helper processes cannot outlive
153
+ * the handle unnoticed.
154
+ */
155
+ export interface SubprocessHandle {
156
+ /** Process id (tree root); -1 when the spawn itself failed. */
157
+ readonly pid: number;
158
+ /** The child's stdin, present iff spawned with `stdin: 'pipe'`. */
159
+ readonly stdin: Writable | undefined;
160
+ /** The child's raw stdout, present iff spawned with `stdout: 'pipe'`. */
161
+ readonly stdout: Readable | undefined;
162
+ /** The child's raw stderr, present iff spawned with `stderr: 'pipe'`. */
163
+ readonly stderr: Readable | undefined;
164
+ /** Offset-based readers for collect-mode streams (also readable after exit). */
165
+ readonly collected: SubprocessCollectedOutputs;
166
+ /** Resolves at process close with exit facts; rejects only for spawn-level failures. */
167
+ readonly done: Promise<SubprocessOutcome>;
168
+ /**
169
+ * Begin the SIGTERM → `graceMs` → SIGKILL escalation on the process tree
170
+ * (Windows force-terminates immediately) — the seam's only termination
171
+ * verb. Idempotent, a no-op once the tree is gone (the pid may be reused),
172
+ * and also triggered by the spec's abort signal.
173
+ */
174
+ terminate(): void;
175
+ /**
176
+ * Wait until the process tree has exited — the tree, not just the direct
177
+ * child, so a still-running helper is observable before teardown returns.
178
+ * @param signal - optional bound for the wait.
179
+ * @returns `true` when the tree exited, `false` when the signal aborted first.
180
+ */
181
+ waitForExit(signal?: AbortSignal): Promise<boolean>;
182
+ }
183
+ /** Signals supported by the terminal-process primitive. */
184
+ export type SubprocessTerminalSignal = 'SIGINT' | 'SIGTERM' | 'SIGKILL' | 'SIGTSTP' | 'SIGHUP';
185
+ /** A fully specified terminal-process spawn. */
186
+ export interface SubprocessTerminalSpawnSpec {
187
+ /** Executable and arguments; `argv[0]` is the program. */
188
+ argv: readonly string[];
189
+ /** Working directory in this subprocess provider's execution world. */
190
+ cwd: string;
191
+ /** Explicit environment layered after the provider's ambient scrub. */
192
+ env?: Record<string, string> | undefined;
193
+ /** Initial terminal row count. */
194
+ rows: number;
195
+ /** Initial terminal column count. */
196
+ cols: number;
197
+ /** TERM-to-KILL cleanup grace for the complete terminal session. */
198
+ graceMs: number;
199
+ /** Cancellation of terminal allocation; a published handle owns its later lifetime. */
200
+ signal?: AbortSignal | undefined;
201
+ }
202
+ /** Current foreground process-group facts for one terminal. */
203
+ export interface SubprocessTerminalForeground {
204
+ /** Foreground process-group id published by the terminal driver. */
205
+ processGroupId: number;
206
+ /** Whether the provider can currently prove that group is waiting on terminal input. */
207
+ inputWaiting: boolean;
208
+ }
209
+ /**
210
+ * One live terminal process and its owned OS session. Terminal allocation,
211
+ * foreground-group inspection/signalling, and session-tree cleanup are one
212
+ * deep subprocess primitive because none can be reconstructed from ordinary
213
+ * piped stdio without substrate-specific process control.
214
+ */
215
+ export interface SubprocessTerminalHandle {
216
+ /** Top-level terminal process id. */
217
+ readonly pid: number;
218
+ /** UTF-8 terminal output bytes in delivery order; ends after queued output when the terminal exits. */
219
+ readonly output: Readable;
220
+ /** Resolves when the top-level process exits; rejects only for a live transport failure. */
221
+ readonly done: Promise<SubprocessOutcome>;
222
+ /**
223
+ * Write text to the terminal input.
224
+ * @param data - text to deliver without implicit newline conversion.
225
+ */
226
+ write(data: string): Promise<void>;
227
+ /**
228
+ * Inspect the current foreground process group.
229
+ * @returns its id and input-wait fact, or undefined when no foreground group can be resolved.
230
+ */
231
+ inspectForeground(): Promise<SubprocessTerminalForeground | undefined>;
232
+ /**
233
+ * Deliver a signal to the current foreground process group.
234
+ * @param signal - permitted terminal signal.
235
+ * @returns the exact group id that received it.
236
+ */
237
+ signalForeground(signal: SubprocessTerminalSignal): Promise<number>;
238
+ /**
239
+ * Idempotently terminate every terminal-session member the provider can still observe and await quiescence.
240
+ * After settlement, no write, inspection, or signal call remains in flight.
241
+ * Providers document substrate-specific observability limits.
242
+ */
243
+ terminate(): Promise<void>;
244
+ }
245
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/lib/types.js ADDED
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Vocabulary for the subprocess Service Definition: fully-specified spawn requests with
3
+ * Node-shaped per-stream stdio modes, bounded collected output with spill
4
+ * recovery, raw piped streams, and tree-scoped termination. Command
5
+ * defaulting, shell semantics, protocol framing, and presentation belong to
6
+ * consumers such as the bash executor seam.
7
+ *
8
+ * @module @bo-agent/subprocess/types
9
+ */
10
+ /** Namespace prefix reserved for harness-managed child environment facts. */
11
+ export const DSH_ENV_PREFIX = 'DSH_';
12
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,6EAA6E;AAC7E,MAAM,CAAC,MAAM,cAAc,GAAG,MAAe,CAAA"}
package/package.json ADDED
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "@bo-agent/subprocess",
3
+ "description": "Abstract subprocess Service Definition: managed process trees, collected stdio with spill, and tree-scoped termination (standalone product, forked from the DeepSeek Harness)",
4
+ "version": "0.0.2",
5
+ "type": "module",
6
+ "main": "lib/index.js",
7
+ "types": "lib/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./lib/index.d.ts",
11
+ "default": "./lib/index.js"
12
+ },
13
+ "./package.json": "./package.json"
14
+ },
15
+ "files": [
16
+ "lib/"
17
+ ],
18
+ "publishConfig": {
19
+ "access": "public"
20
+ },
21
+ "license": "MIT",
22
+ "dependencies": {
23
+ "cordis": "^4.0.0-rc.10",
24
+ "@bo-agent/inline": "0.0.2"
25
+ },
26
+ "peerDependencies": {
27
+ "cordis": "^4.0.0-rc.10",
28
+ "@bo-agent/inline": "0.0.2"
29
+ }
30
+ }