@harness-engineering/graph 0.2.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 CHANGED
@@ -1 +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.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.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/typealiases.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/index.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/zoderror.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseutil.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/enumutil.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorutil.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/partialutil.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/standard-schema.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/external.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/index.d.cts","../src/types.ts","../src/store/serializer.ts","../src/store/graphstore.ts","../src/store/vectorstore.ts","../src/query/contextql.ts","../src/query/projection.ts","../src/ingest/codeingestor.ts","../src/ingest/gitingestor.ts","../src/ingest/topologicallinker.ts","../src/ingest/knowledgeingestor.ts","../src/ingest/connectors/connectorinterface.ts","../src/ingest/connectors/connectorutils.ts","../src/ingest/connectors/syncmanager.ts","../src/ingest/connectors/jiraconnector.ts","../src/ingest/connectors/slackconnector.ts","../src/ingest/connectors/confluenceconnector.ts","../src/ingest/connectors/ciconnector.ts","../src/search/fusionlayer.ts","../src/entropy/graphentropyadapter.ts","../src/context/assembler.ts","../../../node_modules/.pnpm/minimatch@10.2.4/node_modules/minimatch/dist/esm/ast.d.ts","../../../node_modules/.pnpm/minimatch@10.2.4/node_modules/minimatch/dist/esm/escape.d.ts","../../../node_modules/.pnpm/minimatch@10.2.4/node_modules/minimatch/dist/esm/unescape.d.ts","../../../node_modules/.pnpm/minimatch@10.2.4/node_modules/minimatch/dist/esm/index.d.ts","../src/constraints/graphconstraintadapter.ts","../src/feedback/graphfeedbackadapter.ts","../src/index.ts","../src/lokijs.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/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.19.15/node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/index.d.ts"],"fileIdsList":[[105,150,151,153,170,171],[105,152,153,170,171],[153,170,171],[105,153,158,170,171,188],[105,153,154,159,164,170,171,173,185,196],[105,153,154,155,164,170,171,173],[105,153,170,171],[100,101,102,105,153,170,171],[105,153,156,170,171,197],[105,153,157,158,165,170,171,174],[105,153,158,170,171,185,193],[105,153,159,161,164,170,171,173],[105,152,153,160,170,171],[105,153,161,162,170,171],[105,153,163,164,170,171],[105,152,153,164,170,171],[105,153,164,165,166,170,171,185,196],[105,153,164,165,166,170,171,180,185,188],[105,146,153,161,164,167,170,171,173,185,196],[105,153,164,165,167,168,170,171,173,185,193,196],[105,153,167,169,170,171,185,193,196],[103,104,105,106,107,108,109,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,196,197,198,199,200,201,202],[105,153,164,170,171],[105,153,170,171,172,196],[105,153,161,164,170,171,173,185],[105,153,170,171,174],[105,153,170,171,175],[105,152,153,170,171,176],[105,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,196,197,198,199,200,201,202],[105,153,170,171,178],[105,153,170,171,179],[105,153,164,170,171,180,181],[105,153,170,171,180,182,197,199],[105,153,165,170,171],[105,153,164,170,171,185,186,188],[105,153,170,171,187,188],[105,153,170,171,185,186],[105,153,170,171,188],[105,153,170,171,189],[105,150,153,170,171,185,190,196],[105,153,164,170,171,191,192],[105,153,170,171,191,192],[105,153,158,170,171,173,185,193],[105,153,170,171,194],[105,153,170,171,173,195],[105,153,167,170,171,179,196],[105,153,158,170,171,197],[105,153,170,171,185,198],[105,153,170,171,172,199],[105,153,170,171,200],[105,146,153,170,171],[105,146,153,164,166,170,171,176,185,188,196,198,199,201],[105,153,170,171,185,202],[95,105,153,170,171],[92,93,94,105,153,170,171],[105,118,122,153,170,171,196],[105,118,153,170,171,185,196],[105,113,153,170,171],[105,115,118,153,170,171,193,196],[105,153,170,171,173,193],[105,153,170,171,203],[105,113,153,170,171,203],[105,115,118,153,170,171,173,196],[105,110,111,114,117,153,164,170,171,185,196],[105,118,125,153,170,171],[105,110,116,153,170,171],[105,118,139,140,153,170,171],[105,114,118,153,170,171,188,196,203],[105,139,153,170,171,203],[105,112,113,153,170,171,203],[105,118,153,170,171],[105,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,140,141,142,143,144,145,153,170,171],[105,118,133,153,170,171],[105,118,125,126,153,170,171],[105,116,118,126,127,153,170,171],[105,117,153,170,171],[105,110,113,118,153,170,171],[105,118,122,126,127,153,170,171],[105,122,153,170,171],[105,116,118,121,153,170,171,196],[105,110,115,118,125,153,170,171],[105,153,170,171,185],[105,113,118,139,153,170,171,201,203],[70,105,153,170,171],[61,62,105,153,170,171],[58,59,61,63,64,69,105,153,170,171],[59,61,105,153,170,171],[69,105,153,170,171],[61,105,153,170,171],[58,59,61,64,65,66,67,68,105,153,170,171],[58,59,60,105,153,170,171],[74,95,105,153,170,171,175],[72,74,75,76,89,105,153,170,171],[74,105,153,170,171],[72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,96,97,105,153,170,171],[72,74,105,153,166,170,171,175],[72,74,82,105,153,170,171],[72,74,82,83,105,153,170,171],[72,74,105,153,170,171],[72,74,82,105,153,166,170,171,175],[72,74,105,153,154,170,171,197],[72,74,105,153,158,166,170,171,175],[74,105,153,170,171,175],[72,105,153,170,171],[72,74,75,105,153,170,171],[72,73,99,105,153,170,171],[72,105,153,166,170,171,175],[71,105,153,170,171]],"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":"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":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"08b2fae7b0f553ad9f79faec864b179fc58bc172e295a70943e8585dd85f600c","impliedFormat":1},{"version":"f12edf1672a94c578eca32216839604f1e1c16b40a1896198deabf99c882b340","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"4fdb529707247a1a917a4626bfb6a293d52cd8ee57ccf03830ec91d39d606d6d","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"5780b706cece027f0d4444fbb4e1af62dc51e19da7c3d3719f67b22b033859b9","impliedFormat":1},"3ef48b62839ddb5d36f570abb298dd976fcb537d936756cb0de18c8808ed0600","d33627d48721fe14237a591dc1eb560a5ea42f5bbede7d0b54d2efee2b8c7253",{"version":"22c11ae5e6aac16aa5795d21cda106055db58f4b4523406f6fe22343fa3eefdd","signature":"d3d12e2f4deb3e7b89f2d4e0c467bcded3af6d145590f6151d08bf1512678ea0"},"4355ca6da646f746cd3170304ef94c5d70fbd00dcdae05387925bdf26068118c","7f4c69945e6bcb824d261cc101f890c135a218fa163b71676c5041e28386c4c5","07b7470b3b8b67009b5f2d4761f9c3d3c89f4816a85606ae26420da712fc9cd7","6a07102280f7600e8a04de5fae116fd717073298b794a1cd1af5db6f7ed2929e","1552a69159608d1ac2d81c616076849e5f78b645130d4b0e7ecb46a23bd01364","97b306995de9a6540831e57df57fd9cd98c3f4214555f335f83a32850ce7e408","da50cc6785d5f9c73d79ef4c6ac1ebcfbf66dc20e9e035f645a91a7ad3855b33","4ee0513085263da17de0625a04f324b3850bce8dd1744680c83270f0a192714f","e8272ea5379082933ae82124588ac8af96134ed9c00a412885072473de15d7f2","9c6211a949fb16b940c5846fbd85feae11def6c8051707833a58e9570de0c9a2","81854d7ebd3098f663b4ad39eb2a62b3a4d883da872e3bd70a9377db5bbb5da4","56a187a5c6a68dfcbaa4b7fb64c546d1b8cb618a4b005c3e42640925962f56e1",{"version":"a29b0e0ee8101ec28d9a25dbca3bdb58d858e2319237a7b92632b4bc01d1e0d0","signature":"982b8f9821b48df98070ca55b846fed368da19f4ddf55b4a3ce41b3934ecc4e9"},{"version":"fe1e2a1c9cb7e2a5cb3f57d5cc8dfd02e37818d984c5e6368bab8e305df5880d","signature":"5b9709c4e13d214f564f563b5a879b0db6a1395276f636c3f1293f8f47601eac"},"45968568e1ea3a48119d7d98267595428d36324a0b0130188dfa30834b62d52a",{"version":"5982856c4e13a2127692596862755b00c46f1639d35ed6b3aba84d1a55cf445e","signature":"9b9166d71c5ed51e1bcd6803659e154ed9cc78704b7f1223105a4faf222996dc"},"c01daf7ecc914ad10c6daed22c9e8230d5e4834cf9b56453f8eb251edf8c1357",{"version":"ba2b8858ace0b631b318392c75c167fc3b2f819b0afb6706da4635346db92451","impliedFormat":99},{"version":"d8a6b3f899917210f00ddf13b564a2a4fdcf1e50c5a22e8d3abcfd4f1c4f9ae1","impliedFormat":99},{"version":"fd5eab954b31e761a72234031dadc3aab768763942a9637e380aed441cc94f59","impliedFormat":99},{"version":"6d719ee5051d87a0f5c94d9481d86221cfbe350f3f80c12bb3fe6ab7ea30f1ab","impliedFormat":99},{"version":"ab51a2fc192e0a7bdc1eec87724b07c092453c58a757342d4e924139f9187a5a","signature":"214b94d2f782ca911bec61148e27a7f919af4f15433ffe71917ff99216a649b0"},{"version":"839a7f41ca1e0cb5a9c2229af6fb65dea87936e815bc9d5dc9e344ee7af0242e","signature":"e675bff89e0944f0e764c85cf564be1d0ce50b1e8419ee025b849067c7adc5f8"},{"version":"fca1c2c911a156092c611666efbf67f74768f31efd50469413ec2bc98ceb8543","signature":"1988d4aae09d467986acb9f9177cf7b16292f10c3187d4356c031349adf32a05"},"6c3c543acd52bc6b0b59c78843c66950e837d147d94c413e71ecce7be556aee4",{"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":"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":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"58647d85d0f722a1ce9de50955df60a7489f0593bf1a7015521efe901c06d770","impliedFormat":1},{"version":"6b4e081d55ac24fc8a4631d5dd77fe249fa25900abd7d046abb87d90e3b45645","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"83e63d6ccf8ec004a3bb6d58b9bb0104f60e002754b1e968024b320730cc5311","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":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"f27524f4bef4b6519c604bdb23bf4465bddcccbf3f003abb901acbd0d7404d99","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"6b039f55681caaf111d5eb84d292b9bee9e0131d0db1ad0871eef0964f533c73","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c8d3e5a18ba35629954e48c4cc8f11dc88224650067a172685c736b27a34a4dc","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2b55d426ff2b9087485e52ac4bc7cfafe1dc420fc76dad926cd46526567c501a","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":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1}],"root":[[72,91],[96,99]],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"exactOptionalPropertyTypes":true,"module":99,"noFallthroughCasesInSwitch":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[150,1],[151,1],[152,2],[105,3],[153,4],[154,5],[155,6],[100,7],[103,8],[101,7],[102,7],[156,9],[157,10],[158,11],[159,12],[160,13],[161,14],[162,14],[163,15],[164,16],[165,17],[166,18],[106,7],[104,7],[167,19],[168,20],[169,21],[203,22],[170,23],[171,7],[172,24],[173,25],[174,26],[175,27],[176,28],[177,29],[178,30],[179,31],[180,32],[181,32],[182,33],[183,7],[184,34],[185,35],[187,36],[186,37],[188,38],[189,39],[190,40],[191,41],[192,42],[193,43],[194,44],[195,45],[196,46],[197,47],[198,48],[199,49],[200,50],[107,7],[108,7],[109,7],[147,51],[148,7],[149,7],[201,52],[202,53],[92,54],[93,54],[95,55],[94,54],[56,7],[57,7],[11,7],[10,7],[2,7],[12,7],[13,7],[14,7],[15,7],[16,7],[17,7],[18,7],[19,7],[3,7],[20,7],[21,7],[4,7],[22,7],[26,7],[23,7],[24,7],[25,7],[27,7],[28,7],[29,7],[5,7],[30,7],[31,7],[32,7],[33,7],[6,7],[37,7],[34,7],[35,7],[36,7],[38,7],[7,7],[39,7],[44,7],[45,7],[40,7],[41,7],[42,7],[43,7],[8,7],[49,7],[46,7],[47,7],[48,7],[50,7],[9,7],[51,7],[52,7],[53,7],[55,7],[54,7],[1,7],[125,56],[135,57],[124,56],[145,58],[116,59],[115,60],[144,61],[138,62],[143,63],[118,64],[132,65],[117,66],[141,67],[113,68],[112,61],[142,69],[114,70],[119,71],[120,7],[123,71],[110,7],[146,72],[136,73],[127,74],[128,75],[130,76],[126,77],[129,78],[139,61],[121,79],[122,80],[131,81],[111,82],[134,73],[133,71],[137,7],[140,83],[71,84],[63,85],[70,86],[65,7],[66,7],[64,87],[67,88],[58,7],[59,7],[60,84],[62,89],[68,7],[69,90],[61,91],[96,92],[91,93],[90,94],[97,94],[98,95],[78,96],[88,97],[87,98],[82,99],[83,99],[85,98],[86,98],[84,100],[79,101],[81,102],[80,103],[99,7],[76,99],[77,104],[89,105],[74,106],[73,107],[75,7],[72,108]],"affectedFilesPendingEmit":[[96,51],[91,51],[90,51],[97,51],[98,51],[78,51],[88,51],[87,51],[82,51],[83,51],[85,51],[86,51],[84,51],[79,51],[81,51],[80,51],[76,51],[77,51],[89,51],[74,51],[73,51],[75,51],[72,51]],"emitSignatures":[72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,96,97,98],"version":"5.9.3"}
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.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.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/typealiases.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/index.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/zoderror.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseutil.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/enumutil.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorutil.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/partialutil.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/standard-schema.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/external.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/index.d.cts","../src/types.ts","../src/store/serializer.ts","../src/store/graphstore.ts","../src/store/vectorstore.ts","../src/query/contextql.ts","../src/query/projection.ts","../src/ingest/codeingestor.ts","../src/ingest/gitingestor.ts","../src/ingest/topologicallinker.ts","../src/ingest/knowledgeingestor.ts","../src/ingest/connectors/connectorinterface.ts","../src/ingest/connectors/connectorutils.ts","../src/ingest/connectors/syncmanager.ts","../src/ingest/connectors/jiraconnector.ts","../src/ingest/connectors/slackconnector.ts","../src/ingest/connectors/confluenceconnector.ts","../src/ingest/connectors/ciconnector.ts","../src/search/fusionlayer.ts","../src/entropy/graphentropyadapter.ts","../src/entropy/graphcomplexityadapter.ts","../src/entropy/graphcouplingadapter.ts","../src/context/assembler.ts","../../../node_modules/.pnpm/minimatch@10.2.4/node_modules/minimatch/dist/esm/ast.d.ts","../../../node_modules/.pnpm/minimatch@10.2.4/node_modules/minimatch/dist/esm/escape.d.ts","../../../node_modules/.pnpm/minimatch@10.2.4/node_modules/minimatch/dist/esm/unescape.d.ts","../../../node_modules/.pnpm/minimatch@10.2.4/node_modules/minimatch/dist/esm/index.d.ts","../src/constraints/graphconstraintadapter.ts","../src/feedback/graphfeedbackadapter.ts","../src/index.ts","../src/lokijs.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/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.19.15/node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@22.19.15/node_modules/@types/node/index.d.ts"],"fileIdsList":[[107,152,153,155,172,173],[107,154,155,172,173],[155,172,173],[107,155,160,172,173,190],[107,155,156,161,166,172,173,175,187,198],[107,155,156,157,166,172,173,175],[107,155,172,173],[102,103,104,107,155,172,173],[107,155,158,172,173,199],[107,155,159,160,167,172,173,176],[107,155,160,172,173,187,195],[107,155,161,163,166,172,173,175],[107,154,155,162,172,173],[107,155,163,164,172,173],[107,155,165,166,172,173],[107,154,155,166,172,173],[107,155,166,167,168,172,173,187,198],[107,155,166,167,168,172,173,182,187,190],[107,148,155,163,166,169,172,173,175,187,198],[107,155,166,167,169,170,172,173,175,187,195,198],[107,155,169,171,172,173,187,195,198],[105,106,107,108,109,110,111,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,196,197,198,199,200,201,202,203,204],[107,155,166,172,173],[107,155,172,173,174,198],[107,155,163,166,172,173,175,187],[107,155,172,173,176],[107,155,172,173,177],[107,154,155,172,173,178],[107,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,196,197,198,199,200,201,202,203,204],[107,155,172,173,180],[107,155,172,173,181],[107,155,166,172,173,182,183],[107,155,172,173,182,184,199,201],[107,155,167,172,173],[107,155,166,172,173,187,188,190],[107,155,172,173,189,190],[107,155,172,173,187,188],[107,155,172,173,190],[107,155,172,173,191],[107,152,155,172,173,187,192,198],[107,155,166,172,173,193,194],[107,155,172,173,193,194],[107,155,160,172,173,175,187,195],[107,155,172,173,196],[107,155,172,173,175,197],[107,155,169,172,173,181,198],[107,155,160,172,173,199],[107,155,172,173,187,200],[107,155,172,173,174,201],[107,155,172,173,202],[107,148,155,172,173],[107,148,155,166,168,172,173,178,187,190,198,200,201,203],[107,155,172,173,187,204],[97,107,155,172,173],[94,95,96,107,155,172,173],[107,120,124,155,172,173,198],[107,120,155,172,173,187,198],[107,115,155,172,173],[107,117,120,155,172,173,195,198],[107,155,172,173,175,195],[107,155,172,173,205],[107,115,155,172,173,205],[107,117,120,155,172,173,175,198],[107,112,113,116,119,155,166,172,173,187,198],[107,120,127,155,172,173],[107,112,118,155,172,173],[107,120,141,142,155,172,173],[107,116,120,155,172,173,190,198,205],[107,141,155,172,173,205],[107,114,115,155,172,173,205],[107,120,155,172,173],[107,114,115,116,117,118,119,120,121,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,142,143,144,145,146,147,155,172,173],[107,120,135,155,172,173],[107,120,127,128,155,172,173],[107,118,120,128,129,155,172,173],[107,119,155,172,173],[107,112,115,120,155,172,173],[107,120,124,128,129,155,172,173],[107,124,155,172,173],[107,118,120,123,155,172,173,198],[107,112,117,120,127,155,172,173],[107,155,172,173,187],[107,115,120,141,155,172,173,203,205],[70,107,155,172,173],[61,62,107,155,172,173],[58,59,61,63,64,69,107,155,172,173],[59,61,107,155,172,173],[69,107,155,172,173],[61,107,155,172,173],[58,59,61,64,65,66,67,68,107,155,172,173],[58,59,60,107,155,172,173],[74,97,107,155,172,173,177],[72,74,75,76,89,107,155,172,173],[74,107,155,172,173],[72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,98,99,107,155,172,173],[72,74,107,155,168,172,173,177],[72,74,82,107,155,172,173],[72,74,82,83,107,155,172,173],[72,74,107,155,172,173],[72,74,82,107,155,168,172,173,177],[72,74,107,155,156,172,173,199],[72,74,107,155,160,168,172,173,177],[74,107,155,172,173,177],[72,107,155,172,173],[72,74,75,107,155,172,173],[72,73,101,107,155,172,173],[72,107,155,168,172,173,177],[71,107,155,172,173]],"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":"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":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"08b2fae7b0f553ad9f79faec864b179fc58bc172e295a70943e8585dd85f600c","impliedFormat":1},{"version":"f12edf1672a94c578eca32216839604f1e1c16b40a1896198deabf99c882b340","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"4fdb529707247a1a917a4626bfb6a293d52cd8ee57ccf03830ec91d39d606d6d","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"5780b706cece027f0d4444fbb4e1af62dc51e19da7c3d3719f67b22b033859b9","impliedFormat":1},"3ef48b62839ddb5d36f570abb298dd976fcb537d936756cb0de18c8808ed0600","d33627d48721fe14237a591dc1eb560a5ea42f5bbede7d0b54d2efee2b8c7253",{"version":"22c11ae5e6aac16aa5795d21cda106055db58f4b4523406f6fe22343fa3eefdd","signature":"d3d12e2f4deb3e7b89f2d4e0c467bcded3af6d145590f6151d08bf1512678ea0"},"4355ca6da646f746cd3170304ef94c5d70fbd00dcdae05387925bdf26068118c","7f4c69945e6bcb824d261cc101f890c135a218fa163b71676c5041e28386c4c5","07b7470b3b8b67009b5f2d4761f9c3d3c89f4816a85606ae26420da712fc9cd7",{"version":"69527d1af5e80d335610e01e8164fa341c055a6eeaed2298bdf0c55fcc8bb2f9","signature":"abc4ef9182f00ceb23449dcb114fd96d9fb5fc5bf64b9d5c6b3a86a5edd691b3"},"1552a69159608d1ac2d81c616076849e5f78b645130d4b0e7ecb46a23bd01364","97b306995de9a6540831e57df57fd9cd98c3f4214555f335f83a32850ce7e408","da50cc6785d5f9c73d79ef4c6ac1ebcfbf66dc20e9e035f645a91a7ad3855b33","4ee0513085263da17de0625a04f324b3850bce8dd1744680c83270f0a192714f","e8272ea5379082933ae82124588ac8af96134ed9c00a412885072473de15d7f2","9c6211a949fb16b940c5846fbd85feae11def6c8051707833a58e9570de0c9a2","81854d7ebd3098f663b4ad39eb2a62b3a4d883da872e3bd70a9377db5bbb5da4","56a187a5c6a68dfcbaa4b7fb64c546d1b8cb618a4b005c3e42640925962f56e1",{"version":"a29b0e0ee8101ec28d9a25dbca3bdb58d858e2319237a7b92632b4bc01d1e0d0","signature":"982b8f9821b48df98070ca55b846fed368da19f4ddf55b4a3ce41b3934ecc4e9"},{"version":"fe1e2a1c9cb7e2a5cb3f57d5cc8dfd02e37818d984c5e6368bab8e305df5880d","signature":"5b9709c4e13d214f564f563b5a879b0db6a1395276f636c3f1293f8f47601eac"},"45968568e1ea3a48119d7d98267595428d36324a0b0130188dfa30834b62d52a",{"version":"5982856c4e13a2127692596862755b00c46f1639d35ed6b3aba84d1a55cf445e","signature":"9b9166d71c5ed51e1bcd6803659e154ed9cc78704b7f1223105a4faf222996dc"},{"version":"fc94320fee6ffc0484347ad8de6ddadf36e574abaa4eab0e3ce16aa207b6d68e","signature":"0c3ba28b5f5c9618363452df7570461b57e34a3cc12e3eaa45fbed7fe24007bd"},{"version":"0dcfdc504d3478280da55428a4273143601d5e4b25188edf4d11c127297cc823","signature":"6f7f9f0d49e88e40408b0c447629519aeff35fd4bfe11943ca3e519bca2f95fc"},"c01daf7ecc914ad10c6daed22c9e8230d5e4834cf9b56453f8eb251edf8c1357",{"version":"ba2b8858ace0b631b318392c75c167fc3b2f819b0afb6706da4635346db92451","impliedFormat":99},{"version":"d8a6b3f899917210f00ddf13b564a2a4fdcf1e50c5a22e8d3abcfd4f1c4f9ae1","impliedFormat":99},{"version":"fd5eab954b31e761a72234031dadc3aab768763942a9637e380aed441cc94f59","impliedFormat":99},{"version":"6d719ee5051d87a0f5c94d9481d86221cfbe350f3f80c12bb3fe6ab7ea30f1ab","impliedFormat":99},{"version":"ab51a2fc192e0a7bdc1eec87724b07c092453c58a757342d4e924139f9187a5a","signature":"214b94d2f782ca911bec61148e27a7f919af4f15433ffe71917ff99216a649b0"},{"version":"839a7f41ca1e0cb5a9c2229af6fb65dea87936e815bc9d5dc9e344ee7af0242e","signature":"e675bff89e0944f0e764c85cf564be1d0ce50b1e8419ee025b849067c7adc5f8"},{"version":"4c71bdfd075ed216df6623e457ed2a2fd3204eb1ce7778ad2ba70b63c478d718","signature":"1dad4a3cc3eac6e092d39fcb6bc29c3ba55d361072e2b1b1b5ab746c5bfeafc8"},"6c3c543acd52bc6b0b59c78843c66950e837d147d94c413e71ecce7be556aee4",{"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":"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":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"58647d85d0f722a1ce9de50955df60a7489f0593bf1a7015521efe901c06d770","impliedFormat":1},{"version":"6b4e081d55ac24fc8a4631d5dd77fe249fa25900abd7d046abb87d90e3b45645","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"83e63d6ccf8ec004a3bb6d58b9bb0104f60e002754b1e968024b320730cc5311","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":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"f27524f4bef4b6519c604bdb23bf4465bddcccbf3f003abb901acbd0d7404d99","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"6b039f55681caaf111d5eb84d292b9bee9e0131d0db1ad0871eef0964f533c73","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c8d3e5a18ba35629954e48c4cc8f11dc88224650067a172685c736b27a34a4dc","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2b55d426ff2b9087485e52ac4bc7cfafe1dc420fc76dad926cd46526567c501a","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":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1}],"root":[[72,93],[98,101]],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"exactOptionalPropertyTypes":true,"module":99,"noFallthroughCasesInSwitch":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[152,1],[153,1],[154,2],[107,3],[155,4],[156,5],[157,6],[102,7],[105,8],[103,7],[104,7],[158,9],[159,10],[160,11],[161,12],[162,13],[163,14],[164,14],[165,15],[166,16],[167,17],[168,18],[108,7],[106,7],[169,19],[170,20],[171,21],[205,22],[172,23],[173,7],[174,24],[175,25],[176,26],[177,27],[178,28],[179,29],[180,30],[181,31],[182,32],[183,32],[184,33],[185,7],[186,34],[187,35],[189,36],[188,37],[190,38],[191,39],[192,40],[193,41],[194,42],[195,43],[196,44],[197,45],[198,46],[199,47],[200,48],[201,49],[202,50],[109,7],[110,7],[111,7],[149,51],[150,7],[151,7],[203,52],[204,53],[94,54],[95,54],[97,55],[96,54],[56,7],[57,7],[11,7],[10,7],[2,7],[12,7],[13,7],[14,7],[15,7],[16,7],[17,7],[18,7],[19,7],[3,7],[20,7],[21,7],[4,7],[22,7],[26,7],[23,7],[24,7],[25,7],[27,7],[28,7],[29,7],[5,7],[30,7],[31,7],[32,7],[33,7],[6,7],[37,7],[34,7],[35,7],[36,7],[38,7],[7,7],[39,7],[44,7],[45,7],[40,7],[41,7],[42,7],[43,7],[8,7],[49,7],[46,7],[47,7],[48,7],[50,7],[9,7],[51,7],[52,7],[53,7],[55,7],[54,7],[1,7],[127,56],[137,57],[126,56],[147,58],[118,59],[117,60],[146,61],[140,62],[145,63],[120,64],[134,65],[119,66],[143,67],[115,68],[114,61],[144,69],[116,70],[121,71],[122,7],[125,71],[112,7],[148,72],[138,73],[129,74],[130,75],[132,76],[128,77],[131,78],[141,61],[123,79],[124,80],[133,81],[113,82],[136,73],[135,71],[139,7],[142,83],[71,84],[63,85],[70,86],[65,7],[66,7],[64,87],[67,88],[58,7],[59,7],[60,84],[62,89],[68,7],[69,90],[61,91],[98,92],[93,93],[91,94],[92,94],[90,94],[99,94],[100,95],[78,96],[88,97],[87,98],[82,99],[83,99],[85,98],[86,98],[84,100],[79,101],[81,102],[80,103],[101,7],[76,99],[77,104],[89,105],[74,106],[73,107],[75,7],[72,108]],"affectedFilesPendingEmit":[[98,51],[93,51],[91,51],[92,51],[90,51],[99,51],[100,51],[78,51],[88,51],[87,51],[82,51],[83,51],[85,51],[86,51],[84,51],[79,51],[81,51],[80,51],[76,51],[77,51],[89,51],[74,51],[73,51],[75,51],[72,51]],"emitSignatures":[72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,98,99,100],"version":"5.9.3"}
package/dist/index.d.mts CHANGED
@@ -264,13 +264,15 @@ declare class CodeIngestor {
264
264
  */
265
265
  private findClosingBrace;
266
266
  /**
267
- * Second pass: for each function/method, check if its file content calls any other
268
- * known function/method. Creates approximate "calls" edges via regex matching.
267
+ * Second pass: scan each file for identifiers matching known callable names,
268
+ * then create file-to-file "calls" edges. Uses regex heuristic (not AST).
269
269
  */
270
270
  private extractCallsEdges;
271
- private escapeRegex;
272
271
  private extractImports;
273
272
  private resolveImportPath;
273
+ private computeCyclomaticComplexity;
274
+ private computeMaxNesting;
275
+ private countParameters;
274
276
  private detectLanguage;
275
277
  }
276
278
 
@@ -469,6 +471,62 @@ declare class GraphEntropyAdapter {
469
471
  computeSnapshotSummary(): GraphSnapshotSummary;
470
472
  }
471
473
 
474
+ interface GraphComplexityHotspot {
475
+ readonly file: string;
476
+ readonly function: string;
477
+ readonly changeFrequency: number;
478
+ readonly complexity: number;
479
+ readonly hotspotScore: number;
480
+ }
481
+ interface GraphComplexityResult {
482
+ readonly hotspots: readonly GraphComplexityHotspot[];
483
+ readonly percentile95Score: number;
484
+ }
485
+ declare class GraphComplexityAdapter {
486
+ private readonly store;
487
+ constructor(store: GraphStore);
488
+ /**
489
+ * Compute complexity hotspots by combining cyclomatic complexity with change frequency.
490
+ *
491
+ * 1. Find all function and method nodes
492
+ * 2. For each, find the containing file and count commit nodes referencing that file
493
+ * 3. Compute hotspotScore = changeFrequency * cyclomaticComplexity
494
+ * 4. Sort descending by score
495
+ * 5. Compute 95th percentile
496
+ */
497
+ computeComplexityHotspots(): GraphComplexityResult;
498
+ private computePercentile;
499
+ }
500
+
501
+ interface GraphCouplingFileData {
502
+ readonly file: string;
503
+ readonly fanIn: number;
504
+ readonly fanOut: number;
505
+ readonly couplingRatio: number;
506
+ readonly transitiveDepth: number;
507
+ }
508
+ interface GraphCouplingResult {
509
+ readonly files: readonly GraphCouplingFileData[];
510
+ }
511
+ declare class GraphCouplingAdapter {
512
+ private readonly store;
513
+ constructor(store: GraphStore);
514
+ /**
515
+ * Compute coupling data for all file nodes in the graph.
516
+ *
517
+ * For each file:
518
+ * - fanOut: number of outbound 'imports' edges
519
+ * - fanIn: number of inbound 'imports' edges from other files
520
+ * - couplingRatio: fanOut / (fanIn + fanOut), rounded to 2 decimals (0 if both are 0)
521
+ * - transitiveDepth: longest chain of outbound 'imports' edges via BFS
522
+ */
523
+ computeCouplingData(): GraphCouplingResult;
524
+ /**
525
+ * BFS from a node following outbound 'imports' edges to find the maximum depth.
526
+ */
527
+ private computeTransitiveDepth;
528
+ }
529
+
472
530
  interface AssembledContext {
473
531
  readonly nodes: readonly GraphNode[];
474
532
  readonly edges: readonly GraphEdge[];
@@ -576,6 +634,6 @@ declare class GraphFeedbackAdapter {
576
634
  computeHarnessCheckData(): GraphHarnessCheckData;
577
635
  }
578
636
 
579
- declare const VERSION = "0.1.0";
637
+ declare const VERSION = "0.2.0";
580
638
 
581
- export { type AssembledContext, Assembler, CIConnector, CURRENT_SCHEMA_VERSION, CodeIngestor, ConfluenceConnector, type ConnectorConfig, ContextQL, type ContextQLParams, type ContextQLResult, EDGE_TYPES, type EdgeQuery, type EdgeType, FusionLayer, type FusionResult, GitIngestor, type GitRunner, type GraphBudget, type GraphConnector, GraphConstraintAdapter, type GraphCoverageReport, type GraphDeadCodeData, type GraphDependencyData, type GraphDriftData, type GraphEdge, GraphEdgeSchema, GraphEntropyAdapter, GraphFeedbackAdapter, type GraphFilterResult, type GraphHarnessCheckData, type GraphImpactData, type GraphLayerViolation, type GraphMetadata, type GraphNode, GraphNodeSchema, type GraphSnapshotSummary, GraphStore, type HttpClient, type IngestResult, JiraConnector, KnowledgeIngestor, type LinkResult, NODE_TYPES, type NodeQuery, type NodeType, OBSERVABILITY_TYPES, type ProjectionSpec, SlackConnector, type SourceLocation, SyncManager, type SyncMetadata, TopologicalLinker, VERSION, type VectorSearchResult, VectorStore, linkToCode, loadGraph, project, saveGraph };
639
+ export { type AssembledContext, Assembler, CIConnector, CURRENT_SCHEMA_VERSION, CodeIngestor, ConfluenceConnector, type ConnectorConfig, ContextQL, type ContextQLParams, type ContextQLResult, EDGE_TYPES, type EdgeQuery, type EdgeType, FusionLayer, type FusionResult, GitIngestor, type GitRunner, type GraphBudget, GraphComplexityAdapter, type GraphComplexityHotspot, type GraphComplexityResult, type GraphConnector, GraphConstraintAdapter, GraphCouplingAdapter, type GraphCouplingFileData, type GraphCouplingResult, type GraphCoverageReport, type GraphDeadCodeData, type GraphDependencyData, type GraphDriftData, type GraphEdge, GraphEdgeSchema, GraphEntropyAdapter, GraphFeedbackAdapter, type GraphFilterResult, type GraphHarnessCheckData, type GraphImpactData, type GraphLayerViolation, type GraphMetadata, type GraphNode, GraphNodeSchema, type GraphSnapshotSummary, GraphStore, type HttpClient, type IngestResult, JiraConnector, KnowledgeIngestor, type LinkResult, NODE_TYPES, type NodeQuery, type NodeType, OBSERVABILITY_TYPES, type ProjectionSpec, SlackConnector, type SourceLocation, SyncManager, type SyncMetadata, TopologicalLinker, VERSION, type VectorSearchResult, VectorStore, linkToCode, loadGraph, project, saveGraph };
package/dist/index.d.ts CHANGED
@@ -264,13 +264,15 @@ declare class CodeIngestor {
264
264
  */
265
265
  private findClosingBrace;
266
266
  /**
267
- * Second pass: for each function/method, check if its file content calls any other
268
- * known function/method. Creates approximate "calls" edges via regex matching.
267
+ * Second pass: scan each file for identifiers matching known callable names,
268
+ * then create file-to-file "calls" edges. Uses regex heuristic (not AST).
269
269
  */
270
270
  private extractCallsEdges;
271
- private escapeRegex;
272
271
  private extractImports;
273
272
  private resolveImportPath;
273
+ private computeCyclomaticComplexity;
274
+ private computeMaxNesting;
275
+ private countParameters;
274
276
  private detectLanguage;
275
277
  }
276
278
 
@@ -469,6 +471,62 @@ declare class GraphEntropyAdapter {
469
471
  computeSnapshotSummary(): GraphSnapshotSummary;
470
472
  }
471
473
 
474
+ interface GraphComplexityHotspot {
475
+ readonly file: string;
476
+ readonly function: string;
477
+ readonly changeFrequency: number;
478
+ readonly complexity: number;
479
+ readonly hotspotScore: number;
480
+ }
481
+ interface GraphComplexityResult {
482
+ readonly hotspots: readonly GraphComplexityHotspot[];
483
+ readonly percentile95Score: number;
484
+ }
485
+ declare class GraphComplexityAdapter {
486
+ private readonly store;
487
+ constructor(store: GraphStore);
488
+ /**
489
+ * Compute complexity hotspots by combining cyclomatic complexity with change frequency.
490
+ *
491
+ * 1. Find all function and method nodes
492
+ * 2. For each, find the containing file and count commit nodes referencing that file
493
+ * 3. Compute hotspotScore = changeFrequency * cyclomaticComplexity
494
+ * 4. Sort descending by score
495
+ * 5. Compute 95th percentile
496
+ */
497
+ computeComplexityHotspots(): GraphComplexityResult;
498
+ private computePercentile;
499
+ }
500
+
501
+ interface GraphCouplingFileData {
502
+ readonly file: string;
503
+ readonly fanIn: number;
504
+ readonly fanOut: number;
505
+ readonly couplingRatio: number;
506
+ readonly transitiveDepth: number;
507
+ }
508
+ interface GraphCouplingResult {
509
+ readonly files: readonly GraphCouplingFileData[];
510
+ }
511
+ declare class GraphCouplingAdapter {
512
+ private readonly store;
513
+ constructor(store: GraphStore);
514
+ /**
515
+ * Compute coupling data for all file nodes in the graph.
516
+ *
517
+ * For each file:
518
+ * - fanOut: number of outbound 'imports' edges
519
+ * - fanIn: number of inbound 'imports' edges from other files
520
+ * - couplingRatio: fanOut / (fanIn + fanOut), rounded to 2 decimals (0 if both are 0)
521
+ * - transitiveDepth: longest chain of outbound 'imports' edges via BFS
522
+ */
523
+ computeCouplingData(): GraphCouplingResult;
524
+ /**
525
+ * BFS from a node following outbound 'imports' edges to find the maximum depth.
526
+ */
527
+ private computeTransitiveDepth;
528
+ }
529
+
472
530
  interface AssembledContext {
473
531
  readonly nodes: readonly GraphNode[];
474
532
  readonly edges: readonly GraphEdge[];
@@ -576,6 +634,6 @@ declare class GraphFeedbackAdapter {
576
634
  computeHarnessCheckData(): GraphHarnessCheckData;
577
635
  }
578
636
 
579
- declare const VERSION = "0.1.0";
637
+ declare const VERSION = "0.2.0";
580
638
 
581
- export { type AssembledContext, Assembler, CIConnector, CURRENT_SCHEMA_VERSION, CodeIngestor, ConfluenceConnector, type ConnectorConfig, ContextQL, type ContextQLParams, type ContextQLResult, EDGE_TYPES, type EdgeQuery, type EdgeType, FusionLayer, type FusionResult, GitIngestor, type GitRunner, type GraphBudget, type GraphConnector, GraphConstraintAdapter, type GraphCoverageReport, type GraphDeadCodeData, type GraphDependencyData, type GraphDriftData, type GraphEdge, GraphEdgeSchema, GraphEntropyAdapter, GraphFeedbackAdapter, type GraphFilterResult, type GraphHarnessCheckData, type GraphImpactData, type GraphLayerViolation, type GraphMetadata, type GraphNode, GraphNodeSchema, type GraphSnapshotSummary, GraphStore, type HttpClient, type IngestResult, JiraConnector, KnowledgeIngestor, type LinkResult, NODE_TYPES, type NodeQuery, type NodeType, OBSERVABILITY_TYPES, type ProjectionSpec, SlackConnector, type SourceLocation, SyncManager, type SyncMetadata, TopologicalLinker, VERSION, type VectorSearchResult, VectorStore, linkToCode, loadGraph, project, saveGraph };
639
+ export { type AssembledContext, Assembler, CIConnector, CURRENT_SCHEMA_VERSION, CodeIngestor, ConfluenceConnector, type ConnectorConfig, ContextQL, type ContextQLParams, type ContextQLResult, EDGE_TYPES, type EdgeQuery, type EdgeType, FusionLayer, type FusionResult, GitIngestor, type GitRunner, type GraphBudget, GraphComplexityAdapter, type GraphComplexityHotspot, type GraphComplexityResult, type GraphConnector, GraphConstraintAdapter, GraphCouplingAdapter, type GraphCouplingFileData, type GraphCouplingResult, type GraphCoverageReport, type GraphDeadCodeData, type GraphDependencyData, type GraphDriftData, type GraphEdge, GraphEdgeSchema, GraphEntropyAdapter, GraphFeedbackAdapter, type GraphFilterResult, type GraphHarnessCheckData, type GraphImpactData, type GraphLayerViolation, type GraphMetadata, type GraphNode, GraphNodeSchema, type GraphSnapshotSummary, GraphStore, type HttpClient, type IngestResult, JiraConnector, KnowledgeIngestor, type LinkResult, NODE_TYPES, type NodeQuery, type NodeType, OBSERVABILITY_TYPES, type ProjectionSpec, SlackConnector, type SourceLocation, SyncManager, type SyncMetadata, TopologicalLinker, VERSION, type VectorSearchResult, VectorStore, linkToCode, loadGraph, project, saveGraph };
package/dist/index.js CHANGED
@@ -39,7 +39,9 @@ __export(index_exports, {
39
39
  EDGE_TYPES: () => EDGE_TYPES,
40
40
  FusionLayer: () => FusionLayer,
41
41
  GitIngestor: () => GitIngestor,
42
+ GraphComplexityAdapter: () => GraphComplexityAdapter,
42
43
  GraphConstraintAdapter: () => GraphConstraintAdapter,
44
+ GraphCouplingAdapter: () => GraphCouplingAdapter,
43
45
  GraphEdgeSchema: () => GraphEdgeSchema,
44
46
  GraphEntropyAdapter: () => GraphEntropyAdapter,
45
47
  GraphFeedbackAdapter: () => GraphFeedbackAdapter,
@@ -525,7 +527,7 @@ var CodeIngestor = class {
525
527
  let nodesAdded = 0;
526
528
  let edgesAdded = 0;
527
529
  const files = await this.findSourceFiles(rootDir);
528
- const callableNodes = [];
530
+ const nameToFiles = /* @__PURE__ */ new Map();
529
531
  const fileContents = /* @__PURE__ */ new Map();
530
532
  for (const filePath of files) {
531
533
  try {
@@ -551,7 +553,12 @@ var CodeIngestor = class {
551
553
  nodesAdded++;
552
554
  edgesAdded++;
553
555
  if (node.type === "function" || node.type === "method") {
554
- callableNodes.push({ id: node.id, name: node.name, filePath: relativePath });
556
+ let files2 = nameToFiles.get(node.name);
557
+ if (!files2) {
558
+ files2 = /* @__PURE__ */ new Set();
559
+ nameToFiles.set(node.name, files2);
560
+ }
561
+ files2.add(relativePath);
555
562
  }
556
563
  }
557
564
  const imports = await this.extractImports(content, fileId, relativePath, rootDir);
@@ -563,7 +570,7 @@ var CodeIngestor = class {
563
570
  errors.push(`${filePath}: ${err instanceof Error ? err.message : String(err)}`);
564
571
  }
565
572
  }
566
- const callsEdges = this.extractCallsEdges(callableNodes, fileContents);
573
+ const callsEdges = this.extractCallsEdges(nameToFiles, fileContents);
567
574
  for (const edge of callsEdges) {
568
575
  this.store.addEdge(edge);
569
576
  edgesAdded++;
@@ -611,7 +618,13 @@ var CodeIngestor = class {
611
618
  name,
612
619
  path: relativePath,
613
620
  location: { fileId, startLine: i + 1, endLine },
614
- metadata: { exported: line.includes("export") }
621
+ metadata: {
622
+ exported: line.includes("export"),
623
+ cyclomaticComplexity: this.computeCyclomaticComplexity(lines.slice(i, endLine)),
624
+ nestingDepth: this.computeMaxNesting(lines.slice(i, endLine)),
625
+ lineCount: endLine - i,
626
+ parameterCount: this.countParameters(line)
627
+ }
615
628
  },
616
629
  edge: { from: fileId, to: id, type: "contains" }
617
630
  });
@@ -697,7 +710,14 @@ var CodeIngestor = class {
697
710
  name: methodName,
698
711
  path: relativePath,
699
712
  location: { fileId, startLine: i + 1, endLine },
700
- metadata: { className: currentClassName, exported: false }
713
+ metadata: {
714
+ className: currentClassName,
715
+ exported: false,
716
+ cyclomaticComplexity: this.computeCyclomaticComplexity(lines.slice(i, endLine)),
717
+ nestingDepth: this.computeMaxNesting(lines.slice(i, endLine)),
718
+ lineCount: endLine - i,
719
+ parameterCount: this.countParameters(line)
720
+ }
701
721
  },
702
722
  edge: { from: currentClassId, to: id, type: "contains" }
703
723
  });
@@ -747,43 +767,37 @@ var CodeIngestor = class {
747
767
  return startIndex + 1;
748
768
  }
749
769
  /**
750
- * Second pass: for each function/method, check if its file content calls any other
751
- * known function/method. Creates approximate "calls" edges via regex matching.
770
+ * Second pass: scan each file for identifiers matching known callable names,
771
+ * then create file-to-file "calls" edges. Uses regex heuristic (not AST).
752
772
  */
753
- extractCallsEdges(callableNodes, fileContents) {
773
+ extractCallsEdges(nameToFiles, fileContents) {
754
774
  const edges = [];
755
- const nameToNodes = /* @__PURE__ */ new Map();
756
- for (const callable of callableNodes) {
757
- let arr = nameToNodes.get(callable.name);
758
- if (!arr) {
759
- arr = [];
760
- nameToNodes.set(callable.name, arr);
761
- }
762
- arr.push({ id: callable.id, filePath: callable.filePath });
763
- }
764
- for (const caller of callableNodes) {
765
- const content = fileContents.get(caller.filePath);
766
- if (!content) continue;
767
- for (const [name, targets] of nameToNodes) {
768
- if (name === caller.name) continue;
769
- const callPattern = new RegExp(`\\b${this.escapeRegex(name)}\\s*\\(`, "g");
770
- if (callPattern.test(content)) {
771
- for (const target of targets) {
772
- edges.push({
773
- from: caller.id,
774
- to: target.id,
775
- type: "calls",
776
- metadata: { confidence: "regex" }
777
- });
778
- }
775
+ const seen = /* @__PURE__ */ new Set();
776
+ for (const [filePath, content] of fileContents) {
777
+ const callerFileId = `file:${filePath}`;
778
+ const callPattern = /\b([a-zA-Z_$][\w$]*)\s*\(/g;
779
+ let match;
780
+ while ((match = callPattern.exec(content)) !== null) {
781
+ const name = match[1];
782
+ const targetFiles = nameToFiles.get(name);
783
+ if (!targetFiles) continue;
784
+ for (const targetFile of targetFiles) {
785
+ if (targetFile === filePath) continue;
786
+ const targetFileId = `file:${targetFile}`;
787
+ const key = `${callerFileId}|${targetFileId}`;
788
+ if (seen.has(key)) continue;
789
+ seen.add(key);
790
+ edges.push({
791
+ from: callerFileId,
792
+ to: targetFileId,
793
+ type: "calls",
794
+ metadata: { confidence: "regex" }
795
+ });
779
796
  }
780
797
  }
781
798
  }
782
799
  return edges;
783
800
  }
784
- escapeRegex(str) {
785
- return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
786
- }
787
801
  async extractImports(content, fileId, relativePath, rootDir) {
788
802
  const edges = [];
789
803
  const importRegex = /import\s+(?:type\s+)?(?:\{[^}]*\}|[\w*]+)\s+from\s+['"]([^'"]+)['"]/g;
@@ -829,6 +843,46 @@ var CodeIngestor = class {
829
843
  }
830
844
  return null;
831
845
  }
846
+ computeCyclomaticComplexity(lines) {
847
+ let complexity = 1;
848
+ const decisionPattern = /\b(if|else\s+if|while|for|case)\b|\?\s*[^:?]|&&|\|\||catch\b/g;
849
+ for (const line of lines) {
850
+ const trimmed = line.trim();
851
+ if (trimmed.startsWith("//") || trimmed.startsWith("*")) continue;
852
+ const matches = trimmed.match(decisionPattern);
853
+ if (matches) complexity += matches.length;
854
+ }
855
+ return complexity;
856
+ }
857
+ computeMaxNesting(lines) {
858
+ let maxDepth = 0;
859
+ let currentDepth = 0;
860
+ for (const line of lines) {
861
+ const trimmed = line.trim();
862
+ if (trimmed.startsWith("//") || trimmed.startsWith("*")) continue;
863
+ for (const ch of trimmed) {
864
+ if (ch === "{") {
865
+ currentDepth++;
866
+ if (currentDepth > maxDepth) maxDepth = currentDepth;
867
+ } else if (ch === "}") {
868
+ currentDepth--;
869
+ }
870
+ }
871
+ }
872
+ return Math.max(0, maxDepth - 1);
873
+ }
874
+ countParameters(declarationLine) {
875
+ const parenMatch = declarationLine.match(/\(([^)]*)\)/);
876
+ if (!parenMatch || !parenMatch[1].trim()) return 0;
877
+ let depth = 0;
878
+ let count = 1;
879
+ for (const ch of parenMatch[1]) {
880
+ if (ch === "<" || ch === "(") depth++;
881
+ else if (ch === ">" || ch === ")") depth--;
882
+ else if (ch === "," && depth === 0) count++;
883
+ }
884
+ return count;
885
+ }
832
886
  detectLanguage(filePath) {
833
887
  if (/\.tsx?$/.test(filePath)) return "typescript";
834
888
  if (/\.jsx?$/.test(filePath)) return "javascript";
@@ -2035,6 +2089,144 @@ var GraphEntropyAdapter = class {
2035
2089
  }
2036
2090
  };
2037
2091
 
2092
+ // src/entropy/GraphComplexityAdapter.ts
2093
+ var GraphComplexityAdapter = class {
2094
+ constructor(store) {
2095
+ this.store = store;
2096
+ }
2097
+ /**
2098
+ * Compute complexity hotspots by combining cyclomatic complexity with change frequency.
2099
+ *
2100
+ * 1. Find all function and method nodes
2101
+ * 2. For each, find the containing file and count commit nodes referencing that file
2102
+ * 3. Compute hotspotScore = changeFrequency * cyclomaticComplexity
2103
+ * 4. Sort descending by score
2104
+ * 5. Compute 95th percentile
2105
+ */
2106
+ computeComplexityHotspots() {
2107
+ const functionNodes = [
2108
+ ...this.store.findNodes({ type: "function" }),
2109
+ ...this.store.findNodes({ type: "method" })
2110
+ ];
2111
+ if (functionNodes.length === 0) {
2112
+ return { hotspots: [], percentile95Score: 0 };
2113
+ }
2114
+ const fileChangeFrequency = /* @__PURE__ */ new Map();
2115
+ const hotspots = [];
2116
+ for (const fnNode of functionNodes) {
2117
+ const complexity = fnNode.metadata?.cyclomaticComplexity ?? 1;
2118
+ const containsEdges = this.store.getEdges({ to: fnNode.id, type: "contains" });
2119
+ let fileId;
2120
+ for (const edge of containsEdges) {
2121
+ const sourceNode = this.store.getNode(edge.from);
2122
+ if (sourceNode?.type === "file") {
2123
+ fileId = sourceNode.id;
2124
+ break;
2125
+ }
2126
+ if (sourceNode?.type === "class") {
2127
+ const classContainsEdges = this.store.getEdges({ to: sourceNode.id, type: "contains" });
2128
+ for (const classEdge of classContainsEdges) {
2129
+ const parentNode = this.store.getNode(classEdge.from);
2130
+ if (parentNode?.type === "file") {
2131
+ fileId = parentNode.id;
2132
+ break;
2133
+ }
2134
+ }
2135
+ if (fileId) break;
2136
+ }
2137
+ }
2138
+ if (!fileId) continue;
2139
+ let changeFrequency = fileChangeFrequency.get(fileId);
2140
+ if (changeFrequency === void 0) {
2141
+ const referencesEdges = this.store.getEdges({ to: fileId, type: "references" });
2142
+ changeFrequency = referencesEdges.length;
2143
+ fileChangeFrequency.set(fileId, changeFrequency);
2144
+ }
2145
+ const hotspotScore = changeFrequency * complexity;
2146
+ const filePath = fnNode.path ?? fileId.replace(/^file:/, "");
2147
+ hotspots.push({
2148
+ file: filePath,
2149
+ function: fnNode.name,
2150
+ changeFrequency,
2151
+ complexity,
2152
+ hotspotScore
2153
+ });
2154
+ }
2155
+ hotspots.sort((a, b) => b.hotspotScore - a.hotspotScore);
2156
+ const percentile95Score = this.computePercentile(
2157
+ hotspots.map((h) => h.hotspotScore),
2158
+ 95
2159
+ );
2160
+ return { hotspots, percentile95Score };
2161
+ }
2162
+ computePercentile(descendingScores, percentile) {
2163
+ if (descendingScores.length === 0) return 0;
2164
+ const ascending = [...descendingScores].sort((a, b) => a - b);
2165
+ const index = Math.ceil(percentile / 100 * ascending.length) - 1;
2166
+ return ascending[Math.min(index, ascending.length - 1)];
2167
+ }
2168
+ };
2169
+
2170
+ // src/entropy/GraphCouplingAdapter.ts
2171
+ var GraphCouplingAdapter = class {
2172
+ constructor(store) {
2173
+ this.store = store;
2174
+ }
2175
+ /**
2176
+ * Compute coupling data for all file nodes in the graph.
2177
+ *
2178
+ * For each file:
2179
+ * - fanOut: number of outbound 'imports' edges
2180
+ * - fanIn: number of inbound 'imports' edges from other files
2181
+ * - couplingRatio: fanOut / (fanIn + fanOut), rounded to 2 decimals (0 if both are 0)
2182
+ * - transitiveDepth: longest chain of outbound 'imports' edges via BFS
2183
+ */
2184
+ computeCouplingData() {
2185
+ const fileNodes = this.store.findNodes({ type: "file" });
2186
+ if (fileNodes.length === 0) {
2187
+ return { files: [] };
2188
+ }
2189
+ const files = [];
2190
+ for (const node of fileNodes) {
2191
+ const fileId = node.id;
2192
+ const filePath = node.path ?? node.name;
2193
+ const outEdges = this.store.getEdges({ from: fileId, type: "imports" });
2194
+ const fanOut = outEdges.length;
2195
+ const inEdges = this.store.getEdges({ to: fileId, type: "imports" });
2196
+ const fanIn = inEdges.length;
2197
+ const total = fanIn + fanOut;
2198
+ const couplingRatio = total === 0 ? 0 : Math.round(fanOut / total * 100) / 100;
2199
+ const transitiveDepth = this.computeTransitiveDepth(fileId);
2200
+ files.push({ file: filePath, fanIn, fanOut, couplingRatio, transitiveDepth });
2201
+ }
2202
+ return { files };
2203
+ }
2204
+ /**
2205
+ * BFS from a node following outbound 'imports' edges to find the maximum depth.
2206
+ */
2207
+ computeTransitiveDepth(startId) {
2208
+ const visited = /* @__PURE__ */ new Set();
2209
+ const queue = [[startId, 0]];
2210
+ visited.add(startId);
2211
+ let maxDepth = 0;
2212
+ let head = 0;
2213
+ while (head < queue.length) {
2214
+ const [nodeId, depth] = queue[head++];
2215
+ if (depth > maxDepth) {
2216
+ maxDepth = depth;
2217
+ }
2218
+ const outEdges = this.store.getEdges({ from: nodeId, type: "imports" });
2219
+ for (const edge of outEdges) {
2220
+ if (!visited.has(edge.to)) {
2221
+ visited.add(edge.to);
2222
+ queue.push([edge.to, depth + 1]);
2223
+ }
2224
+ }
2225
+ }
2226
+ return maxDepth;
2227
+ }
2228
+ };
2229
+
2038
2230
  // src/context/Assembler.ts
2039
2231
  var PHASE_NODE_TYPES = {
2040
2232
  implement: ["file", "function", "class", "method", "interface", "variable"],
@@ -2414,7 +2606,7 @@ var GraphFeedbackAdapter = class {
2414
2606
  };
2415
2607
 
2416
2608
  // src/index.ts
2417
- var VERSION = "0.1.0";
2609
+ var VERSION = "0.2.0";
2418
2610
  // Annotate the CommonJS export names for ESM import in node:
2419
2611
  0 && (module.exports = {
2420
2612
  Assembler,
@@ -2426,7 +2618,9 @@ var VERSION = "0.1.0";
2426
2618
  EDGE_TYPES,
2427
2619
  FusionLayer,
2428
2620
  GitIngestor,
2621
+ GraphComplexityAdapter,
2429
2622
  GraphConstraintAdapter,
2623
+ GraphCouplingAdapter,
2430
2624
  GraphEdgeSchema,
2431
2625
  GraphEntropyAdapter,
2432
2626
  GraphFeedbackAdapter,
package/dist/index.mjs CHANGED
@@ -462,7 +462,7 @@ var CodeIngestor = class {
462
462
  let nodesAdded = 0;
463
463
  let edgesAdded = 0;
464
464
  const files = await this.findSourceFiles(rootDir);
465
- const callableNodes = [];
465
+ const nameToFiles = /* @__PURE__ */ new Map();
466
466
  const fileContents = /* @__PURE__ */ new Map();
467
467
  for (const filePath of files) {
468
468
  try {
@@ -488,7 +488,12 @@ var CodeIngestor = class {
488
488
  nodesAdded++;
489
489
  edgesAdded++;
490
490
  if (node.type === "function" || node.type === "method") {
491
- callableNodes.push({ id: node.id, name: node.name, filePath: relativePath });
491
+ let files2 = nameToFiles.get(node.name);
492
+ if (!files2) {
493
+ files2 = /* @__PURE__ */ new Set();
494
+ nameToFiles.set(node.name, files2);
495
+ }
496
+ files2.add(relativePath);
492
497
  }
493
498
  }
494
499
  const imports = await this.extractImports(content, fileId, relativePath, rootDir);
@@ -500,7 +505,7 @@ var CodeIngestor = class {
500
505
  errors.push(`${filePath}: ${err instanceof Error ? err.message : String(err)}`);
501
506
  }
502
507
  }
503
- const callsEdges = this.extractCallsEdges(callableNodes, fileContents);
508
+ const callsEdges = this.extractCallsEdges(nameToFiles, fileContents);
504
509
  for (const edge of callsEdges) {
505
510
  this.store.addEdge(edge);
506
511
  edgesAdded++;
@@ -548,7 +553,13 @@ var CodeIngestor = class {
548
553
  name,
549
554
  path: relativePath,
550
555
  location: { fileId, startLine: i + 1, endLine },
551
- metadata: { exported: line.includes("export") }
556
+ metadata: {
557
+ exported: line.includes("export"),
558
+ cyclomaticComplexity: this.computeCyclomaticComplexity(lines.slice(i, endLine)),
559
+ nestingDepth: this.computeMaxNesting(lines.slice(i, endLine)),
560
+ lineCount: endLine - i,
561
+ parameterCount: this.countParameters(line)
562
+ }
552
563
  },
553
564
  edge: { from: fileId, to: id, type: "contains" }
554
565
  });
@@ -634,7 +645,14 @@ var CodeIngestor = class {
634
645
  name: methodName,
635
646
  path: relativePath,
636
647
  location: { fileId, startLine: i + 1, endLine },
637
- metadata: { className: currentClassName, exported: false }
648
+ metadata: {
649
+ className: currentClassName,
650
+ exported: false,
651
+ cyclomaticComplexity: this.computeCyclomaticComplexity(lines.slice(i, endLine)),
652
+ nestingDepth: this.computeMaxNesting(lines.slice(i, endLine)),
653
+ lineCount: endLine - i,
654
+ parameterCount: this.countParameters(line)
655
+ }
638
656
  },
639
657
  edge: { from: currentClassId, to: id, type: "contains" }
640
658
  });
@@ -684,43 +702,37 @@ var CodeIngestor = class {
684
702
  return startIndex + 1;
685
703
  }
686
704
  /**
687
- * Second pass: for each function/method, check if its file content calls any other
688
- * known function/method. Creates approximate "calls" edges via regex matching.
705
+ * Second pass: scan each file for identifiers matching known callable names,
706
+ * then create file-to-file "calls" edges. Uses regex heuristic (not AST).
689
707
  */
690
- extractCallsEdges(callableNodes, fileContents) {
708
+ extractCallsEdges(nameToFiles, fileContents) {
691
709
  const edges = [];
692
- const nameToNodes = /* @__PURE__ */ new Map();
693
- for (const callable of callableNodes) {
694
- let arr = nameToNodes.get(callable.name);
695
- if (!arr) {
696
- arr = [];
697
- nameToNodes.set(callable.name, arr);
698
- }
699
- arr.push({ id: callable.id, filePath: callable.filePath });
700
- }
701
- for (const caller of callableNodes) {
702
- const content = fileContents.get(caller.filePath);
703
- if (!content) continue;
704
- for (const [name, targets] of nameToNodes) {
705
- if (name === caller.name) continue;
706
- const callPattern = new RegExp(`\\b${this.escapeRegex(name)}\\s*\\(`, "g");
707
- if (callPattern.test(content)) {
708
- for (const target of targets) {
709
- edges.push({
710
- from: caller.id,
711
- to: target.id,
712
- type: "calls",
713
- metadata: { confidence: "regex" }
714
- });
715
- }
710
+ const seen = /* @__PURE__ */ new Set();
711
+ for (const [filePath, content] of fileContents) {
712
+ const callerFileId = `file:${filePath}`;
713
+ const callPattern = /\b([a-zA-Z_$][\w$]*)\s*\(/g;
714
+ let match;
715
+ while ((match = callPattern.exec(content)) !== null) {
716
+ const name = match[1];
717
+ const targetFiles = nameToFiles.get(name);
718
+ if (!targetFiles) continue;
719
+ for (const targetFile of targetFiles) {
720
+ if (targetFile === filePath) continue;
721
+ const targetFileId = `file:${targetFile}`;
722
+ const key = `${callerFileId}|${targetFileId}`;
723
+ if (seen.has(key)) continue;
724
+ seen.add(key);
725
+ edges.push({
726
+ from: callerFileId,
727
+ to: targetFileId,
728
+ type: "calls",
729
+ metadata: { confidence: "regex" }
730
+ });
716
731
  }
717
732
  }
718
733
  }
719
734
  return edges;
720
735
  }
721
- escapeRegex(str) {
722
- return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
723
- }
724
736
  async extractImports(content, fileId, relativePath, rootDir) {
725
737
  const edges = [];
726
738
  const importRegex = /import\s+(?:type\s+)?(?:\{[^}]*\}|[\w*]+)\s+from\s+['"]([^'"]+)['"]/g;
@@ -766,6 +778,46 @@ var CodeIngestor = class {
766
778
  }
767
779
  return null;
768
780
  }
781
+ computeCyclomaticComplexity(lines) {
782
+ let complexity = 1;
783
+ const decisionPattern = /\b(if|else\s+if|while|for|case)\b|\?\s*[^:?]|&&|\|\||catch\b/g;
784
+ for (const line of lines) {
785
+ const trimmed = line.trim();
786
+ if (trimmed.startsWith("//") || trimmed.startsWith("*")) continue;
787
+ const matches = trimmed.match(decisionPattern);
788
+ if (matches) complexity += matches.length;
789
+ }
790
+ return complexity;
791
+ }
792
+ computeMaxNesting(lines) {
793
+ let maxDepth = 0;
794
+ let currentDepth = 0;
795
+ for (const line of lines) {
796
+ const trimmed = line.trim();
797
+ if (trimmed.startsWith("//") || trimmed.startsWith("*")) continue;
798
+ for (const ch of trimmed) {
799
+ if (ch === "{") {
800
+ currentDepth++;
801
+ if (currentDepth > maxDepth) maxDepth = currentDepth;
802
+ } else if (ch === "}") {
803
+ currentDepth--;
804
+ }
805
+ }
806
+ }
807
+ return Math.max(0, maxDepth - 1);
808
+ }
809
+ countParameters(declarationLine) {
810
+ const parenMatch = declarationLine.match(/\(([^)]*)\)/);
811
+ if (!parenMatch || !parenMatch[1].trim()) return 0;
812
+ let depth = 0;
813
+ let count = 1;
814
+ for (const ch of parenMatch[1]) {
815
+ if (ch === "<" || ch === "(") depth++;
816
+ else if (ch === ">" || ch === ")") depth--;
817
+ else if (ch === "," && depth === 0) count++;
818
+ }
819
+ return count;
820
+ }
769
821
  detectLanguage(filePath) {
770
822
  if (/\.tsx?$/.test(filePath)) return "typescript";
771
823
  if (/\.jsx?$/.test(filePath)) return "javascript";
@@ -1972,6 +2024,144 @@ var GraphEntropyAdapter = class {
1972
2024
  }
1973
2025
  };
1974
2026
 
2027
+ // src/entropy/GraphComplexityAdapter.ts
2028
+ var GraphComplexityAdapter = class {
2029
+ constructor(store) {
2030
+ this.store = store;
2031
+ }
2032
+ /**
2033
+ * Compute complexity hotspots by combining cyclomatic complexity with change frequency.
2034
+ *
2035
+ * 1. Find all function and method nodes
2036
+ * 2. For each, find the containing file and count commit nodes referencing that file
2037
+ * 3. Compute hotspotScore = changeFrequency * cyclomaticComplexity
2038
+ * 4. Sort descending by score
2039
+ * 5. Compute 95th percentile
2040
+ */
2041
+ computeComplexityHotspots() {
2042
+ const functionNodes = [
2043
+ ...this.store.findNodes({ type: "function" }),
2044
+ ...this.store.findNodes({ type: "method" })
2045
+ ];
2046
+ if (functionNodes.length === 0) {
2047
+ return { hotspots: [], percentile95Score: 0 };
2048
+ }
2049
+ const fileChangeFrequency = /* @__PURE__ */ new Map();
2050
+ const hotspots = [];
2051
+ for (const fnNode of functionNodes) {
2052
+ const complexity = fnNode.metadata?.cyclomaticComplexity ?? 1;
2053
+ const containsEdges = this.store.getEdges({ to: fnNode.id, type: "contains" });
2054
+ let fileId;
2055
+ for (const edge of containsEdges) {
2056
+ const sourceNode = this.store.getNode(edge.from);
2057
+ if (sourceNode?.type === "file") {
2058
+ fileId = sourceNode.id;
2059
+ break;
2060
+ }
2061
+ if (sourceNode?.type === "class") {
2062
+ const classContainsEdges = this.store.getEdges({ to: sourceNode.id, type: "contains" });
2063
+ for (const classEdge of classContainsEdges) {
2064
+ const parentNode = this.store.getNode(classEdge.from);
2065
+ if (parentNode?.type === "file") {
2066
+ fileId = parentNode.id;
2067
+ break;
2068
+ }
2069
+ }
2070
+ if (fileId) break;
2071
+ }
2072
+ }
2073
+ if (!fileId) continue;
2074
+ let changeFrequency = fileChangeFrequency.get(fileId);
2075
+ if (changeFrequency === void 0) {
2076
+ const referencesEdges = this.store.getEdges({ to: fileId, type: "references" });
2077
+ changeFrequency = referencesEdges.length;
2078
+ fileChangeFrequency.set(fileId, changeFrequency);
2079
+ }
2080
+ const hotspotScore = changeFrequency * complexity;
2081
+ const filePath = fnNode.path ?? fileId.replace(/^file:/, "");
2082
+ hotspots.push({
2083
+ file: filePath,
2084
+ function: fnNode.name,
2085
+ changeFrequency,
2086
+ complexity,
2087
+ hotspotScore
2088
+ });
2089
+ }
2090
+ hotspots.sort((a, b) => b.hotspotScore - a.hotspotScore);
2091
+ const percentile95Score = this.computePercentile(
2092
+ hotspots.map((h) => h.hotspotScore),
2093
+ 95
2094
+ );
2095
+ return { hotspots, percentile95Score };
2096
+ }
2097
+ computePercentile(descendingScores, percentile) {
2098
+ if (descendingScores.length === 0) return 0;
2099
+ const ascending = [...descendingScores].sort((a, b) => a - b);
2100
+ const index = Math.ceil(percentile / 100 * ascending.length) - 1;
2101
+ return ascending[Math.min(index, ascending.length - 1)];
2102
+ }
2103
+ };
2104
+
2105
+ // src/entropy/GraphCouplingAdapter.ts
2106
+ var GraphCouplingAdapter = class {
2107
+ constructor(store) {
2108
+ this.store = store;
2109
+ }
2110
+ /**
2111
+ * Compute coupling data for all file nodes in the graph.
2112
+ *
2113
+ * For each file:
2114
+ * - fanOut: number of outbound 'imports' edges
2115
+ * - fanIn: number of inbound 'imports' edges from other files
2116
+ * - couplingRatio: fanOut / (fanIn + fanOut), rounded to 2 decimals (0 if both are 0)
2117
+ * - transitiveDepth: longest chain of outbound 'imports' edges via BFS
2118
+ */
2119
+ computeCouplingData() {
2120
+ const fileNodes = this.store.findNodes({ type: "file" });
2121
+ if (fileNodes.length === 0) {
2122
+ return { files: [] };
2123
+ }
2124
+ const files = [];
2125
+ for (const node of fileNodes) {
2126
+ const fileId = node.id;
2127
+ const filePath = node.path ?? node.name;
2128
+ const outEdges = this.store.getEdges({ from: fileId, type: "imports" });
2129
+ const fanOut = outEdges.length;
2130
+ const inEdges = this.store.getEdges({ to: fileId, type: "imports" });
2131
+ const fanIn = inEdges.length;
2132
+ const total = fanIn + fanOut;
2133
+ const couplingRatio = total === 0 ? 0 : Math.round(fanOut / total * 100) / 100;
2134
+ const transitiveDepth = this.computeTransitiveDepth(fileId);
2135
+ files.push({ file: filePath, fanIn, fanOut, couplingRatio, transitiveDepth });
2136
+ }
2137
+ return { files };
2138
+ }
2139
+ /**
2140
+ * BFS from a node following outbound 'imports' edges to find the maximum depth.
2141
+ */
2142
+ computeTransitiveDepth(startId) {
2143
+ const visited = /* @__PURE__ */ new Set();
2144
+ const queue = [[startId, 0]];
2145
+ visited.add(startId);
2146
+ let maxDepth = 0;
2147
+ let head = 0;
2148
+ while (head < queue.length) {
2149
+ const [nodeId, depth] = queue[head++];
2150
+ if (depth > maxDepth) {
2151
+ maxDepth = depth;
2152
+ }
2153
+ const outEdges = this.store.getEdges({ from: nodeId, type: "imports" });
2154
+ for (const edge of outEdges) {
2155
+ if (!visited.has(edge.to)) {
2156
+ visited.add(edge.to);
2157
+ queue.push([edge.to, depth + 1]);
2158
+ }
2159
+ }
2160
+ }
2161
+ return maxDepth;
2162
+ }
2163
+ };
2164
+
1975
2165
  // src/context/Assembler.ts
1976
2166
  var PHASE_NODE_TYPES = {
1977
2167
  implement: ["file", "function", "class", "method", "interface", "variable"],
@@ -2351,7 +2541,7 @@ var GraphFeedbackAdapter = class {
2351
2541
  };
2352
2542
 
2353
2543
  // src/index.ts
2354
- var VERSION = "0.1.0";
2544
+ var VERSION = "0.2.0";
2355
2545
  export {
2356
2546
  Assembler,
2357
2547
  CIConnector,
@@ -2362,7 +2552,9 @@ export {
2362
2552
  EDGE_TYPES,
2363
2553
  FusionLayer,
2364
2554
  GitIngestor,
2555
+ GraphComplexityAdapter,
2365
2556
  GraphConstraintAdapter,
2557
+ GraphCouplingAdapter,
2366
2558
  GraphEdgeSchema,
2367
2559
  GraphEntropyAdapter,
2368
2560
  GraphFeedbackAdapter,
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@harness-engineering/graph",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
+ "license": "MIT",
4
5
  "description": "Knowledge graph for context assembly in Harness Engineering",
5
6
  "main": "./dist/index.js",
6
7
  "module": "./dist/index.mjs",