This is page 1 of 3. Use http://codebase.md/jacck/mcp-reasoner?lines=true&page={x} to view the full context. # Directory Structure ``` ├── .gitignore ├── dist │ ├── index.d.ts │ ├── index.js │ ├── reasoner.d.ts │ ├── reasoner.js │ ├── state.d.ts │ ├── state.js │ ├── strategies │ │ ├── base.d.ts │ │ ├── base.js │ │ ├── beam-search.d.ts │ │ ├── beam-search.js │ │ ├── factory.d.ts │ │ ├── factory.js │ │ ├── mcts.d.ts │ │ └── mcts.js │ ├── types.d.ts │ └── types.js ├── LICENSE ├── node_modules │ ├── .bin │ │ ├── resolve │ │ ├── resolve.cmd │ │ ├── resolve.ps1 │ │ ├── shjs │ │ ├── shjs.cmd │ │ ├── shjs.ps1 │ │ ├── shx │ │ ├── shx.cmd │ │ ├── shx.ps1 │ │ ├── tsc │ │ ├── tsc.cmd │ │ ├── tsc.ps1 │ │ ├── tsserver │ │ ├── tsserver.cmd │ │ └── tsserver.ps1 │ ├── .package-lock.json │ ├── @modelcontextprotocol │ │ └── sdk │ │ ├── dist │ │ │ ├── cli.d.ts │ │ │ ├── cli.d.ts.map │ │ │ ├── cli.js │ │ │ ├── cli.js.map │ │ │ ├── client │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.d.ts.map │ │ │ │ ├── index.js │ │ │ │ ├── index.js.map │ │ │ │ ├── index.test.d.ts │ │ │ │ ├── index.test.d.ts.map │ │ │ │ ├── index.test.js │ │ │ │ ├── index.test.js.map │ │ │ │ ├── sse.d.ts │ │ │ │ ├── sse.d.ts.map │ │ │ │ ├── sse.js │ │ │ │ ├── sse.js.map │ │ │ │ ├── stdio.d.ts │ │ │ │ ├── stdio.d.ts.map │ │ │ │ ├── stdio.js │ │ │ │ ├── stdio.js.map │ │ │ │ ├── stdio.test.d.ts │ │ │ │ ├── stdio.test.d.ts.map │ │ │ │ ├── stdio.test.js │ │ │ │ ├── stdio.test.js.map │ │ │ │ ├── websocket.d.ts │ │ │ │ ├── websocket.d.ts.map │ │ │ │ ├── websocket.js │ │ │ │ └── websocket.js.map │ │ │ ├── inMemory.d.ts │ │ │ ├── inMemory.d.ts.map │ │ │ ├── inMemory.js │ │ │ ├── inMemory.js.map │ │ │ ├── inMemory.test.d.ts │ │ │ ├── inMemory.test.d.ts.map │ │ │ ├── inMemory.test.js │ │ │ ├── inMemory.test.js.map │ │ │ ├── server │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.d.ts.map │ │ │ │ ├── index.js │ │ │ │ ├── index.js.map │ │ │ │ ├── index.test.d.ts │ │ │ │ ├── index.test.d.ts.map │ │ │ │ ├── index.test.js │ │ │ │ ├── index.test.js.map │ │ │ │ ├── sse.d.ts │ │ │ │ ├── sse.d.ts.map │ │ │ │ ├── sse.js │ │ │ │ ├── sse.js.map │ │ │ │ ├── stdio.d.ts │ │ │ │ ├── stdio.d.ts.map │ │ │ │ ├── stdio.js │ │ │ │ ├── stdio.js.map │ │ │ │ ├── stdio.test.d.ts │ │ │ │ ├── stdio.test.d.ts.map │ │ │ │ ├── stdio.test.js │ │ │ │ └── stdio.test.js.map │ │ │ ├── shared │ │ │ │ ├── protocol.d.ts │ │ │ │ ├── protocol.d.ts.map │ │ │ │ ├── protocol.js │ │ │ │ ├── protocol.js.map │ │ │ │ ├── stdio.d.ts │ │ │ │ ├── stdio.d.ts.map │ │ │ │ ├── stdio.js │ │ │ │ ├── stdio.js.map │ │ │ │ ├── stdio.test.d.ts │ │ │ │ ├── stdio.test.d.ts.map │ │ │ │ ├── stdio.test.js │ │ │ │ ├── stdio.test.js.map │ │ │ │ ├── transport.d.ts │ │ │ │ ├── transport.d.ts.map │ │ │ │ ├── transport.js │ │ │ │ └── transport.js.map │ │ │ ├── types.d.ts │ │ │ ├── types.d.ts.map │ │ │ ├── types.js │ │ │ └── types.js.map │ │ ├── LICENSE │ │ ├── package.json │ │ └── README.md │ ├── @types │ │ └── node │ │ ├── assert │ │ │ └── strict.d.ts │ │ ├── assert.d.ts │ │ ├── async_hooks.d.ts │ │ ├── buffer.buffer.d.ts │ │ ├── buffer.d.ts │ │ ├── child_process.d.ts │ │ ├── cluster.d.ts │ │ ├── compatibility │ │ │ ├── disposable.d.ts │ │ │ ├── index.d.ts │ │ │ ├── indexable.d.ts │ │ │ └── iterators.d.ts │ │ ├── console.d.ts │ │ ├── constants.d.ts │ │ ├── crypto.d.ts │ │ ├── dgram.d.ts │ │ ├── diagnostics_channel.d.ts │ │ ├── dns │ │ │ └── promises.d.ts │ │ ├── dns.d.ts │ │ ├── dom-events.d.ts │ │ ├── domain.d.ts │ │ ├── events.d.ts │ │ ├── fs │ │ │ └── promises.d.ts │ │ ├── fs.d.ts │ │ ├── globals.d.ts │ │ ├── globals.typedarray.d.ts │ │ ├── http.d.ts │ │ ├── http2.d.ts │ │ ├── https.d.ts │ │ ├── index.d.ts │ │ ├── inspector.d.ts │ │ ├── LICENSE │ │ ├── module.d.ts │ │ ├── net.d.ts │ │ ├── os.d.ts │ │ ├── package.json │ │ ├── path.d.ts │ │ ├── perf_hooks.d.ts │ │ ├── process.d.ts │ │ ├── punycode.d.ts │ │ ├── querystring.d.ts │ │ ├── readline │ │ │ └── promises.d.ts │ │ ├── readline.d.ts │ │ ├── README.md │ │ ├── repl.d.ts │ │ ├── sea.d.ts │ │ ├── stream │ │ │ ├── consumers.d.ts │ │ │ ├── promises.d.ts │ │ │ └── web.d.ts │ │ ├── stream.d.ts │ │ ├── string_decoder.d.ts │ │ ├── test.d.ts │ │ ├── timers │ │ │ └── promises.d.ts │ │ ├── timers.d.ts │ │ ├── tls.d.ts │ │ ├── trace_events.d.ts │ │ ├── ts5.6 │ │ │ ├── buffer.buffer.d.ts │ │ │ ├── globals.typedarray.d.ts │ │ │ └── index.d.ts │ │ ├── tty.d.ts │ │ ├── url.d.ts │ │ ├── util.d.ts │ │ ├── v8.d.ts │ │ ├── vm.d.ts │ │ ├── wasi.d.ts │ │ ├── worker_threads.d.ts │ │ └── zlib.d.ts │ ├── balanced-match │ │ ├── .github │ │ │ └── FUNDING.yml │ │ ├── index.js │ │ ├── LICENSE.md │ │ ├── package.json │ │ └── README.md │ ├── brace-expansion │ │ ├── index.js │ │ ├── LICENSE │ │ ├── package.json │ │ └── README.md │ ├── bytes │ │ ├── History.md │ │ ├── index.js │ │ ├── LICENSE │ │ ├── package.json │ │ └── Readme.md │ ├── chalk │ │ ├── license │ │ ├── package.json │ │ ├── readme.md │ │ └── source │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── utilities.js │ │ └── vendor │ │ ├── ansi-styles │ │ │ ├── index.d.ts │ │ │ └── index.js │ │ └── supports-color │ │ ├── browser.d.ts │ │ ├── browser.js │ │ ├── index.d.ts │ │ └── index.js │ ├── concat-map │ │ ├── .travis.yml │ │ ├── example │ │ │ └── map.js │ │ ├── index.js │ │ ├── LICENSE │ │ ├── package.json │ │ ├── README.markdown │ │ └── test │ │ └── map.js │ ├── content-type │ │ ├── HISTORY.md │ │ ├── index.js │ │ ├── LICENSE │ │ ├── package.json │ │ └── README.md │ ├── depd │ │ ├── History.md │ │ ├── index.js │ │ ├── lib │ │ │ └── browser │ │ │ └── index.js │ │ ├── LICENSE │ │ ├── package.json │ │ └── Readme.md │ ├── fs.realpath │ │ ├── index.js │ │ ├── LICENSE │ │ ├── old.js │ │ ├── package.json │ │ └── README.md │ ├── function-bind │ │ ├── .eslintrc │ │ ├── .github │ │ │ ├── FUNDING.yml │ │ │ └── SECURITY.md │ │ ├── .nycrc │ │ ├── CHANGELOG.md │ │ ├── implementation.js │ │ ├── index.js │ │ ├── LICENSE │ │ ├── package.json │ │ ├── README.md │ │ └── test │ │ ├── .eslintrc │ │ └── index.js │ ├── glob │ │ ├── common.js │ │ ├── glob.js │ │ ├── LICENSE │ │ ├── package.json │ │ ├── README.md │ │ └── sync.js │ ├── hasown │ │ ├── .eslintrc │ │ ├── .github │ │ │ └── FUNDING.yml │ │ ├── .nycrc │ │ ├── CHANGELOG.md │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── LICENSE │ │ ├── package.json │ │ ├── README.md │ │ └── tsconfig.json │ ├── http-errors │ │ ├── HISTORY.md │ │ ├── index.js │ │ ├── LICENSE │ │ ├── package.json │ │ └── README.md │ ├── iconv-lite │ │ ├── .github │ │ │ └── dependabot.yml │ │ ├── .idea │ │ │ ├── codeStyles │ │ │ │ ├── codeStyleConfig.xml │ │ │ │ └── Project.xml │ │ │ ├── iconv-lite.iml │ │ │ ├── inspectionProfiles │ │ │ │ └── Project_Default.xml │ │ │ ├── modules.xml │ │ │ └── vcs.xml │ │ ├── Changelog.md │ │ ├── encodings │ │ │ ├── dbcs-codec.js │ │ │ ├── dbcs-data.js │ │ │ ├── index.js │ │ │ ├── internal.js │ │ │ ├── sbcs-codec.js │ │ │ ├── sbcs-data-generated.js │ │ │ ├── sbcs-data.js │ │ │ ├── tables │ │ │ │ ├── big5-added.json │ │ │ │ ├── cp936.json │ │ │ │ ├── cp949.json │ │ │ │ ├── cp950.json │ │ │ │ ├── eucjp.json │ │ │ │ ├── gb18030-ranges.json │ │ │ │ ├── gbk-added.json │ │ │ │ └── shiftjis.json │ │ │ ├── utf16.js │ │ │ ├── utf32.js │ │ │ └── utf7.js │ │ ├── lib │ │ │ ├── bom-handling.js │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ └── streams.js │ │ ├── LICENSE │ │ ├── package.json │ │ └── README.md │ ├── inflight │ │ ├── inflight.js │ │ ├── LICENSE │ │ ├── package.json │ │ └── README.md │ ├── inherits │ │ ├── inherits_browser.js │ │ ├── inherits.js │ │ ├── LICENSE │ │ ├── package.json │ │ └── README.md │ ├── interpret │ │ ├── CHANGELOG │ │ ├── index.js │ │ ├── LICENSE │ │ ├── mjs-stub.js │ │ ├── package.json │ │ └── README.md │ ├── is-core-module │ │ ├── .eslintrc │ │ ├── .nycrc │ │ ├── CHANGELOG.md │ │ ├── core.json │ │ ├── index.js │ │ ├── LICENSE │ │ ├── package.json │ │ ├── README.md │ │ └── test │ │ └── index.js │ ├── minimatch │ │ ├── LICENSE │ │ ├── minimatch.js │ │ ├── package.json │ │ └── README.md │ ├── minimist │ │ ├── .eslintrc │ │ ├── .github │ │ │ └── FUNDING.yml │ │ ├── .nycrc │ │ ├── CHANGELOG.md │ │ ├── example │ │ │ └── parse.js │ │ ├── index.js │ │ ├── LICENSE │ │ ├── package.json │ │ ├── README.md │ │ └── test │ │ ├── all_bool.js │ │ ├── bool.js │ │ ├── dash.js │ │ ├── default_bool.js │ │ ├── dotted.js │ │ ├── kv_short.js │ │ ├── long.js │ │ ├── num.js │ │ ├── parse_modified.js │ │ ├── parse.js │ │ ├── proto.js │ │ ├── short.js │ │ ├── stop_early.js │ │ ├── unknown.js │ │ └── whitespace.js │ ├── once │ │ ├── LICENSE │ │ ├── once.js │ │ ├── package.json │ │ └── README.md │ ├── path-is-absolute │ │ ├── index.js │ │ ├── license │ │ ├── package.json │ │ └── readme.md │ ├── path-parse │ │ ├── index.js │ │ ├── LICENSE │ │ ├── package.json │ │ └── README.md │ ├── raw-body │ │ ├── HISTORY.md │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── LICENSE │ │ ├── package.json │ │ ├── README.md │ │ └── SECURITY.md │ ├── rechoir │ │ ├── .npmignore │ │ ├── .travis.yml │ │ ├── CHANGELOG │ │ ├── index.js │ │ ├── lib │ │ │ ├── extension.js │ │ │ ├── normalize.js │ │ │ └── register.js │ │ ├── LICENSE │ │ ├── package.json │ │ └── README.md │ ├── resolve │ │ ├── .editorconfig │ │ ├── .eslintrc │ │ ├── .github │ │ │ └── FUNDING.yml │ │ ├── async.js │ │ ├── bin │ │ │ └── resolve │ │ ├── example │ │ │ ├── async.js │ │ │ └── sync.js │ │ ├── index.js │ │ ├── lib │ │ │ ├── async.js │ │ │ ├── caller.js │ │ │ ├── core.js │ │ │ ├── core.json │ │ │ ├── homedir.js │ │ │ ├── is-core.js │ │ │ ├── node-modules-paths.js │ │ │ ├── normalize-options.js │ │ │ └── sync.js │ │ ├── LICENSE │ │ ├── package.json │ │ ├── readme.markdown │ │ ├── SECURITY.md │ │ ├── sync.js │ │ └── test │ │ ├── core.js │ │ ├── dotdot │ │ │ ├── abc │ │ │ │ └── index.js │ │ │ └── index.js │ │ ├── dotdot.js │ │ ├── faulty_basedir.js │ │ ├── filter_sync.js │ │ ├── filter.js │ │ ├── home_paths_sync.js │ │ ├── home_paths.js │ │ ├── list-exports │ │ │ ├── .eslintignore │ │ │ ├── .eslintrc │ │ │ ├── .github │ │ │ │ ├── FUNDING.yml │ │ │ │ └── workflows │ │ │ │ ├── conditions.yml │ │ │ │ ├── fixtures.yml │ │ │ │ ├── ls-engines.yml │ │ │ │ ├── node-pretest.yml │ │ │ │ ├── node.yml │ │ │ │ ├── rebase.yml │ │ │ │ └── require-allow-edits.yml │ │ │ ├── LICENSE │ │ │ ├── package.json │ │ │ ├── packages │ │ │ │ ├── list-exports │ │ │ │ │ ├── .eslintrc │ │ │ │ │ ├── index.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── README.md │ │ │ │ ├── ls-exports │ │ │ │ │ ├── .eslintrc │ │ │ │ │ ├── bin │ │ │ │ │ │ └── ls-exports │ │ │ │ │ ├── exportsTable.js │ │ │ │ │ ├── getPackageJSONPath.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── README.md │ │ │ │ │ └── table.js │ │ │ │ └── tests │ │ │ │ ├── .eslintignore │ │ │ │ ├── .eslintrc │ │ │ │ ├── conditions-expected.js │ │ │ │ ├── conditions.js │ │ │ │ ├── fixtures │ │ │ │ │ ├── es-abstract │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── 2015 │ │ │ │ │ │ │ ├── AbstractEqualityComparison.js │ │ │ │ │ │ │ ├── AbstractRelationalComparison.js │ │ │ │ │ │ │ ├── AdvanceStringIndex.js │ │ │ │ │ │ │ ├── ArrayCreate.js │ │ │ │ │ │ │ ├── ArraySetLength.js │ │ │ │ │ │ │ ├── ArraySpeciesCreate.js │ │ │ │ │ │ │ ├── Call.js │ │ │ │ │ │ │ ├── CanonicalNumericIndexString.js │ │ │ │ │ │ │ ├── CompletePropertyDescriptor.js │ │ │ │ │ │ │ ├── CreateDataProperty.js │ │ │ │ │ │ │ ├── CreateDataPropertyOrThrow.js │ │ │ │ │ │ │ ├── CreateHTML.js │ │ │ │ │ │ │ ├── CreateIterResultObject.js │ │ │ │ │ │ │ ├── CreateListFromArrayLike.js │ │ │ │ │ │ │ ├── CreateMethodProperty.js │ │ │ │ │ │ │ ├── DateFromTime.js │ │ │ │ │ │ │ ├── Day.js │ │ │ │ │ │ │ ├── DayFromYear.js │ │ │ │ │ │ │ ├── DaysInYear.js │ │ │ │ │ │ │ ├── DayWithinYear.js │ │ │ │ │ │ │ ├── DefinePropertyOrThrow.js │ │ │ │ │ │ │ ├── DeletePropertyOrThrow.js │ │ │ │ │ │ │ ├── EnumerableOwnNames.js │ │ │ │ │ │ │ ├── FromPropertyDescriptor.js │ │ │ │ │ │ │ ├── Get.js │ │ │ │ │ │ │ ├── GetIterator.js │ │ │ │ │ │ │ ├── GetMethod.js │ │ │ │ │ │ │ ├── GetOwnPropertyKeys.js │ │ │ │ │ │ │ ├── GetPrototypeFromConstructor.js │ │ │ │ │ │ │ ├── GetSubstitution.js │ │ │ │ │ │ │ ├── GetV.js │ │ │ │ │ │ │ ├── HasOwnProperty.js │ │ │ │ │ │ │ ├── HasProperty.js │ │ │ │ │ │ │ ├── HourFromTime.js │ │ │ │ │ │ │ ├── InLeapYear.js │ │ │ │ │ │ │ ├── InstanceofOperator.js │ │ │ │ │ │ │ ├── Invoke.js │ │ │ │ │ │ │ ├── IsAccessorDescriptor.js │ │ │ │ │ │ │ ├── IsArray.js │ │ │ │ │ │ │ ├── IsCallable.js │ │ │ │ │ │ │ ├── IsConcatSpreadable.js │ │ │ │ │ │ │ ├── IsConstructor.js │ │ │ │ │ │ │ ├── IsDataDescriptor.js │ │ │ │ │ │ │ ├── IsExtensible.js │ │ │ │ │ │ │ ├── IsGenericDescriptor.js │ │ │ │ │ │ │ ├── IsInteger.js │ │ │ │ │ │ │ ├── IsPromise.js │ │ │ │ │ │ │ ├── IsPropertyDescriptor.js │ │ │ │ │ │ │ ├── IsPropertyKey.js │ │ │ │ │ │ │ ├── IsRegExp.js │ │ │ │ │ │ │ ├── IteratorClose.js │ │ │ │ │ │ │ ├── IteratorComplete.js │ │ │ │ │ │ │ ├── IteratorNext.js │ │ │ │ │ │ │ ├── IteratorStep.js │ │ │ │ │ │ │ ├── IteratorValue.js │ │ │ │ │ │ │ ├── MakeDate.js │ │ │ │ │ │ │ ├── MakeDay.js │ │ │ │ │ │ │ ├── MakeTime.js │ │ │ │ │ │ │ ├── MinFromTime.js │ │ │ │ │ │ │ ├── modulo.js │ │ │ │ │ │ │ ├── MonthFromTime.js │ │ │ │ │ │ │ ├── msFromTime.js │ │ │ │ │ │ │ ├── ObjectCreate.js │ │ │ │ │ │ │ ├── OrdinaryDefineOwnProperty.js │ │ │ │ │ │ │ ├── OrdinaryGetOwnProperty.js │ │ │ │ │ │ │ ├── OrdinaryHasInstance.js │ │ │ │ │ │ │ ├── OrdinaryHasProperty.js │ │ │ │ │ │ │ ├── RegExpExec.js │ │ │ │ │ │ │ ├── RequireObjectCoercible.js │ │ │ │ │ │ │ ├── SameValue.js │ │ │ │ │ │ │ ├── SameValueZero.js │ │ │ │ │ │ │ ├── SecFromTime.js │ │ │ │ │ │ │ ├── Set.js │ │ │ │ │ │ │ ├── SetFunctionName.js │ │ │ │ │ │ │ ├── SetIntegrityLevel.js │ │ │ │ │ │ │ ├── SpeciesConstructor.js │ │ │ │ │ │ │ ├── StrictEqualityComparison.js │ │ │ │ │ │ │ ├── SymbolDescriptiveString.js │ │ │ │ │ │ │ ├── TestIntegrityLevel.js │ │ │ │ │ │ │ ├── thisBooleanValue.js │ │ │ │ │ │ │ ├── thisNumberValue.js │ │ │ │ │ │ │ ├── thisStringValue.js │ │ │ │ │ │ │ ├── thisTimeValue.js │ │ │ │ │ │ │ ├── TimeClip.js │ │ │ │ │ │ │ ├── TimeFromYear.js │ │ │ │ │ │ │ ├── TimeWithinDay.js │ │ │ │ │ │ │ ├── ToBoolean.js │ │ │ │ │ │ │ ├── ToDateString.js │ │ │ │ │ │ │ ├── ToInt16.js │ │ │ │ │ │ │ ├── ToInt32.js │ │ │ │ │ │ │ ├── ToInt8.js │ │ │ │ │ │ │ ├── ToInteger.js │ │ │ │ │ │ │ ├── ToLength.js │ │ │ │ │ │ │ ├── ToNumber.js │ │ │ │ │ │ │ ├── ToObject.js │ │ │ │ │ │ │ ├── ToPrimitive.js │ │ │ │ │ │ │ ├── ToPropertyDescriptor.js │ │ │ │ │ │ │ ├── ToPropertyKey.js │ │ │ │ │ │ │ ├── ToString.js │ │ │ │ │ │ │ ├── ToUint16.js │ │ │ │ │ │ │ ├── ToUint32.js │ │ │ │ │ │ │ ├── ToUint8.js │ │ │ │ │ │ │ ├── ToUint8Clamp.js │ │ │ │ │ │ │ ├── Type.js │ │ │ │ │ │ │ ├── ValidateAndApplyPropertyDescriptor.js │ │ │ │ │ │ │ ├── WeekDay.js │ │ │ │ │ │ │ └── YearFromTime.js │ │ │ │ │ │ ├── 2016 │ │ │ │ │ │ │ ├── AbstractEqualityComparison.js │ │ │ │ │ │ │ ├── AbstractRelationalComparison.js │ │ │ │ │ │ │ ├── AdvanceStringIndex.js │ │ │ │ │ │ │ ├── ArrayCreate.js │ │ │ │ │ │ │ ├── ArraySetLength.js │ │ │ │ │ │ │ ├── ArraySpeciesCreate.js │ │ │ │ │ │ │ ├── Call.js │ │ │ │ │ │ │ ├── CanonicalNumericIndexString.js │ │ │ │ │ │ │ ├── CompletePropertyDescriptor.js │ │ │ │ │ │ │ ├── CreateDataProperty.js │ │ │ │ │ │ │ ├── CreateDataPropertyOrThrow.js │ │ │ │ │ │ │ ├── CreateHTML.js │ │ │ │ │ │ │ ├── CreateIterResultObject.js │ │ │ │ │ │ │ ├── CreateListFromArrayLike.js │ │ │ │ │ │ │ ├── CreateMethodProperty.js │ │ │ │ │ │ │ ├── DateFromTime.js │ │ │ │ │ │ │ ├── Day.js │ │ │ │ │ │ │ ├── DayFromYear.js │ │ │ │ │ │ │ ├── DaysInYear.js │ │ │ │ │ │ │ ├── DayWithinYear.js │ │ │ │ │ │ │ ├── DefinePropertyOrThrow.js │ │ │ │ │ │ │ ├── DeletePropertyOrThrow.js │ │ │ │ │ │ │ ├── EnumerableOwnNames.js │ │ │ │ │ │ │ ├── FromPropertyDescriptor.js │ │ │ │ │ │ │ ├── Get.js │ │ │ │ │ │ │ ├── GetIterator.js │ │ │ │ │ │ │ ├── GetMethod.js │ │ │ │ │ │ │ ├── GetOwnPropertyKeys.js │ │ │ │ │ │ │ ├── GetPrototypeFromConstructor.js │ │ │ │ │ │ │ ├── GetSubstitution.js │ │ │ │ │ │ │ ├── GetV.js │ │ │ │ │ │ │ ├── HasOwnProperty.js │ │ │ │ │ │ │ ├── HasProperty.js │ │ │ │ │ │ │ ├── HourFromTime.js │ │ │ │ │ │ │ ├── InLeapYear.js │ │ │ │ │ │ │ ├── InstanceofOperator.js │ │ │ │ │ │ │ ├── Invoke.js │ │ │ │ │ │ │ ├── IsAccessorDescriptor.js │ │ │ │ │ │ │ ├── IsArray.js │ │ │ │ │ │ │ ├── IsCallable.js │ │ │ │ │ │ │ ├── IsConcatSpreadable.js │ │ │ │ │ │ │ ├── IsConstructor.js │ │ │ │ │ │ │ ├── IsDataDescriptor.js │ │ │ │ │ │ │ ├── IsExtensible.js │ │ │ │ │ │ │ ├── IsGenericDescriptor.js │ │ │ │ │ │ │ ├── IsInteger.js │ │ │ │ │ │ │ ├── IsPromise.js │ │ │ │ │ │ │ ├── IsPropertyDescriptor.js │ │ │ │ │ │ │ ├── IsPropertyKey.js │ │ │ │ │ │ │ ├── IsRegExp.js │ │ │ │ │ │ │ ├── IterableToArrayLike.js │ │ │ │ │ │ │ ├── IteratorClose.js │ │ │ │ │ │ │ ├── IteratorComplete.js │ │ │ │ │ │ │ ├── IteratorNext.js │ │ │ │ │ │ │ ├── IteratorStep.js │ │ │ │ │ │ │ ├── IteratorValue.js │ │ │ │ │ │ │ ├── MakeDate.js │ │ │ │ │ │ │ ├── MakeDay.js │ │ │ │ │ │ │ ├── MakeTime.js │ │ │ │ │ │ │ ├── MinFromTime.js │ │ │ │ │ │ │ ├── modulo.js │ │ │ │ │ │ │ ├── MonthFromTime.js │ │ │ │ │ │ │ ├── msFromTime.js │ │ │ │ │ │ │ ├── ObjectCreate.js │ │ │ │ │ │ │ ├── OrdinaryDefineOwnProperty.js │ │ │ │ │ │ │ ├── OrdinaryGetOwnProperty.js │ │ │ │ │ │ │ ├── OrdinaryGetPrototypeOf.js │ │ │ │ │ │ │ ├── OrdinaryHasInstance.js │ │ │ │ │ │ │ ├── OrdinaryHasProperty.js │ │ │ │ │ │ │ ├── OrdinarySetPrototypeOf.js │ │ │ │ │ │ │ ├── RegExpExec.js │ │ │ │ │ │ │ ├── RequireObjectCoercible.js │ │ │ │ │ │ │ ├── SameValue.js │ │ │ │ │ │ │ ├── SameValueNonNumber.js │ │ │ │ │ │ │ ├── SameValueZero.js │ │ │ │ │ │ │ ├── SecFromTime.js │ │ │ │ │ │ │ ├── Set.js │ │ │ │ │ │ │ ├── SetFunctionName.js │ │ │ │ │ │ │ ├── SetIntegrityLevel.js │ │ │ │ │ │ │ ├── SpeciesConstructor.js │ │ │ │ │ │ │ ├── StrictEqualityComparison.js │ │ │ │ │ │ │ ├── SymbolDescriptiveString.js │ │ │ │ │ │ │ ├── TestIntegrityLevel.js │ │ │ │ │ │ │ ├── thisBooleanValue.js │ │ │ │ │ │ │ ├── thisNumberValue.js │ │ │ │ │ │ │ ├── thisStringValue.js │ │ │ │ │ │ │ ├── thisTimeValue.js │ │ │ │ │ │ │ ├── TimeClip.js │ │ │ │ │ │ │ ├── TimeFromYear.js │ │ │ │ │ │ │ ├── TimeWithinDay.js │ │ │ │ │ │ │ ├── ToBoolean.js │ │ │ │ │ │ │ ├── ToDateString.js │ │ │ │ │ │ │ ├── ToInt16.js │ │ │ │ │ │ │ ├── ToInt32.js │ │ │ │ │ │ │ ├── ToInt8.js │ │ │ │ │ │ │ ├── ToInteger.js │ │ │ │ │ │ │ ├── ToLength.js │ │ │ │ │ │ │ ├── ToNumber.js │ │ │ │ │ │ │ ├── ToObject.js │ │ │ │ │ │ │ ├── ToPrimitive.js │ │ │ │ │ │ │ ├── ToPropertyDescriptor.js │ │ │ │ │ │ │ ├── ToPropertyKey.js │ │ │ │ │ │ │ ├── ToString.js │ │ │ │ │ │ │ ├── ToUint16.js │ │ │ │ │ │ │ ├── ToUint32.js │ │ │ │ │ │ │ ├── ToUint8.js │ │ │ │ │ │ │ ├── ToUint8Clamp.js │ │ │ │ │ │ │ ├── Type.js │ │ │ │ │ │ │ ├── ValidateAndApplyPropertyDescriptor.js │ │ │ │ │ │ │ ├── WeekDay.js │ │ │ │ │ │ │ └── YearFromTime.js │ │ │ │ │ │ ├── 2017 │ │ │ │ │ │ │ ├── AbstractEqualityComparison.js │ │ │ │ │ │ │ ├── AbstractRelationalComparison.js │ │ │ │ │ │ │ ├── AdvanceStringIndex.js │ │ │ │ │ │ │ ├── ArrayCreate.js │ │ │ │ │ │ │ ├── ArraySetLength.js │ │ │ │ │ │ │ ├── ArraySpeciesCreate.js │ │ │ │ │ │ │ ├── Call.js │ │ │ │ │ │ │ ├── CanonicalNumericIndexString.js │ │ │ │ │ │ │ ├── CompletePropertyDescriptor.js │ │ │ │ │ │ │ ├── CreateDataProperty.js │ │ │ │ │ │ │ ├── CreateDataPropertyOrThrow.js │ │ │ │ │ │ │ ├── CreateHTML.js │ │ │ │ │ │ │ ├── CreateIterResultObject.js │ │ │ │ │ │ │ ├── CreateListFromArrayLike.js │ │ │ │ │ │ │ ├── CreateMethodProperty.js │ │ │ │ │ │ │ ├── DateFromTime.js │ │ │ │ │ │ │ ├── Day.js │ │ │ │ │ │ │ ├── DayFromYear.js │ │ │ │ │ │ │ ├── DaysInYear.js │ │ │ │ │ │ │ ├── DayWithinYear.js │ │ │ │ │ │ │ ├── DefinePropertyOrThrow.js │ │ │ │ │ │ │ ├── DeletePropertyOrThrow.js │ │ │ │ │ │ │ ├── EnumerableOwnProperties.js │ │ │ │ │ │ │ ├── FromPropertyDescriptor.js │ │ │ │ │ │ │ ├── Get.js │ │ │ │ │ │ │ ├── GetIterator.js │ │ │ │ │ │ │ ├── GetMethod.js │ │ │ │ │ │ │ ├── GetOwnPropertyKeys.js │ │ │ │ │ │ │ ├── GetPrototypeFromConstructor.js │ │ │ │ │ │ │ ├── GetSubstitution.js │ │ │ │ │ │ │ ├── GetV.js │ │ │ │ │ │ │ ├── HasOwnProperty.js │ │ │ │ │ │ │ ├── HasProperty.js │ │ │ │ │ │ │ ├── HourFromTime.js │ │ │ │ │ │ │ ├── InLeapYear.js │ │ │ │ │ │ │ ├── InstanceofOperator.js │ │ │ │ │ │ │ ├── Invoke.js │ │ │ │ │ │ │ ├── IsAccessorDescriptor.js │ │ │ │ │ │ │ ├── IsArray.js │ │ │ │ │ │ │ ├── IsCallable.js │ │ │ │ │ │ │ ├── IsConcatSpreadable.js │ │ │ │ │ │ │ ├── IsConstructor.js │ │ │ │ │ │ │ ├── IsDataDescriptor.js │ │ │ │ │ │ │ ├── IsExtensible.js │ │ │ │ │ │ │ ├── IsGenericDescriptor.js │ │ │ │ │ │ │ ├── IsInteger.js │ │ │ │ │ │ │ ├── IsPromise.js │ │ │ │ │ │ │ ├── IsPropertyDescriptor.js │ │ │ │ │ │ │ ├── IsPropertyKey.js │ │ │ │ │ │ │ ├── IsRegExp.js │ │ │ │ │ │ │ ├── IterableToList.js │ │ │ │ │ │ │ ├── IteratorClose.js │ │ │ │ │ │ │ ├── IteratorComplete.js │ │ │ │ │ │ │ ├── IteratorNext.js │ │ │ │ │ │ │ ├── IteratorStep.js │ │ │ │ │ │ │ ├── IteratorValue.js │ │ │ │ │ │ │ ├── MakeDate.js │ │ │ │ │ │ │ ├── MakeDay.js │ │ │ │ │ │ │ ├── MakeTime.js │ │ │ │ │ │ │ ├── MinFromTime.js │ │ │ │ │ │ │ ├── modulo.js │ │ │ │ │ │ │ ├── MonthFromTime.js │ │ │ │ │ │ │ ├── msFromTime.js │ │ │ │ │ │ │ ├── ObjectCreate.js │ │ │ │ │ │ │ ├── OrdinaryDefineOwnProperty.js │ │ │ │ │ │ │ ├── OrdinaryGetOwnProperty.js │ │ │ │ │ │ │ ├── OrdinaryGetPrototypeOf.js │ │ │ │ │ │ │ ├── OrdinaryHasInstance.js │ │ │ │ │ │ │ ├── OrdinaryHasProperty.js │ │ │ │ │ │ │ ├── OrdinarySetPrototypeOf.js │ │ │ │ │ │ │ ├── RegExpExec.js │ │ │ │ │ │ │ ├── RequireObjectCoercible.js │ │ │ │ │ │ │ ├── SameValue.js │ │ │ │ │ │ │ ├── SameValueNonNumber.js │ │ │ │ │ │ │ ├── SameValueZero.js │ │ │ │ │ │ │ ├── SecFromTime.js │ │ │ │ │ │ │ ├── Set.js │ │ │ │ │ │ │ ├── SetFunctionName.js │ │ │ │ │ │ │ ├── SetIntegrityLevel.js │ │ │ │ │ │ │ ├── SpeciesConstructor.js │ │ │ │ │ │ │ ├── StrictEqualityComparison.js │ │ │ │ │ │ │ ├── SymbolDescriptiveString.js │ │ │ │ │ │ │ ├── TestIntegrityLevel.js │ │ │ │ │ │ │ ├── thisBooleanValue.js │ │ │ │ │ │ │ ├── thisNumberValue.js │ │ │ │ │ │ │ ├── thisStringValue.js │ │ │ │ │ │ │ ├── thisTimeValue.js │ │ │ │ │ │ │ ├── TimeClip.js │ │ │ │ │ │ │ ├── TimeFromYear.js │ │ │ │ │ │ │ ├── TimeWithinDay.js │ │ │ │ │ │ │ ├── ToBoolean.js │ │ │ │ │ │ │ ├── ToDateString.js │ │ │ │ │ │ │ ├── ToIndex.js │ │ │ │ │ │ │ ├── ToInt16.js │ │ │ │ │ │ │ ├── ToInt32.js │ │ │ │ │ │ │ ├── ToInt8.js │ │ │ │ │ │ │ ├── ToInteger.js │ │ │ │ │ │ │ ├── ToLength.js │ │ │ │ │ │ │ ├── ToNumber.js │ │ │ │ │ │ │ ├── ToObject.js │ │ │ │ │ │ │ ├── ToPrimitive.js │ │ │ │ │ │ │ ├── ToPropertyDescriptor.js │ │ │ │ │ │ │ ├── ToPropertyKey.js │ │ │ │ │ │ │ ├── ToString.js │ │ │ │ │ │ │ ├── ToUint16.js │ │ │ │ │ │ │ ├── ToUint32.js │ │ │ │ │ │ │ ├── ToUint8.js │ │ │ │ │ │ │ ├── ToUint8Clamp.js │ │ │ │ │ │ │ ├── Type.js │ │ │ │ │ │ │ ├── ValidateAndApplyPropertyDescriptor.js │ │ │ │ │ │ │ ├── WeekDay.js │ │ │ │ │ │ │ └── YearFromTime.js │ │ │ │ │ │ ├── 2018 │ │ │ │ │ │ │ ├── AbstractEqualityComparison.js │ │ │ │ │ │ │ ├── AbstractRelationalComparison.js │ │ │ │ │ │ │ ├── AdvanceStringIndex.js │ │ │ │ │ │ │ ├── ArrayCreate.js │ │ │ │ │ │ │ ├── ArraySetLength.js │ │ │ │ │ │ │ ├── ArraySpeciesCreate.js │ │ │ │ │ │ │ ├── Call.js │ │ │ │ │ │ │ ├── CanonicalNumericIndexString.js │ │ │ │ │ │ │ ├── CompletePropertyDescriptor.js │ │ │ │ │ │ │ ├── CopyDataProperties.js │ │ │ │ │ │ │ ├── CreateDataProperty.js │ │ │ │ │ │ │ ├── CreateDataPropertyOrThrow.js │ │ │ │ │ │ │ ├── CreateHTML.js │ │ │ │ │ │ │ ├── CreateIterResultObject.js │ │ │ │ │ │ │ ├── CreateListFromArrayLike.js │ │ │ │ │ │ │ ├── CreateMethodProperty.js │ │ │ │ │ │ │ ├── DateFromTime.js │ │ │ │ │ │ │ ├── DateString.js │ │ │ │ │ │ │ ├── Day.js │ │ │ │ │ │ │ ├── DayFromYear.js │ │ │ │ │ │ │ ├── DaysInYear.js │ │ │ │ │ │ │ ├── DayWithinYear.js │ │ │ │ │ │ │ ├── DefinePropertyOrThrow.js │ │ │ │ │ │ │ ├── DeletePropertyOrThrow.js │ │ │ │ │ │ │ ├── EnumerableOwnPropertyNames.js │ │ │ │ │ │ │ ├── FromPropertyDescriptor.js │ │ │ │ │ │ │ ├── Get.js │ │ │ │ │ │ │ ├── GetIterator.js │ │ │ │ │ │ │ ├── GetMethod.js │ │ │ │ │ │ │ ├── GetOwnPropertyKeys.js │ │ │ │ │ │ │ ├── GetPrototypeFromConstructor.js │ │ │ │ │ │ │ ├── GetSubstitution.js │ │ │ │ │ │ │ ├── GetV.js │ │ │ │ │ │ │ ├── HasOwnProperty.js │ │ │ │ │ │ │ ├── HasProperty.js │ │ │ │ │ │ │ ├── HourFromTime.js │ │ │ │ │ │ │ ├── InLeapYear.js │ │ │ │ │ │ │ ├── InstanceofOperator.js │ │ │ │ │ │ │ ├── Invoke.js │ │ │ │ │ │ │ ├── IsAccessorDescriptor.js │ │ │ │ │ │ │ ├── IsArray.js │ │ │ │ │ │ │ ├── IsCallable.js │ │ │ │ │ │ │ ├── IsConcatSpreadable.js │ │ │ │ │ │ │ ├── IsConstructor.js │ │ │ │ │ │ │ ├── IsDataDescriptor.js │ │ │ │ │ │ │ ├── IsExtensible.js │ │ │ │ │ │ │ ├── IsGenericDescriptor.js │ │ │ │ │ │ │ ├── IsInteger.js │ │ │ │ │ │ │ ├── IsPromise.js │ │ │ │ │ │ │ ├── IsPropertyKey.js │ │ │ │ │ │ │ ├── IsRegExp.js │ │ │ │ │ │ │ ├── IsStringPrefix.js │ │ │ │ │ │ │ ├── IterableToList.js │ │ │ │ │ │ │ ├── IteratorClose.js │ │ │ │ │ │ │ ├── IteratorComplete.js │ │ │ │ │ │ │ ├── IteratorNext.js │ │ │ │ │ │ │ ├── IteratorStep.js │ │ │ │ │ │ │ ├── IteratorValue.js │ │ │ │ │ │ │ ├── MakeDate.js │ │ │ │ │ │ │ ├── MakeDay.js │ │ │ │ │ │ │ ├── MakeTime.js │ │ │ │ │ │ │ ├── MinFromTime.js │ │ │ │ │ │ │ ├── modulo.js │ │ │ │ │ │ │ ├── MonthFromTime.js │ │ │ │ │ │ │ ├── msFromTime.js │ │ │ │ │ │ │ ├── NumberToString.js │ │ │ │ │ │ │ ├── ObjectCreate.js │ │ │ │ │ │ │ ├── OrdinaryDefineOwnProperty.js │ │ │ │ │ │ │ ├── OrdinaryGetOwnProperty.js │ │ │ │ │ │ │ ├── OrdinaryGetPrototypeOf.js │ │ │ │ │ │ │ ├── OrdinaryHasInstance.js │ │ │ │ │ │ │ ├── OrdinaryHasProperty.js │ │ │ │ │ │ │ ├── OrdinarySetPrototypeOf.js │ │ │ │ │ │ │ ├── PromiseResolve.js │ │ │ │ │ │ │ ├── RegExpExec.js │ │ │ │ │ │ │ ├── RequireObjectCoercible.js │ │ │ │ │ │ │ ├── SameValue.js │ │ │ │ │ │ │ ├── SameValueNonNumber.js │ │ │ │ │ │ │ ├── SameValueZero.js │ │ │ │ │ │ │ ├── SecFromTime.js │ │ │ │ │ │ │ ├── Set.js │ │ │ │ │ │ │ ├── SetFunctionName.js │ │ │ │ │ │ │ ├── SetIntegrityLevel.js │ │ │ │ │ │ │ ├── SpeciesConstructor.js │ │ │ │ │ │ │ ├── StrictEqualityComparison.js │ │ │ │ │ │ │ ├── SymbolDescriptiveString.js │ │ │ │ │ │ │ ├── TestIntegrityLevel.js │ │ │ │ │ │ │ ├── thisBooleanValue.js │ │ │ │ │ │ │ ├── thisNumberValue.js │ │ │ │ │ │ │ ├── thisStringValue.js │ │ │ │ │ │ │ ├── thisSymbolValue.js │ │ │ │ │ │ │ ├── thisTimeValue.js │ │ │ │ │ │ │ ├── TimeClip.js │ │ │ │ │ │ │ ├── TimeFromYear.js │ │ │ │ │ │ │ ├── TimeString.js │ │ │ │ │ │ │ ├── TimeWithinDay.js │ │ │ │ │ │ │ ├── ToBoolean.js │ │ │ │ │ │ │ ├── ToDateString.js │ │ │ │ │ │ │ ├── ToIndex.js │ │ │ │ │ │ │ ├── ToInt16.js │ │ │ │ │ │ │ ├── ToInt32.js │ │ │ │ │ │ │ ├── ToInt8.js │ │ │ │ │ │ │ ├── ToInteger.js │ │ │ │ │ │ │ ├── ToLength.js │ │ │ │ │ │ │ ├── ToNumber.js │ │ │ │ │ │ │ ├── ToObject.js │ │ │ │ │ │ │ ├── ToPrimitive.js │ │ │ │ │ │ │ ├── ToPropertyDescriptor.js │ │ │ │ │ │ │ ├── ToPropertyKey.js │ │ │ │ │ │ │ ├── ToString.js │ │ │ │ │ │ │ ├── ToUint16.js │ │ │ │ │ │ │ ├── ToUint32.js │ │ │ │ │ │ │ ├── ToUint8.js │ │ │ │ │ │ │ ├── ToUint8Clamp.js │ │ │ │ │ │ │ ├── Type.js │ │ │ │ │ │ │ ├── ValidateAndApplyPropertyDescriptor.js │ │ │ │ │ │ │ ├── WeekDay.js │ │ │ │ │ │ │ └── YearFromTime.js │ │ │ │ │ │ ├── 2019 │ │ │ │ │ │ │ ├── AbstractEqualityComparison.js │ │ │ │ │ │ │ ├── AbstractRelationalComparison.js │ │ │ │ │ │ │ ├── AddEntriesFromIterable.js │ │ │ │ │ │ │ ├── AdvanceStringIndex.js │ │ │ │ │ │ │ ├── ArrayCreate.js │ │ │ │ │ │ │ ├── ArraySetLength.js │ │ │ │ │ │ │ ├── ArraySpeciesCreate.js │ │ │ │ │ │ │ ├── Call.js │ │ │ │ │ │ │ ├── CanonicalNumericIndexString.js │ │ │ │ │ │ │ ├── CompletePropertyDescriptor.js │ │ │ │ │ │ │ ├── CopyDataProperties.js │ │ │ │ │ │ │ ├── CreateDataProperty.js │ │ │ │ │ │ │ ├── CreateDataPropertyOrThrow.js │ │ │ │ │ │ │ ├── CreateHTML.js │ │ │ │ │ │ │ ├── CreateIterResultObject.js │ │ │ │ │ │ │ ├── CreateListFromArrayLike.js │ │ │ │ │ │ │ ├── CreateMethodProperty.js │ │ │ │ │ │ │ ├── DateFromTime.js │ │ │ │ │ │ │ ├── DateString.js │ │ │ │ │ │ │ ├── Day.js │ │ │ │ │ │ │ ├── DayFromYear.js │ │ │ │ │ │ │ ├── DaysInYear.js │ │ │ │ │ │ │ ├── DayWithinYear.js │ │ │ │ │ │ │ ├── DefinePropertyOrThrow.js │ │ │ │ │ │ │ ├── DeletePropertyOrThrow.js │ │ │ │ │ │ │ ├── EnumerableOwnPropertyNames.js │ │ │ │ │ │ │ ├── FlattenIntoArray.js │ │ │ │ │ │ │ ├── FromPropertyDescriptor.js │ │ │ │ │ │ │ ├── Get.js │ │ │ │ │ │ │ ├── GetIterator.js │ │ │ │ │ │ │ ├── GetMethod.js │ │ │ │ │ │ │ ├── GetOwnPropertyKeys.js │ │ │ │ │ │ │ ├── GetPrototypeFromConstructor.js │ │ │ │ │ │ │ ├── GetSubstitution.js │ │ │ │ │ │ │ ├── GetV.js │ │ │ │ │ │ │ ├── HasOwnProperty.js │ │ │ │ │ │ │ ├── HasProperty.js │ │ │ │ │ │ │ ├── HourFromTime.js │ │ │ │ │ │ │ ├── InLeapYear.js │ │ │ │ │ │ │ ├── InstanceofOperator.js │ │ │ │ │ │ │ ├── Invoke.js │ │ │ │ │ │ │ ├── IsAccessorDescriptor.js │ │ │ │ │ │ │ ├── IsArray.js │ │ │ │ │ │ │ ├── IsCallable.js │ │ │ │ │ │ │ ├── IsConcatSpreadable.js │ │ │ │ │ │ │ ├── IsConstructor.js │ │ │ │ │ │ │ ├── IsDataDescriptor.js │ │ │ │ │ │ │ ├── IsExtensible.js │ │ │ │ │ │ │ ├── IsGenericDescriptor.js │ │ │ │ │ │ │ ├── IsInteger.js │ │ │ │ │ │ │ ├── IsPromise.js │ │ │ │ │ │ │ ├── IsPropertyKey.js │ │ │ │ │ │ │ ├── IsRegExp.js │ │ │ │ │ │ │ ├── IsStringPrefix.js │ │ │ │ │ │ │ ├── IterableToList.js │ │ │ │ │ │ │ ├── IteratorClose.js │ │ │ │ │ │ │ ├── IteratorComplete.js │ │ │ │ │ │ │ ├── IteratorNext.js │ │ │ │ │ │ │ ├── IteratorStep.js │ │ │ │ │ │ │ ├── IteratorValue.js │ │ │ │ │ │ │ ├── MakeDate.js │ │ │ │ │ │ │ ├── MakeDay.js │ │ │ │ │ │ │ ├── MakeTime.js │ │ │ │ │ │ │ ├── MinFromTime.js │ │ │ │ │ │ │ ├── modulo.js │ │ │ │ │ │ │ ├── MonthFromTime.js │ │ │ │ │ │ │ ├── msFromTime.js │ │ │ │ │ │ │ ├── NumberToString.js │ │ │ │ │ │ │ ├── ObjectCreate.js │ │ │ │ │ │ │ ├── OrdinaryDefineOwnProperty.js │ │ │ │ │ │ │ ├── OrdinaryGetOwnProperty.js │ │ │ │ │ │ │ ├── OrdinaryGetPrototypeOf.js │ │ │ │ │ │ │ ├── OrdinaryHasInstance.js │ │ │ │ │ │ │ ├── OrdinaryHasProperty.js │ │ │ │ │ │ │ ├── OrdinarySetPrototypeOf.js │ │ │ │ │ │ │ ├── PromiseResolve.js │ │ │ │ │ │ │ ├── RegExpExec.js │ │ │ │ │ │ │ ├── RequireObjectCoercible.js │ │ │ │ │ │ │ ├── SameValue.js │ │ │ │ │ │ │ ├── SameValueNonNumber.js │ │ │ │ │ │ │ ├── SameValueZero.js │ │ │ │ │ │ │ ├── SecFromTime.js │ │ │ │ │ │ │ ├── Set.js │ │ │ │ │ │ │ ├── SetFunctionName.js │ │ │ │ │ │ │ ├── SetIntegrityLevel.js │ │ │ │ │ │ │ ├── SpeciesConstructor.js │ │ │ │ │ │ │ ├── StrictEqualityComparison.js │ │ │ │ │ │ │ ├── SymbolDescriptiveString.js │ │ │ │ │ │ │ ├── TestIntegrityLevel.js │ │ │ │ │ │ │ ├── thisBooleanValue.js │ │ │ │ │ │ │ ├── thisNumberValue.js │ │ │ │ │ │ │ ├── thisStringValue.js │ │ │ │ │ │ │ ├── thisSymbolValue.js │ │ │ │ │ │ │ ├── thisTimeValue.js │ │ │ │ │ │ │ ├── TimeClip.js │ │ │ │ │ │ │ ├── TimeFromYear.js │ │ │ │ │ │ │ ├── TimeString.js │ │ │ │ │ │ │ ├── TimeWithinDay.js │ │ │ │ │ │ │ ├── ToBoolean.js │ │ │ │ │ │ │ ├── ToDateString.js │ │ │ │ │ │ │ ├── ToIndex.js │ │ │ │ │ │ │ ├── ToInt16.js │ │ │ │ │ │ │ ├── ToInt32.js │ │ │ │ │ │ │ ├── ToInt8.js │ │ │ │ │ │ │ ├── ToInteger.js │ │ │ │ │ │ │ ├── ToLength.js │ │ │ │ │ │ │ ├── ToNumber.js │ │ │ │ │ │ │ ├── ToObject.js │ │ │ │ │ │ │ ├── ToPrimitive.js │ │ │ │ │ │ │ ├── ToPropertyDescriptor.js │ │ │ │ │ │ │ ├── ToPropertyKey.js │ │ │ │ │ │ │ ├── ToString.js │ │ │ │ │ │ │ ├── ToUint16.js │ │ │ │ │ │ │ ├── ToUint32.js │ │ │ │ │ │ │ ├── ToUint8.js │ │ │ │ │ │ │ ├── ToUint8Clamp.js │ │ │ │ │ │ │ ├── TrimString.js │ │ │ │ │ │ │ ├── Type.js │ │ │ │ │ │ │ ├── ValidateAndApplyPropertyDescriptor.js │ │ │ │ │ │ │ ├── WeekDay.js │ │ │ │ │ │ │ └── YearFromTime.js │ │ │ │ │ │ ├── 5 │ │ │ │ │ │ │ ├── AbstractEqualityComparison.js │ │ │ │ │ │ │ ├── AbstractRelationalComparison.js │ │ │ │ │ │ │ ├── CheckObjectCoercible.js │ │ │ │ │ │ │ ├── DateFromTime.js │ │ │ │ │ │ │ ├── Day.js │ │ │ │ │ │ │ ├── DayFromYear.js │ │ │ │ │ │ │ ├── DaysInYear.js │ │ │ │ │ │ │ ├── DayWithinYear.js │ │ │ │ │ │ │ ├── FromPropertyDescriptor.js │ │ │ │ │ │ │ ├── HourFromTime.js │ │ │ │ │ │ │ ├── InLeapYear.js │ │ │ │ │ │ │ ├── IsAccessorDescriptor.js │ │ │ │ │ │ │ ├── IsCallable.js │ │ │ │ │ │ │ ├── IsDataDescriptor.js │ │ │ │ │ │ │ ├── IsGenericDescriptor.js │ │ │ │ │ │ │ ├── IsPropertyDescriptor.js │ │ │ │ │ │ │ ├── MakeDate.js │ │ │ │ │ │ │ ├── MakeDay.js │ │ │ │ │ │ │ ├── MakeTime.js │ │ │ │ │ │ │ ├── MinFromTime.js │ │ │ │ │ │ │ ├── modulo.js │ │ │ │ │ │ │ ├── MonthFromTime.js │ │ │ │ │ │ │ ├── msFromTime.js │ │ │ │ │ │ │ ├── SameValue.js │ │ │ │ │ │ │ ├── SecFromTime.js │ │ │ │ │ │ │ ├── StrictEqualityComparison.js │ │ │ │ │ │ │ ├── TimeClip.js │ │ │ │ │ │ │ ├── TimeFromYear.js │ │ │ │ │ │ │ ├── TimeWithinDay.js │ │ │ │ │ │ │ ├── ToBoolean.js │ │ │ │ │ │ │ ├── ToInt32.js │ │ │ │ │ │ │ ├── ToInteger.js │ │ │ │ │ │ │ ├── ToNumber.js │ │ │ │ │ │ │ ├── ToObject.js │ │ │ │ │ │ │ ├── ToPrimitive.js │ │ │ │ │ │ │ ├── ToPropertyDescriptor.js │ │ │ │ │ │ │ ├── ToString.js │ │ │ │ │ │ │ ├── ToUint16.js │ │ │ │ │ │ │ ├── ToUint32.js │ │ │ │ │ │ │ ├── Type.js │ │ │ │ │ │ │ ├── WeekDay.js │ │ │ │ │ │ │ └── YearFromTime.js │ │ │ │ │ │ ├── CHANGELOG.md │ │ │ │ │ │ ├── es2015.js │ │ │ │ │ │ ├── es2016.js │ │ │ │ │ │ ├── es2017.js │ │ │ │ │ │ ├── es2018.js │ │ │ │ │ │ ├── es2019.js │ │ │ │ │ │ ├── es5.js │ │ │ │ │ │ ├── es6.js │ │ │ │ │ │ ├── es7.js │ │ │ │ │ │ ├── GetIntrinsic.js │ │ │ │ │ │ ├── helpers │ │ │ │ │ │ │ ├── assertRecord.js │ │ │ │ │ │ │ ├── assign.js │ │ │ │ │ │ │ ├── callBind.js │ │ │ │ │ │ │ ├── callBound.js │ │ │ │ │ │ │ ├── DefineOwnProperty.js │ │ │ │ │ │ │ ├── every.js │ │ │ │ │ │ │ ├── forEach.js │ │ │ │ │ │ │ ├── getInferredName.js │ │ │ │ │ │ │ ├── getIteratorMethod.js │ │ │ │ │ │ │ ├── getOwnPropertyDescriptor.js │ │ │ │ │ │ │ ├── getProto.js │ │ │ │ │ │ │ ├── getSymbolDescription.js │ │ │ │ │ │ │ ├── isFinite.js │ │ │ │ │ │ │ ├── isNaN.js │ │ │ │ │ │ │ ├── isPrefixOf.js │ │ │ │ │ │ │ ├── isPrimitive.js │ │ │ │ │ │ │ ├── isPropertyDescriptor.js │ │ │ │ │ │ │ ├── isSamePropertyDescriptor.js │ │ │ │ │ │ │ ├── maxSafeInteger.js │ │ │ │ │ │ │ ├── mod.js │ │ │ │ │ │ │ ├── OwnPropertyKeys.js │ │ │ │ │ │ │ ├── padTimeComponent.js │ │ │ │ │ │ │ ├── regexTester.js │ │ │ │ │ │ │ ├── setProto.js │ │ │ │ │ │ │ ├── sign.js │ │ │ │ │ │ │ └── timeConstants.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── operations │ │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ │ ├── 2015.js │ │ │ │ │ │ │ ├── 2016.js │ │ │ │ │ │ │ ├── 2017.js │ │ │ │ │ │ │ ├── 2018.js │ │ │ │ │ │ │ └── 2019.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ └── test │ │ │ │ │ │ ├── diffOps.js │ │ │ │ │ │ ├── es2015.js │ │ │ │ │ │ ├── es2016.js │ │ │ │ │ │ ├── es2017.js │ │ │ │ │ │ ├── es2018.js │ │ │ │ │ │ ├── es2019.js │ │ │ │ │ │ ├── es5.js │ │ │ │ │ │ ├── es6.js │ │ │ │ │ │ ├── es7.js │ │ │ │ │ │ ├── GetIntrinsic.js │ │ │ │ │ │ ├── helpers │ │ │ │ │ │ │ ├── assertRecord.js │ │ │ │ │ │ │ ├── defineProperty.js │ │ │ │ │ │ │ ├── getSymbolDescription.js │ │ │ │ │ │ │ ├── OwnPropertyKeys.js │ │ │ │ │ │ │ ├── runManifestTest.js │ │ │ │ │ │ │ └── values.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── tests.js │ │ │ │ │ ├── ex-conditions │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── broken.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── experimental.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── pattern-trailers.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── default.js │ │ │ │ │ │ ├── dinr.js │ │ │ │ │ │ ├── dirn.js │ │ │ │ │ │ ├── dnir.js │ │ │ │ │ │ ├── dnri.js │ │ │ │ │ │ ├── drin.js │ │ │ │ │ │ ├── drni.js │ │ │ │ │ │ ├── fallback.js │ │ │ │ │ │ ├── gen.js │ │ │ │ │ │ ├── idnr.js │ │ │ │ │ │ ├── idrn.js │ │ │ │ │ │ ├── import.mjs │ │ │ │ │ │ ├── indr.js │ │ │ │ │ │ ├── inrd.js │ │ │ │ │ │ ├── irdn.js │ │ │ │ │ │ ├── irnd.js │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ ├── ndir.js │ │ │ │ │ │ ├── ndri.js │ │ │ │ │ │ ├── nidr.js │ │ │ │ │ │ ├── nird.js │ │ │ │ │ │ ├── node.js │ │ │ │ │ │ ├── nrdi.js │ │ │ │ │ │ ├── nrid.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── rdin.js │ │ │ │ │ │ ├── rdni.js │ │ │ │ │ │ ├── require.js │ │ │ │ │ │ ├── ridn.js │ │ │ │ │ │ ├── rind.js │ │ │ │ │ │ ├── rndi.js │ │ │ │ │ │ └── rnid.js │ │ │ │ │ ├── ex-conditions-in-folder │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── broken.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── experimental.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── pattern-trailers.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── cjs │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── utils.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── mjs │ │ │ │ │ │ │ ├── index.mjs │ │ │ │ │ │ │ └── utils.mjs │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── ex-exports-string │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── broken.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── experimental.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── pattern-trailers.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── dir │ │ │ │ │ │ │ ├── extra.js │ │ │ │ │ │ │ ├── extra.mjs │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── file.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── index.mjs │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── ex-exports-TL-object │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── broken.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── experimental.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── pattern-trailers.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── dir │ │ │ │ │ │ │ ├── extra.js │ │ │ │ │ │ │ ├── extra.mjs │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── file.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── index.mjs │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── ex-folder-mapped │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── broken.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── expected-without-conditions.json │ │ │ │ │ │ │ ├── expected.json │ │ │ │ │ │ │ ├── experimental.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── pattern-trailers.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── mapped │ │ │ │ │ │ │ ├── in-mapped-only.js │ │ │ │ │ │ │ └── shared.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── unmapped │ │ │ │ │ │ ├── in-unmapped-only.js │ │ │ │ │ │ └── shared.js │ │ │ │ │ ├── ex-main-dot-slash │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── dir │ │ │ │ │ │ │ ├── extra.js │ │ │ │ │ │ │ ├── extra.mjs │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── file.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── index.mjs │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── ex-main-dotless │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── dir │ │ │ │ │ │ │ ├── extra.js │ │ │ │ │ │ │ ├── extra.mjs │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── file.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── index.mjs │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── ex-main-dotted │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── dir │ │ │ │ │ │ │ ├── extra.js │ │ │ │ │ │ │ ├── extra.mjs │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── file.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── index.mjs │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── ex-main-exports-dot-object │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── broken.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── experimental.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── pattern-trailers.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── dir │ │ │ │ │ │ │ ├── extra.js │ │ │ │ │ │ │ ├── extra.mjs │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── file.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── index.mjs │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── ex-main-exports-multi-object │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── broken.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── experimental.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── pattern-trailers.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── dir │ │ │ │ │ │ │ ├── extra.js │ │ │ │ │ │ │ ├── extra.mjs │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── file.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── index.mjs │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── ex-main-exports-string │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── broken.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── experimental.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── pattern-trailers.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── dir │ │ │ │ │ │ │ ├── extra.js │ │ │ │ │ │ │ ├── extra.mjs │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── file.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── index.mjs │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── ex-main-exports-TL-object │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── broken.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── experimental.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── pattern-trailers.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── dir │ │ │ │ │ │ │ ├── extra.js │ │ │ │ │ │ │ ├── extra.mjs │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── file.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── index.mjs │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── ex-main-implicit │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── dir │ │ │ │ │ │ │ ├── extra.js │ │ │ │ │ │ │ ├── extra.mjs │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── file.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── index.mjs │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── ex-no-exports-with-root-type-commonjs │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── cjs.cjs │ │ │ │ │ │ ├── esm.mjs │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── ex-no-exports-with-root-type-module │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── cjs.cjs │ │ │ │ │ │ ├── esm.mjs │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── ex-node-modules │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── broken.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── experimental.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── pattern-trailers.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ ├── expected-without-conditions.json │ │ │ │ │ │ ├── expected.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── default.js │ │ │ │ │ │ ├── dep.js │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── ex-nonexistent-dir │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── broken.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── experimental.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── pattern-trailers.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ ├── expected-without-conditions.json │ │ │ │ │ │ ├── expected.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── ex-private │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── dir │ │ │ │ │ │ │ ├── extra.js │ │ │ │ │ │ │ ├── extra.mjs │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── file.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── index.mjs │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── flatted-1 │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── cjs │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── esm │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── min.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ └── types.d.ts │ │ │ │ │ ├── flatted-2 │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── broken.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── experimental.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── pattern-trailers.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── .github │ │ │ │ │ │ │ └── FUNDING.yml │ │ │ │ │ │ ├── cjs │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── esm │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── min.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── SPECS.md │ │ │ │ │ │ └── types.d.ts │ │ │ │ │ ├── flatted-3 │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── broken.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── experimental.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── pattern-trailers.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── .github │ │ │ │ │ │ │ └── FUNDING.yml │ │ │ │ │ │ ├── cjs │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ ├── es.js │ │ │ │ │ │ ├── esm │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── min.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── SPECS.md │ │ │ │ │ │ └── types.d.ts │ │ │ │ │ ├── has-package-exports │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── broken.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── experimental.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── pattern-trailers.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ ├── expected-without-conditions.json │ │ │ │ │ │ ├── expected.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── .eslintignore │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ ├── .nycrc │ │ │ │ │ │ ├── browser.js │ │ │ │ │ │ ├── CHANGELOG.md │ │ │ │ │ │ ├── conditional.js │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── no.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── pattern.js │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ └── yes.js │ │ │ │ │ ├── is-promise-2.1.0 │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── readme.md │ │ │ │ │ ├── is-promise-2.2.0 │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── broken.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── experimental.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── pattern-trailers.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ ├── expected.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── readme.md │ │ │ │ │ ├── is-promise-2.2.1 │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── broken.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── experimental.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── pattern-trailers.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── index.mjs │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── readme.md │ │ │ │ │ ├── is-promise-2.2.2 │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── index.mjs │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── readme.md │ │ │ │ │ ├── list-exports │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── broken.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── experimental.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── pattern-trailers.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ ├── expected-without-conditions.json │ │ │ │ │ │ └── expected.json │ │ │ │ │ ├── ls-exports │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── broken.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── experimental.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── pattern-trailers.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── expected-without-conditions.json │ │ │ │ │ ├── preact │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── broken.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── experimental.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── pattern-trailers.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── compat │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ ├── server.js │ │ │ │ │ │ │ └── src │ │ │ │ │ │ │ ├── Children.js │ │ │ │ │ │ │ ├── events.js │ │ │ │ │ │ │ ├── forwardRef.js │ │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── internal.d.ts │ │ │ │ │ │ │ ├── memo.js │ │ │ │ │ │ │ ├── portals.js │ │ │ │ │ │ │ ├── PureComponent.js │ │ │ │ │ │ │ ├── render.js │ │ │ │ │ │ │ ├── suspense-list.d.ts │ │ │ │ │ │ │ ├── suspense-list.js │ │ │ │ │ │ │ ├── suspense.d.ts │ │ │ │ │ │ │ ├── suspense.js │ │ │ │ │ │ │ └── util.js │ │ │ │ │ │ ├── debug │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── src │ │ │ │ │ │ │ ├── check-props.js │ │ │ │ │ │ │ ├── component-stack.js │ │ │ │ │ │ │ ├── constants.js │ │ │ │ │ │ │ ├── debug.js │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── internal.d.ts │ │ │ │ │ │ ├── devtools │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── src │ │ │ │ │ │ │ ├── devtools.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── hooks │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── src │ │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── internal.d.ts │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── src │ │ │ │ │ │ │ ├── clone-element.js │ │ │ │ │ │ │ ├── component.js │ │ │ │ │ │ │ ├── constants.js │ │ │ │ │ │ │ ├── create-context.js │ │ │ │ │ │ │ ├── create-element.js │ │ │ │ │ │ │ ├── diff │ │ │ │ │ │ │ │ ├── catch-error.js │ │ │ │ │ │ │ │ ├── children.js │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ └── props.js │ │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── internal.d.ts │ │ │ │ │ │ │ ├── jsx.d.ts │ │ │ │ │ │ │ ├── options.js │ │ │ │ │ │ │ ├── render.js │ │ │ │ │ │ │ └── util.js │ │ │ │ │ │ └── test-utils │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── src │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── resolve-1 │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── .eslintignore │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ ├── example │ │ │ │ │ │ │ ├── async.js │ │ │ │ │ │ │ └── sync.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ ├── async.js │ │ │ │ │ │ │ ├── caller.js │ │ │ │ │ │ │ ├── core.js │ │ │ │ │ │ │ ├── core.json │ │ │ │ │ │ │ ├── is-core.js │ │ │ │ │ │ │ ├── node-modules-paths.js │ │ │ │ │ │ │ ├── normalize-options.js │ │ │ │ │ │ │ └── sync.js │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── readme.markdown │ │ │ │ │ │ └── test │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ ├── core.js │ │ │ │ │ │ ├── dotdot │ │ │ │ │ │ │ ├── abc │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── dotdot.js │ │ │ │ │ │ ├── faulty_basedir.js │ │ │ │ │ │ ├── filter_sync.js │ │ │ │ │ │ ├── filter.js │ │ │ │ │ │ ├── mock_sync.js │ │ │ │ │ │ ├── mock.js │ │ │ │ │ │ ├── module_dir │ │ │ │ │ │ │ ├── xmodules │ │ │ │ │ │ │ │ └── aaa │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ ├── ymodules │ │ │ │ │ │ │ │ └── aaa │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ └── zmodules │ │ │ │ │ │ │ └── bbb │ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ ├── module_dir.js │ │ │ │ │ │ ├── node_path │ │ │ │ │ │ │ ├── x │ │ │ │ │ │ │ │ ├── aaa │ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ │ └── ccc │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ └── y │ │ │ │ │ │ │ ├── bbb │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ └── ccc │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── node_path.js │ │ │ │ │ │ ├── node-modules-paths.js │ │ │ │ │ │ ├── nonstring.js │ │ │ │ │ │ ├── pathfilter │ │ │ │ │ │ │ └── deep_ref │ │ │ │ │ │ │ └── main.js │ │ │ │ │ │ ├── pathfilter.js │ │ │ │ │ │ ├── precedence │ │ │ │ │ │ │ ├── aaa │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ └── main.js │ │ │ │ │ │ │ ├── aaa.js │ │ │ │ │ │ │ ├── bbb │ │ │ │ │ │ │ │ └── main.js │ │ │ │ │ │ │ └── bbb.js │ │ │ │ │ │ ├── precedence.js │ │ │ │ │ │ ├── resolver │ │ │ │ │ │ │ ├── baz │ │ │ │ │ │ │ │ ├── doom.js │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ └── quux.js │ │ │ │ │ │ │ ├── browser_field │ │ │ │ │ │ │ │ ├── a.js │ │ │ │ │ │ │ │ ├── b.js │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ ├── cup.coffee │ │ │ │ │ │ │ ├── dot_main │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ ├── dot_slash_main │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ ├── foo.js │ │ │ │ │ │ │ ├── incorrect_main │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ ├── invalid_main │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ ├── mug.coffee │ │ │ │ │ │ │ ├── mug.js │ │ │ │ │ │ │ ├── multirepo │ │ │ │ │ │ │ │ ├── lerna.json │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ └── packages │ │ │ │ │ │ │ │ ├── package-a │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ │ └── package-b │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ ├── nested_symlinks │ │ │ │ │ │ │ │ └── mylib │ │ │ │ │ │ │ │ ├── async.js │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ └── sync.js │ │ │ │ │ │ │ ├── other_path │ │ │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ │ │ └── other-lib.js │ │ │ │ │ │ │ │ └── root.js │ │ │ │ │ │ │ ├── quux │ │ │ │ │ │ │ │ └── foo │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ ├── same_names │ │ │ │ │ │ │ │ ├── foo │ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ │ └── foo.js │ │ │ │ │ │ │ ├── symlinked │ │ │ │ │ │ │ │ ├── _ │ │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ │ │ └── foo.js │ │ │ │ │ │ │ │ │ └── symlink_target │ │ │ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ │ │ │ └── package │ │ │ │ │ │ │ │ ├── bar.js │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ └── without_basedir │ │ │ │ │ │ │ └── main.js │ │ │ │ │ │ ├── resolver_sync.js │ │ │ │ │ │ ├── resolver.js │ │ │ │ │ │ ├── shadowed_core │ │ │ │ │ │ │ └── node_modules │ │ │ │ │ │ │ └── util │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── shadowed_core.js │ │ │ │ │ │ ├── subdirs.js │ │ │ │ │ │ └── symlinks.js │ │ │ │ │ ├── resolve-2 │ │ │ │ │ │ ├── expected │ │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ │ ├── broken.json │ │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ │ ├── experimental.json │ │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ │ ├── pattern-trailers.json │ │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ │ └── project │ │ │ │ │ │ ├── .eslintignore │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ ├── .github │ │ │ │ │ │ │ └── FUNDING.yml │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ ├── example │ │ │ │ │ │ │ ├── async.js │ │ │ │ │ │ │ └── sync.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── index.mjs │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ ├── async.js │ │ │ │ │ │ │ ├── caller.js │ │ │ │ │ │ │ ├── core.js │ │ │ │ │ │ │ ├── core.json │ │ │ │ │ │ │ ├── is-core.js │ │ │ │ │ │ │ ├── node-modules-paths.js │ │ │ │ │ │ │ ├── normalize-options.js │ │ │ │ │ │ │ └── sync.js │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── readme.markdown │ │ │ │ │ │ └── test │ │ │ │ │ │ ├── core.js │ │ │ │ │ │ ├── dotdot │ │ │ │ │ │ │ ├── abc │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── dotdot.js │ │ │ │ │ │ ├── faulty_basedir.js │ │ │ │ │ │ ├── filter_sync.js │ │ │ │ │ │ ├── filter.js │ │ │ │ │ │ ├── mock_sync.js │ │ │ │ │ │ ├── mock.js │ │ │ │ │ │ ├── module_dir │ │ │ │ │ │ │ ├── xmodules │ │ │ │ │ │ │ │ └── aaa │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ ├── ymodules │ │ │ │ │ │ │ │ └── aaa │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ └── zmodules │ │ │ │ │ │ │ └── bbb │ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ ├── module_dir.js │ │ │ │ │ │ ├── node_path │ │ │ │ │ │ │ ├── x │ │ │ │ │ │ │ │ ├── aaa │ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ │ └── ccc │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ └── y │ │ │ │ │ │ │ ├── bbb │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ └── ccc │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── node_path.js │ │ │ │ │ │ ├── node-modules-paths.js │ │ │ │ │ │ ├── nonstring.js │ │ │ │ │ │ ├── pathfilter │ │ │ │ │ │ │ └── deep_ref │ │ │ │ │ │ │ └── main.js │ │ │ │ │ │ ├── pathfilter_sync.js │ │ │ │ │ │ ├── pathfilter.js │ │ │ │ │ │ ├── precedence │ │ │ │ │ │ │ ├── aaa │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ └── main.js │ │ │ │ │ │ │ ├── aaa.js │ │ │ │ │ │ │ ├── bbb │ │ │ │ │ │ │ │ └── main.js │ │ │ │ │ │ │ └── bbb.js │ │ │ │ │ │ ├── precedence.js │ │ │ │ │ │ ├── resolver │ │ │ │ │ │ │ ├── baz │ │ │ │ │ │ │ │ ├── doom.js │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ └── quux.js │ │ │ │ │ │ │ ├── browser_field │ │ │ │ │ │ │ │ ├── a.js │ │ │ │ │ │ │ │ ├── b.js │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ ├── cup.coffee │ │ │ │ │ │ │ ├── dot_main │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ ├── dot_slash_main │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ ├── foo.js │ │ │ │ │ │ │ ├── incorrect_main │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ ├── invalid_main │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ ├── mug.coffee │ │ │ │ │ │ │ ├── mug.js │ │ │ │ │ │ │ ├── multirepo │ │ │ │ │ │ │ │ ├── lerna.json │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ └── packages │ │ │ │ │ │ │ │ ├── package-a │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ │ └── package-b │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ ├── nested_symlinks │ │ │ │ │ │ │ │ └── mylib │ │ │ │ │ │ │ │ ├── async.js │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ └── sync.js │ │ │ │ │ │ │ ├── other_path │ │ │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ │ │ └── other-lib.js │ │ │ │ │ │ │ │ └── root.js │ │ │ │ │ │ │ ├── quux │ │ │ │ │ │ │ │ └── foo │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ ├── same_names │ │ │ │ │ │ │ │ ├── foo │ │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ │ │ └── foo.js │ │ │ │ │ │ │ ├── symlinked │ │ │ │ │ │ │ │ ├── _ │ │ │ │ │ │ │ │ │ └── symlink_target │ │ │ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ │ │ │ └── package │ │ │ │ │ │ │ │ ├── bar.js │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ └── without_basedir │ │ │ │ │ │ │ └── main.js │ │ │ │ │ │ ├── resolver_sync.js │ │ │ │ │ │ ├── resolver.js │ │ │ │ │ │ ├── shadowed_core.js │ │ │ │ │ │ ├── subdirs.js │ │ │ │ │ │ └── symlinks.js │ │ │ │ │ └── single-spa-layout │ │ │ │ │ ├── expected │ │ │ │ │ │ ├── broken-dir-slash-conditions.json │ │ │ │ │ │ ├── broken.json │ │ │ │ │ │ ├── conditions.json │ │ │ │ │ │ ├── experimental.json │ │ │ │ │ │ ├── pattern-trailers-no-dir-slash.json │ │ │ │ │ │ ├── pattern-trailers.json │ │ │ │ │ │ ├── patterns.json │ │ │ │ │ │ └── pre-exports.json │ │ │ │ │ └── project │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── package.json │ │ │ │ │ └── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── README.md │ │ │ └── since.js │ │ ├── mock_sync.js │ │ ├── mock.js │ │ ├── module_dir │ │ │ ├── xmodules │ │ │ │ └── aaa │ │ │ │ └── index.js │ │ │ ├── ymodules │ │ │ │ └── aaa │ │ │ │ └── index.js │ │ │ └── zmodules │ │ │ └── bbb │ │ │ ├── main.js │ │ │ └── package.json │ │ ├── module_dir.js │ │ ├── node_path │ │ │ ├── x │ │ │ │ ├── aaa │ │ │ │ │ └── index.js │ │ │ │ └── ccc │ │ │ │ └── index.js │ │ │ └── y │ │ │ ├── bbb │ │ │ │ └── index.js │ │ │ └── ccc │ │ │ └── index.js │ │ ├── node_path.js │ │ ├── node-modules-paths.js │ │ ├── nonstring.js │ │ ├── pathfilter │ │ │ └── deep_ref │ │ │ └── main.js │ │ ├── pathfilter.js │ │ ├── precedence │ │ │ ├── aaa │ │ │ │ ├── index.js │ │ │ │ └── main.js │ │ │ ├── aaa.js │ │ │ ├── bbb │ │ │ │ └── main.js │ │ │ └── bbb.js │ │ ├── precedence.js │ │ ├── resolver │ │ │ ├── baz │ │ │ │ ├── doom.js │ │ │ │ ├── package.json │ │ │ │ └── quux.js │ │ │ ├── browser_field │ │ │ │ ├── a.js │ │ │ │ ├── b.js │ │ │ │ └── package.json │ │ │ ├── cup.coffee │ │ │ ├── dot_main │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── dot_slash_main │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── false_main │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── foo.js │ │ │ ├── incorrect_main │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── invalid_main │ │ │ │ └── package.json │ │ │ ├── mug.coffee │ │ │ ├── mug.js │ │ │ ├── multirepo │ │ │ │ ├── lerna.json │ │ │ │ ├── package.json │ │ │ │ └── packages │ │ │ │ ├── package-a │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ └── package-b │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── nested_symlinks │ │ │ │ └── mylib │ │ │ │ ├── async.js │ │ │ │ ├── package.json │ │ │ │ └── sync.js │ │ │ ├── other_path │ │ │ │ ├── lib │ │ │ │ │ └── other-lib.js │ │ │ │ └── root.js │ │ │ ├── quux │ │ │ │ └── foo │ │ │ │ └── index.js │ │ │ ├── same_names │ │ │ │ ├── foo │ │ │ │ │ └── index.js │ │ │ │ └── foo.js │ │ │ ├── symlinked │ │ │ │ ├── _ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ └── foo.js │ │ │ │ │ └── symlink_target │ │ │ │ │ └── .gitkeep │ │ │ │ └── package │ │ │ │ ├── bar.js │ │ │ │ └── package.json │ │ │ └── without_basedir │ │ │ └── main.js │ │ ├── resolver_sync.js │ │ ├── resolver.js │ │ ├── shadowed_core │ │ │ └── node_modules │ │ │ └── util │ │ │ └── index.js │ │ ├── shadowed_core.js │ │ ├── subdirs.js │ │ └── symlinks.js │ ├── safer-buffer │ │ ├── dangerous.js │ │ ├── LICENSE │ │ ├── package.json │ │ ├── Porting-Buffer.md │ │ ├── Readme.md │ │ ├── safer.js │ │ └── tests.js │ ├── setprototypeof │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── LICENSE │ │ ├── package.json │ │ ├── README.md │ │ └── test │ │ └── index.js │ ├── shelljs │ │ ├── bin │ │ │ └── shjs │ │ ├── CHANGELOG.md │ │ ├── commands.js │ │ ├── global.js │ │ ├── LICENSE │ │ ├── make.js │ │ ├── package.json │ │ ├── plugin.js │ │ ├── README.md │ │ ├── shell.js │ │ └── src │ │ ├── cat.js │ │ ├── cd.js │ │ ├── chmod.js │ │ ├── common.js │ │ ├── cp.js │ │ ├── dirs.js │ │ ├── echo.js │ │ ├── error.js │ │ ├── exec-child.js │ │ ├── exec.js │ │ ├── find.js │ │ ├── grep.js │ │ ├── head.js │ │ ├── ln.js │ │ ├── ls.js │ │ ├── mkdir.js │ │ ├── mv.js │ │ ├── popd.js │ │ ├── pushd.js │ │ ├── pwd.js │ │ ├── rm.js │ │ ├── sed.js │ │ ├── set.js │ │ ├── sort.js │ │ ├── tail.js │ │ ├── tempdir.js │ │ ├── test.js │ │ ├── to.js │ │ ├── toEnd.js │ │ ├── touch.js │ │ ├── uniq.js │ │ └── which.js │ ├── shx │ │ ├── CHANGELOG.md │ │ ├── lib │ │ │ ├── cli.js │ │ │ ├── config.js │ │ │ ├── help.js │ │ │ ├── plugin-true-false.js │ │ │ ├── printCmdRet.js │ │ │ └── shx.js │ │ ├── LICENSE │ │ ├── package.json │ │ └── README.md │ ├── statuses │ │ ├── codes.json │ │ ├── HISTORY.md │ │ ├── index.js │ │ ├── LICENSE │ │ ├── package.json │ │ └── README.md │ ├── supports-preserve-symlinks-flag │ │ ├── .eslintrc │ │ ├── .github │ │ │ └── FUNDING.yml │ │ ├── .nycrc │ │ ├── browser.js │ │ ├── CHANGELOG.md │ │ ├── index.js │ │ ├── LICENSE │ │ ├── package.json │ │ ├── README.md │ │ └── test │ │ └── index.js │ ├── toidentifier │ │ ├── HISTORY.md │ │ ├── index.js │ │ ├── LICENSE │ │ ├── package.json │ │ └── README.md │ ├── typescript │ │ ├── bin │ │ │ ├── tsc │ │ │ └── tsserver │ │ ├── lib │ │ │ ├── _tsc.js │ │ │ ├── _tsserver.js │ │ │ ├── _typingsInstaller.js │ │ │ ├── cancellationToken.js │ │ │ ├── cs │ │ │ │ └── diagnosticMessages.generated.json │ │ │ ├── de │ │ │ │ └── diagnosticMessages.generated.json │ │ │ ├── es │ │ │ │ └── diagnosticMessages.generated.json │ │ │ ├── fr │ │ │ │ └── diagnosticMessages.generated.json │ │ │ ├── it │ │ │ │ └── diagnosticMessages.generated.json │ │ │ ├── ja │ │ │ │ └── diagnosticMessages.generated.json │ │ │ ├── ko │ │ │ │ └── diagnosticMessages.generated.json │ │ │ ├── lib.d.ts │ │ │ ├── lib.decorators.d.ts │ │ │ ├── lib.decorators.legacy.d.ts │ │ │ ├── lib.dom.asynciterable.d.ts │ │ │ ├── lib.dom.d.ts │ │ │ ├── lib.dom.iterable.d.ts │ │ │ ├── lib.es2015.collection.d.ts │ │ │ ├── lib.es2015.core.d.ts │ │ │ ├── lib.es2015.d.ts │ │ │ ├── lib.es2015.generator.d.ts │ │ │ ├── lib.es2015.iterable.d.ts │ │ │ ├── lib.es2015.promise.d.ts │ │ │ ├── lib.es2015.proxy.d.ts │ │ │ ├── lib.es2015.reflect.d.ts │ │ │ ├── lib.es2015.symbol.d.ts │ │ │ ├── lib.es2015.symbol.wellknown.d.ts │ │ │ ├── lib.es2016.array.include.d.ts │ │ │ ├── lib.es2016.d.ts │ │ │ ├── lib.es2016.full.d.ts │ │ │ ├── lib.es2016.intl.d.ts │ │ │ ├── lib.es2017.arraybuffer.d.ts │ │ │ ├── lib.es2017.d.ts │ │ │ ├── lib.es2017.date.d.ts │ │ │ ├── lib.es2017.full.d.ts │ │ │ ├── lib.es2017.intl.d.ts │ │ │ ├── lib.es2017.object.d.ts │ │ │ ├── lib.es2017.sharedmemory.d.ts │ │ │ ├── lib.es2017.string.d.ts │ │ │ ├── lib.es2017.typedarrays.d.ts │ │ │ ├── lib.es2018.asyncgenerator.d.ts │ │ │ ├── lib.es2018.asynciterable.d.ts │ │ │ ├── lib.es2018.d.ts │ │ │ ├── lib.es2018.full.d.ts │ │ │ ├── lib.es2018.intl.d.ts │ │ │ ├── lib.es2018.promise.d.ts │ │ │ ├── lib.es2018.regexp.d.ts │ │ │ ├── lib.es2019.array.d.ts │ │ │ ├── lib.es2019.d.ts │ │ │ ├── lib.es2019.full.d.ts │ │ │ ├── lib.es2019.intl.d.ts │ │ │ ├── lib.es2019.object.d.ts │ │ │ ├── lib.es2019.string.d.ts │ │ │ ├── lib.es2019.symbol.d.ts │ │ │ ├── lib.es2020.bigint.d.ts │ │ │ ├── lib.es2020.d.ts │ │ │ ├── lib.es2020.date.d.ts │ │ │ ├── lib.es2020.full.d.ts │ │ │ ├── lib.es2020.intl.d.ts │ │ │ ├── lib.es2020.number.d.ts │ │ │ ├── lib.es2020.promise.d.ts │ │ │ ├── lib.es2020.sharedmemory.d.ts │ │ │ ├── lib.es2020.string.d.ts │ │ │ ├── lib.es2020.symbol.wellknown.d.ts │ │ │ ├── lib.es2021.d.ts │ │ │ ├── lib.es2021.full.d.ts │ │ │ ├── lib.es2021.intl.d.ts │ │ │ ├── lib.es2021.promise.d.ts │ │ │ ├── lib.es2021.string.d.ts │ │ │ ├── lib.es2021.weakref.d.ts │ │ │ ├── lib.es2022.array.d.ts │ │ │ ├── lib.es2022.d.ts │ │ │ ├── lib.es2022.error.d.ts │ │ │ ├── lib.es2022.full.d.ts │ │ │ ├── lib.es2022.intl.d.ts │ │ │ ├── lib.es2022.object.d.ts │ │ │ ├── lib.es2022.regexp.d.ts │ │ │ ├── lib.es2022.string.d.ts │ │ │ ├── lib.es2023.array.d.ts │ │ │ ├── lib.es2023.collection.d.ts │ │ │ ├── lib.es2023.d.ts │ │ │ ├── lib.es2023.full.d.ts │ │ │ ├── lib.es2023.intl.d.ts │ │ │ ├── lib.es2024.arraybuffer.d.ts │ │ │ ├── lib.es2024.collection.d.ts │ │ │ ├── lib.es2024.d.ts │ │ │ ├── lib.es2024.full.d.ts │ │ │ ├── lib.es2024.object.d.ts │ │ │ ├── lib.es2024.promise.d.ts │ │ │ ├── lib.es2024.regexp.d.ts │ │ │ ├── lib.es2024.sharedmemory.d.ts │ │ │ ├── lib.es2024.string.d.ts │ │ │ ├── lib.es5.d.ts │ │ │ ├── lib.es6.d.ts │ │ │ ├── lib.esnext.array.d.ts │ │ │ ├── lib.esnext.collection.d.ts │ │ │ ├── lib.esnext.d.ts │ │ │ ├── lib.esnext.decorators.d.ts │ │ │ ├── lib.esnext.disposable.d.ts │ │ │ ├── lib.esnext.full.d.ts │ │ │ ├── lib.esnext.intl.d.ts │ │ │ ├── lib.esnext.iterator.d.ts │ │ │ ├── lib.scripthost.d.ts │ │ │ ├── lib.webworker.asynciterable.d.ts │ │ │ ├── lib.webworker.d.ts │ │ │ ├── lib.webworker.importscripts.d.ts │ │ │ ├── lib.webworker.iterable.d.ts │ │ │ ├── pl │ │ │ │ └── diagnosticMessages.generated.json │ │ │ ├── pt-br │ │ │ │ └── diagnosticMessages.generated.json │ │ │ ├── ru │ │ │ │ └── diagnosticMessages.generated.json │ │ │ ├── tr │ │ │ │ └── diagnosticMessages.generated.json │ │ │ ├── tsc.js │ │ │ ├── tsserver.js │ │ │ ├── tsserverlibrary.d.ts │ │ │ ├── tsserverlibrary.js │ │ │ ├── typescript.d.ts │ │ │ ├── typescript.js │ │ │ ├── typesMap.json │ │ │ ├── typingsInstaller.js │ │ │ ├── watchGuard.js │ │ │ ├── zh-cn │ │ │ │ └── diagnosticMessages.generated.json │ │ │ └── zh-tw │ │ │ └── diagnosticMessages.generated.json │ │ ├── LICENSE.txt │ │ ├── package.json │ │ ├── README.md │ │ ├── SECURITY.md │ │ └── ThirdPartyNoticeText.txt │ ├── undici-types │ │ ├── agent.d.ts │ │ ├── api.d.ts │ │ ├── balanced-pool.d.ts │ │ ├── cache.d.ts │ │ ├── client.d.ts │ │ ├── connector.d.ts │ │ ├── content-type.d.ts │ │ ├── cookies.d.ts │ │ ├── diagnostics-channel.d.ts │ │ ├── dispatcher.d.ts │ │ ├── env-http-proxy-agent.d.ts │ │ ├── errors.d.ts │ │ ├── eventsource.d.ts │ │ ├── fetch.d.ts │ │ ├── file.d.ts │ │ ├── filereader.d.ts │ │ ├── formdata.d.ts │ │ ├── global-dispatcher.d.ts │ │ ├── global-origin.d.ts │ │ ├── handlers.d.ts │ │ ├── header.d.ts │ │ ├── index.d.ts │ │ ├── interceptors.d.ts │ │ ├── LICENSE │ │ ├── mock-agent.d.ts │ │ ├── mock-client.d.ts │ │ ├── mock-errors.d.ts │ │ ├── mock-interceptor.d.ts │ │ ├── mock-pool.d.ts │ │ ├── package.json │ │ ├── patch.d.ts │ │ ├── pool-stats.d.ts │ │ ├── pool.d.ts │ │ ├── proxy-agent.d.ts │ │ ├── readable.d.ts │ │ ├── README.md │ │ ├── retry-agent.d.ts │ │ ├── retry-handler.d.ts │ │ ├── util.d.ts │ │ ├── webidl.d.ts │ │ └── websocket.d.ts │ ├── unpipe │ │ ├── HISTORY.md │ │ ├── index.js │ │ ├── LICENSE │ │ ├── package.json │ │ └── README.md │ ├── wrappy │ │ ├── LICENSE │ │ ├── package.json │ │ ├── README.md │ │ └── wrappy.js │ └── zod │ ├── index.d.ts │ ├── lib │ │ ├── __tests__ │ │ │ ├── Mocker.d.ts │ │ │ └── Mocker.js │ │ ├── benchmarks │ │ │ ├── datetime.d.ts │ │ │ ├── datetime.js │ │ │ ├── discriminatedUnion.d.ts │ │ │ ├── discriminatedUnion.js │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── ipv4.d.ts │ │ │ ├── ipv4.js │ │ │ ├── object.d.ts │ │ │ ├── object.js │ │ │ ├── primitives.d.ts │ │ │ ├── primitives.js │ │ │ ├── realworld.d.ts │ │ │ ├── realworld.js │ │ │ ├── string.d.ts │ │ │ ├── string.js │ │ │ ├── union.d.ts │ │ │ └── union.js │ │ ├── errors.d.ts │ │ ├── errors.js │ │ ├── external.d.ts │ │ ├── external.js │ │ ├── helpers │ │ │ ├── enumUtil.d.ts │ │ │ ├── enumUtil.js │ │ │ ├── errorUtil.d.ts │ │ │ ├── errorUtil.js │ │ │ ├── parseUtil.d.ts │ │ │ ├── parseUtil.js │ │ │ ├── partialUtil.d.ts │ │ │ ├── partialUtil.js │ │ │ ├── typeAliases.d.ts │ │ │ ├── typeAliases.js │ │ │ ├── util.d.ts │ │ │ └── util.js │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.mjs │ │ ├── index.umd.js │ │ ├── locales │ │ │ ├── en.d.ts │ │ │ └── en.js │ │ ├── standard-schema.d.ts │ │ ├── standard-schema.js │ │ ├── types.d.ts │ │ ├── types.js │ │ ├── ZodError.d.ts │ │ └── ZodError.js │ ├── LICENSE │ ├── package.json │ └── README.md ├── package-lock.json ├── package.json ├── README.md ├── src │ ├── index.ts │ ├── reasoner.ts │ ├── state.ts │ ├── strategies │ │ ├── base.ts │ │ ├── beam-search.ts │ │ ├── experiments │ │ │ ├── mcts-002-alpha.ts │ │ │ └── mcts-002alt-alpha.ts │ │ ├── factory.ts │ │ └── mcts.ts │ ├── types │ │ └── modelcontextprotocol.d.ts │ └── types.ts └── tsconfig.json ``` # Files -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- ``` 1 | node_modules/ 2 | dist/ ``` -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- ```markdown 1 | # MCP Reasoner 2 | A reasoning implementation for Claude Desktop that lets you use both Beam Search and Monte Carlo Tree Search (MCTS). tbh this started as a way to see if we could make Claude even better at complex problem-solving... turns out we definitely can. 3 | 4 | ### Current Version: 5 | **v2.0.0** 6 | 7 | #### What's New: 8 | 9 | > Added 2 Experimental Reasoning Algorithms: 10 | > 11 | > - `mcts-002-alpha` 12 | > 13 | > - Uses the A* Search Method along with an early *alpha* implementation of a Policy Simulation Layer 14 | > 15 | > - Also includes an early *alpha* implementation of Adaptive Exploration Simulator & Outcome Based Reasoning Simulator 16 | > 17 | > *NOTE* the implementation of these alpha simulators is not complete and is subject to change 18 | > 19 | > - `mcts-002alt-alpha` 20 | > 21 | > - Uses the Bidirectional Search Method along with an early *alpha* implementation of a Policy Simulation Layer 22 | > 23 | > - Also includes an early *alpha* implementation of Adaptive Exploration Simulator & Outcome Based Reasoning Simulator 24 | > 25 | > *NOTE* the implementation of these alpha simulators is not complete and is subject to change 26 | 27 | 28 | What happened to `mcts-001-alpha` and `mcts-001alt-alpha`? 29 | > Quite simply: It was useless and near similar to the base `mcts` method. After initial testing the results yielded in basic thought processes was near similar showing that simply adding policy simulation may not have an effect. 30 | 31 | So why add Polciy Simulation Layer now? 32 | > Well i think its important to incorporate Policy AND Search in tandem as that is how most of the algorithms implement them. 33 | 34 | #### Previous Versions: 35 | **v1.1.0** 36 | 37 | > Added model control over search parameters: 38 | > 39 | > beamWidth - lets Claude adjust how many paths to track (1-10) 40 | > 41 | > numSimulations - fine-tune MCTS simulation count (1-150) 42 | 43 | ## Features 44 | - Two search strategies that you can switch between: 45 | - Beam search (good for straightforward stuff) 46 | - MCTS (when stuff gets complex) with alpha variations (see above) 47 | - Tracks how good different reasoning paths are 48 | - Maps out all the different ways Claude thinks through problems 49 | - Analyzes how the reasoning process went 50 | - Follows the MCP protocol (obviously) 51 | 52 | ## Installation 53 | ``` 54 | git clone https://github.com/frgmt0/mcp-reasoner.git 55 | 56 | OR clone the original: 57 | 58 | git clone https://github.com/Jacck/mcp-reasoner.git 59 | 60 | cd mcp-reasoner 61 | npm install 62 | npm run build 63 | ``` 64 | 65 | ## Configuration 66 | Add to Claude Desktop config: 67 | ``` 68 | { 69 | "mcpServers": { 70 | "mcp-reasoner": { 71 | "command": "node", 72 | "args": ["path/to/mcp-reasoner/dist/index.js"], 73 | } 74 | } 75 | } 76 | ``` 77 | 78 | ## Testing 79 | 80 | [More Testing Coming Soon] 81 | 82 | ## Benchmarks 83 | 84 | [Benchmarking will be added soon] 85 | 86 | Key Benchmarks to test against: 87 | 88 | - MATH500 89 | 90 | - GPQA-Diamond 91 | 92 | - GMSK8 93 | 94 | - Maybe Polyglot &/or SWE-Bench 95 | 96 | ## License 97 | This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. 98 | ``` -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- ```json 1 | { 2 | "compilerOptions": { 3 | "target": "ES2020", 4 | "module": "ES2020", 5 | "moduleResolution": "node", 6 | "outDir": "./dist", 7 | "rootDir": "./src", 8 | "strict": true, 9 | "esModuleInterop": true, 10 | "skipLibCheck": true, 11 | "forceConsistentCasingInFileNames": true, 12 | "declaration": true, 13 | "resolveJsonModule": true 14 | }, 15 | "include": ["src/**/*"], 16 | "exclude": ["node_modules", "dist"] 17 | } 18 | ``` -------------------------------------------------------------------------------- /src/types/modelcontextprotocol.d.ts: -------------------------------------------------------------------------------- ```typescript 1 | declare module '@modelcontextprotocol/sdk/server/index.js' { 2 | export class Server { 3 | constructor(info: { name: string; version: string }, config: { capabilities: { tools: {} } }); 4 | setRequestHandler(schema: any, handler: (request: any) => Promise<any>): void; 5 | connect(transport: any): Promise<void>; 6 | } 7 | } 8 | 9 | declare module '@modelcontextprotocol/sdk/server/stdio.js' { 10 | export class StdioServerTransport { 11 | constructor(); 12 | } 13 | } 14 | 15 | declare module '@modelcontextprotocol/sdk/types.js' { 16 | export interface Tool { 17 | name: string; 18 | description: string; 19 | inputSchema: { 20 | type: string; 21 | properties: Record<string, any>; 22 | required: string[]; 23 | }; 24 | } 25 | 26 | export const CallToolRequestSchema: { 27 | params: { 28 | name: string; 29 | arguments: any; 30 | }; 31 | }; 32 | 33 | export const ListToolsRequestSchema: { 34 | params: any; 35 | }; 36 | } ``` -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- ```json 1 | { 2 | "name": "mcp-reasoner", 3 | "version": "2.0.0", 4 | "description": "MCP Reasoner with multiple reasoning strategies including Beam Search and Monte Carlo Tree Search", 5 | "type": "module", 6 | "main": "dist/index.js", 7 | "types": "dist/index.d.ts", 8 | "scripts": { 9 | "build": "tsc", 10 | "start": "node dist/index.js", 11 | "clean": "shx rm -rf dist", 12 | "prebuild": "npm run clean", 13 | "test": "jest", 14 | "lint": "eslint src --ext .ts", 15 | "format": "prettier --write \"src/**/*.ts\"", 16 | "prepare": "npm run build" 17 | }, 18 | "dependencies": { 19 | "@modelcontextprotocol/sdk": "*", 20 | "chalk": "^5.3.0", 21 | "uuid": "^9.0.0" 22 | }, 23 | "devDependencies": { 24 | "@types/jest": "^29.5.0", 25 | "@types/node": "^20.0.0", 26 | "@types/uuid": "^10.0.0", 27 | "@typescript-eslint/eslint-plugin": "^6.0.0", 28 | "@typescript-eslint/parser": "^6.0.0", 29 | "eslint": "^8.0.0", 30 | "jest": "^29.5.0", 31 | "prettier": "^3.0.0", 32 | "shx": "^0.3.4", 33 | "ts-jest": "^29.1.0", 34 | "typescript": "^5.0.0" 35 | }, 36 | "keywords": [ 37 | "mcp", 38 | "reasoning", 39 | "beam-search", 40 | "monte-carlo-tree-search", 41 | "ai", 42 | "search" 43 | ], 44 | "author": "", 45 | "license": "MIT", 46 | "engines": { 47 | "node": ">=16.0.0" 48 | } 49 | } 50 | ``` -------------------------------------------------------------------------------- /src/strategies/factory.ts: -------------------------------------------------------------------------------- ```typescript 1 | import { StateManager } from '../state.js'; 2 | import { BaseStrategy } from './base.js'; 3 | import { BeamSearchStrategy } from './beam-search.js'; 4 | import { MonteCarloTreeSearchStrategy } from './mcts.js'; 5 | import { MCTS002AlphaStrategy } from './experiments/mcts-002-alpha.js'; 6 | import { MCTS002AltAlphaStrategy } from './experiments/mcts-002alt-alpha.js'; 7 | 8 | export enum ReasoningStrategy { 9 | BEAM_SEARCH = 'beam_search', 10 | MCTS = 'mcts', 11 | MCTS_002_ALPHA = 'mcts_002_alpha', 12 | MCTS_002_ALT_ALPHA = 'mcts_002_alt_alpha' 13 | } 14 | 15 | export class StrategyFactory { 16 | static createStrategy( 17 | type: ReasoningStrategy, 18 | stateManager: StateManager, 19 | beamWidth?: number, 20 | numSimulations?: number 21 | ): BaseStrategy { 22 | switch (type) { 23 | case ReasoningStrategy.BEAM_SEARCH: 24 | return new BeamSearchStrategy(stateManager, beamWidth); 25 | case ReasoningStrategy.MCTS: 26 | return new MonteCarloTreeSearchStrategy(stateManager, numSimulations); 27 | case ReasoningStrategy.MCTS_002_ALPHA: 28 | return new MCTS002AlphaStrategy(stateManager, numSimulations); 29 | case ReasoningStrategy.MCTS_002_ALT_ALPHA: 30 | return new MCTS002AltAlphaStrategy(stateManager, numSimulations); 31 | default: 32 | throw new Error(`Unknown strategy type: ${type}`); 33 | } 34 | } 35 | } 36 | ``` -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- ```typescript 1 | export interface ThoughtNode { 2 | id: string; 3 | thought: string; 4 | score: number; 5 | depth: number; 6 | children: string[]; // Store child IDs 7 | parentId?: string; // Store parent ID 8 | isComplete: boolean; 9 | } 10 | 11 | export interface ReasoningRequest { 12 | thought: string; 13 | thoughtNumber: number; 14 | totalThoughts: number; 15 | nextThoughtNeeded: boolean; 16 | parentId?: string; // For branching thoughts 17 | strategyType?: string; // Strategy to use for reasoning 18 | beamWidth?: number; // Number of top paths to maintain (n-sampling) 19 | numSimulations?: number; // Number of MCTS simulations to run 20 | } 21 | 22 | export interface ReasoningResponse { 23 | nodeId: string; 24 | thought: string; 25 | score: number; 26 | depth: number; 27 | isComplete: boolean; 28 | nextThoughtNeeded: boolean; 29 | possiblePaths?: number; 30 | bestScore?: number; 31 | strategyUsed?: string; 32 | } 33 | 34 | export interface ReasoningStats { 35 | totalNodes: number; 36 | averageScore: number; 37 | maxDepth: number; 38 | branchingFactor: number; 39 | strategyMetrics?: Record<string, any>; 40 | } 41 | 42 | export const CONFIG = { 43 | beamWidth: 3, // Keep top 3 paths 44 | maxDepth: 5, // Reasonable depth limit 45 | minScore: 0.5, // Threshold for path viability 46 | temperature: 0.7, // For thought diversity 47 | cacheSize: 1000, // LRU cache size 48 | defaultStrategy: 'beam_search', // Default reasoning strategy 49 | numSimulations: 50 // Default number of MCTS simulations 50 | } as const; 51 | ``` -------------------------------------------------------------------------------- /src/state.ts: -------------------------------------------------------------------------------- ```typescript 1 | import { ThoughtNode } from './types.js'; 2 | 3 | class LRUCache<K, V> { 4 | private cache = new Map<K, V>(); 5 | private readonly maxSize: number; 6 | 7 | constructor(maxSize: number) { 8 | this.maxSize = maxSize; 9 | } 10 | 11 | get(key: K): V | undefined { 12 | const value = this.cache.get(key); 13 | if (value) { 14 | // Refresh by removing and re-adding 15 | this.cache.delete(key); 16 | this.cache.set(key, value); 17 | } 18 | return value; 19 | } 20 | 21 | set(key: K, value: V): void { 22 | // Remove oldest if at capacity 23 | if (this.cache.size >= this.maxSize) { 24 | const firstKey = Array.from(this.cache.keys())[0]; 25 | if (firstKey !== undefined) { 26 | this.cache.delete(firstKey); 27 | } 28 | } 29 | // Add new value 30 | this.cache.set(key, value); 31 | } 32 | 33 | clear(): void { 34 | this.cache.clear(); 35 | } 36 | 37 | size(): number { 38 | return this.cache.size; 39 | } 40 | 41 | has(key: K): boolean { 42 | return this.cache.has(key); 43 | } 44 | } 45 | 46 | export class StateManager { 47 | private cache: LRUCache<string, ThoughtNode>; 48 | private nodes = new Map<string, ThoughtNode>(); 49 | 50 | constructor(cacheSize: number) { 51 | this.cache = new LRUCache(cacheSize); 52 | } 53 | 54 | async getNode(id: string): Promise<ThoughtNode | undefined> { 55 | // Check cache first 56 | const cached = this.cache.get(id); 57 | if (cached) return cached; 58 | 59 | // Check main storage 60 | const node = this.nodes.get(id); 61 | if (node) { 62 | this.cache.set(id, node); 63 | return node; 64 | } 65 | 66 | return undefined; 67 | } 68 | 69 | async saveNode(node: ThoughtNode): Promise<void> { 70 | this.nodes.set(node.id, node); 71 | this.cache.set(node.id, node); 72 | } 73 | 74 | async getChildren(nodeId: string): Promise<ThoughtNode[]> { 75 | const node = await this.getNode(nodeId); 76 | if (!node) return []; 77 | 78 | const children = await Promise.all( 79 | node.children.map(id => this.getNode(id)) 80 | ); 81 | 82 | return children.filter((n): n is ThoughtNode => n !== undefined); 83 | } 84 | 85 | async getPath(nodeId: string): Promise<ThoughtNode[]> { 86 | const path: ThoughtNode[] = []; 87 | let currentId = nodeId; 88 | 89 | while (currentId) { 90 | const node = await this.getNode(currentId); 91 | if (!node) break; 92 | 93 | path.unshift(node); 94 | currentId = node.parentId || ''; 95 | } 96 | 97 | return path; 98 | } 99 | 100 | async getAllNodes(): Promise<ThoughtNode[]> { 101 | return Array.from(this.nodes.values()); 102 | } 103 | 104 | clear(): void { 105 | this.nodes.clear(); 106 | this.cache.clear(); 107 | } 108 | } 109 | ``` -------------------------------------------------------------------------------- /src/strategies/beam-search.ts: -------------------------------------------------------------------------------- ```typescript 1 | import { v4 as uuidv4 } from 'uuid'; 2 | import { ThoughtNode, ReasoningRequest, ReasoningResponse, CONFIG } from '../types.js'; 3 | import { BaseStrategy } from './base.js'; 4 | 5 | export class BeamSearchStrategy extends BaseStrategy { 6 | private beamWidth: number; 7 | private beams: Map<number, ThoughtNode[]>; 8 | 9 | constructor(stateManager: any, beamWidth: number = CONFIG.beamWidth) { 10 | super(stateManager); 11 | this.beamWidth = beamWidth; 12 | this.beams = new Map(); 13 | } 14 | 15 | public async processThought(request: ReasoningRequest): Promise<ReasoningResponse> { 16 | const nodeId = uuidv4(); 17 | const parentNode = request.parentId ? 18 | await this.getNode(request.parentId) : undefined; 19 | 20 | const node: ThoughtNode = { 21 | id: nodeId, 22 | thought: request.thought, 23 | depth: request.thoughtNumber - 1, 24 | score: 0, 25 | children: [], 26 | parentId: request.parentId, 27 | isComplete: !request.nextThoughtNeeded 28 | }; 29 | 30 | // Evaluate and score the node 31 | node.score = this.evaluateThought(node, parentNode); 32 | await this.saveNode(node); 33 | 34 | // Update parent if exists 35 | if (parentNode) { 36 | parentNode.children.push(node.id); 37 | await this.saveNode(parentNode); 38 | } 39 | 40 | // Manage beam at current depth 41 | let currentBeam = this.beams.get(node.depth) || []; 42 | currentBeam.push(node); 43 | currentBeam.sort((a, b) => b.score - a.score); 44 | 45 | // Prune beam to maintain beam width 46 | if (currentBeam.length > this.beamWidth) { 47 | currentBeam = currentBeam.slice(0, this.beamWidth); 48 | } 49 | this.beams.set(node.depth, currentBeam); 50 | 51 | // Calculate path statistics 52 | const currentPath = await this.stateManager.getPath(nodeId); 53 | const pathScore = currentPath.reduce((acc, n) => acc + n.score, 0) / currentPath.length; 54 | 55 | // Get best path score from all beams 56 | const bestBeamScore = Math.max( 57 | ...Array.from(this.beams.values()) 58 | .flat() 59 | .map(n => n.score) 60 | ); 61 | 62 | return { 63 | nodeId: node.id, 64 | thought: node.thought, 65 | score: node.score, 66 | depth: node.depth, 67 | isComplete: node.isComplete, 68 | nextThoughtNeeded: request.nextThoughtNeeded, 69 | possiblePaths: this.calculatePossiblePaths(), 70 | bestScore: Math.max(pathScore, bestBeamScore) 71 | }; 72 | } 73 | 74 | private calculatePossiblePaths(): number { 75 | let totalPaths = 0; 76 | this.beams.forEach((beam, depth) => { 77 | const nextBeam = this.beams.get(depth + 1); 78 | if (nextBeam) { 79 | totalPaths += beam.length * nextBeam.length; 80 | } else { 81 | totalPaths += beam.length; 82 | } 83 | }); 84 | return totalPaths; 85 | } 86 | 87 | public async getBestPath(): Promise<ThoughtNode[]> { 88 | // Find the deepest beam 89 | const maxDepth = Math.max(...Array.from(this.beams.keys())); 90 | const deepestBeam = this.beams.get(maxDepth) || []; 91 | 92 | if (deepestBeam.length === 0) return []; 93 | 94 | // Get the best scoring node from deepest beam 95 | const bestNode = deepestBeam.reduce((a, b) => a.score > b.score ? a : b); 96 | 97 | // Reconstruct path 98 | const path = await this.stateManager.getPath(bestNode.id); 99 | return path; 100 | } 101 | 102 | public async getMetrics(): Promise<any> { 103 | const baseMetrics = await super.getMetrics(); 104 | return { 105 | ...baseMetrics, 106 | beamWidth: this.beamWidth, 107 | activeBeams: this.beams.size, 108 | totalBeamNodes: Array.from(this.beams.values()).flat().length 109 | }; 110 | } 111 | 112 | public async clear(): Promise<void> { 113 | await super.clear(); 114 | this.beams.clear(); 115 | } 116 | } 117 | ``` -------------------------------------------------------------------------------- /src/strategies/base.ts: -------------------------------------------------------------------------------- ```typescript 1 | import { ThoughtNode, ReasoningRequest, ReasoningResponse } from '../types.js'; 2 | import { StateManager } from '../state.js'; 3 | 4 | export interface StrategyMetrics { 5 | name: string; 6 | nodesExplored: number; 7 | averageScore: number; 8 | maxDepth: number; 9 | active?: boolean; 10 | [key: string]: number | string | boolean | undefined; // Allow additional strategy-specific metrics including booleans 11 | } 12 | 13 | export abstract class BaseStrategy { 14 | protected stateManager: StateManager; 15 | 16 | constructor(stateManager: StateManager) { 17 | this.stateManager = stateManager; 18 | } 19 | 20 | abstract processThought(request: ReasoningRequest): Promise<ReasoningResponse>; 21 | 22 | protected async getNode(id: string): Promise<ThoughtNode | undefined> { 23 | return this.stateManager.getNode(id); 24 | } 25 | 26 | protected async saveNode(node: ThoughtNode): Promise<void> { 27 | return this.stateManager.saveNode(node); 28 | } 29 | 30 | protected evaluateThought(node: ThoughtNode, parent?: ThoughtNode): number { 31 | // Base evaluation logic 32 | const logicalScore = this.calculateLogicalScore(node, parent); 33 | const depthPenalty = this.calculateDepthPenalty(node); 34 | const completionBonus = node.isComplete ? 0.2 : 0; 35 | 36 | return (logicalScore + depthPenalty + completionBonus) / 3; 37 | } 38 | 39 | private calculateLogicalScore(node: ThoughtNode, parent?: ThoughtNode): number { 40 | let score = 0; 41 | 42 | // Length and complexity 43 | score += Math.min(node.thought.length / 200, 0.3); 44 | 45 | // Logical connectors 46 | if (/\b(therefore|because|if|then|thus|hence|so)\b/i.test(node.thought)) { 47 | score += 0.2; 48 | } 49 | 50 | // Mathematical/logical expressions 51 | if (/[+\-*/=<>]/.test(node.thought)) { 52 | score += 0.2; 53 | } 54 | 55 | // Parent-child coherence 56 | if (parent) { 57 | const coherence = this.calculateCoherence(parent.thought, node.thought); 58 | score += coherence * 0.3; 59 | } 60 | 61 | return score; 62 | } 63 | 64 | private calculateDepthPenalty(node: ThoughtNode): number { 65 | return Math.max(0, 1 - (node.depth / 10) * 0.3); 66 | } 67 | 68 | private calculateCoherence(parentThought: string, childThought: string): number { 69 | // Simple coherence based on shared terms 70 | const parentTerms = new Set(parentThought.toLowerCase().split(/\W+/)); 71 | const childTerms = childThought.toLowerCase().split(/\W+/); 72 | 73 | const sharedTerms = childTerms.filter(term => parentTerms.has(term)).length; 74 | return Math.min(sharedTerms / childTerms.length, 1); 75 | } 76 | 77 | // Required methods for all strategies 78 | public async getBestPath(): Promise<ThoughtNode[]> { 79 | const nodes = await this.stateManager.getAllNodes(); 80 | if (nodes.length === 0) return []; 81 | 82 | // Default implementation - find highest scoring complete path 83 | const completedNodes = nodes.filter(n => n.isComplete) 84 | .sort((a, b) => b.score - a.score); 85 | 86 | if (completedNodes.length === 0) return []; 87 | 88 | return this.stateManager.getPath(completedNodes[0].id); 89 | } 90 | 91 | public async getMetrics(): Promise<StrategyMetrics> { 92 | const nodes = await this.stateManager.getAllNodes(); 93 | 94 | return { 95 | name: this.constructor.name, 96 | nodesExplored: nodes.length, 97 | averageScore: nodes.length > 0 98 | ? nodes.reduce((sum, n) => sum + n.score, 0) / nodes.length 99 | : 0, 100 | maxDepth: nodes.length > 0 101 | ? Math.max(...nodes.map(n => n.depth)) 102 | : 0 103 | }; 104 | } 105 | 106 | public async clear(): Promise<void> { 107 | // Optional cleanup method for strategies 108 | // Default implementation does nothing 109 | } 110 | } 111 | ``` -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- ```typescript 1 | #!/usr/bin/env node 2 | import { Server } from "@modelcontextprotocol/sdk/server/index.js"; 3 | import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; 4 | import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js"; 5 | import { Reasoner } from './reasoner.js'; 6 | import { ReasoningStrategy } from './strategies/factory.js'; 7 | 8 | // Initialize server 9 | const server = new Server( 10 | { 11 | name: "mcp-reasoner", 12 | version: "1.0.0", 13 | }, 14 | { 15 | capabilities: { 16 | tools: {}, 17 | }, 18 | } 19 | ); 20 | 21 | // Initialize reasoner 22 | const reasoner = new Reasoner(); 23 | 24 | // Process input and ensure correct types 25 | function processInput(input: any) { 26 | const result = { 27 | thought: String(input.thought || ""), 28 | thoughtNumber: Number(input.thoughtNumber || 0), 29 | totalThoughts: Number(input.totalThoughts || 0), 30 | nextThoughtNeeded: Boolean(input.nextThoughtNeeded), 31 | strategyType: input.strategyType as ReasoningStrategy | undefined, 32 | beamWidth: Number(input.beamWidth || 3), 33 | numSimulations: Number(input.numSimulations || 50) 34 | }; 35 | 36 | // Validate 37 | if (!result.thought) { 38 | throw new Error("thought must be provided"); 39 | } 40 | if (result.thoughtNumber < 1) { 41 | throw new Error("thoughtNumber must be >= 1"); 42 | } 43 | if (result.totalThoughts < 1) { 44 | throw new Error("totalThoughts must be >= 1"); 45 | } 46 | if (result.beamWidth < 1 || result.beamWidth > 10) { 47 | throw new Error("beamWidth must be between 1 and 10"); 48 | } 49 | if (result.numSimulations < 1 || result.numSimulations > 150) { 50 | throw new Error("numSimulations must be between 1 and 150"); 51 | } 52 | 53 | return result; 54 | } 55 | 56 | // Register the tool 57 | server.setRequestHandler(ListToolsRequestSchema, async () => ({ 58 | tools: [{ 59 | name: "mcp-reasoner", 60 | description: "Advanced reasoning tool with multiple strategies including Beam Search and Monte Carlo Tree Search", 61 | inputSchema: { 62 | type: "object", 63 | properties: { 64 | thought: { 65 | type: "string", 66 | description: "Current reasoning step" 67 | }, 68 | thoughtNumber: { 69 | type: "integer", 70 | description: "Current step number", 71 | minimum: 1 72 | }, 73 | totalThoughts: { 74 | type: "integer", 75 | description: "Total expected steps", 76 | minimum: 1 77 | }, 78 | nextThoughtNeeded: { 79 | type: "boolean", 80 | description: "Whether another step is needed" 81 | }, 82 | strategyType: { 83 | type: "string", 84 | enum: Object.values(ReasoningStrategy), 85 | description: "Reasoning strategy to use (beam_search or mcts)" 86 | }, 87 | beamWidth: { 88 | type: "integer", 89 | description: "Number of top paths to maintain (n-sampling). Defaults to 3 if not specified", 90 | minimum: 1, 91 | maximum: 10 92 | }, 93 | numSimulations: { 94 | type: "integer", 95 | description: "Number of MCTS simulations to run. Defaults to 50 if not specified", 96 | minimum: 1, 97 | maximum: 150 98 | } 99 | }, 100 | required: ["thought", "thoughtNumber", "totalThoughts", "nextThoughtNeeded"] 101 | } 102 | }] 103 | })); 104 | 105 | // Handle requests 106 | server.setRequestHandler(CallToolRequestSchema, async (request) => { 107 | if (request.params.name !== "mcp-reasoner") { 108 | return { 109 | content: [{ 110 | type: "text", 111 | text: JSON.stringify({ error: "Unknown tool", success: false }) 112 | }], 113 | isError: true 114 | }; 115 | } 116 | 117 | try { 118 | // Process and validate input 119 | const step = processInput(request.params.arguments); 120 | 121 | // Process thought with selected strategy 122 | const response = await reasoner.processThought({ 123 | thought: step.thought, 124 | thoughtNumber: step.thoughtNumber, 125 | totalThoughts: step.totalThoughts, 126 | nextThoughtNeeded: step.nextThoughtNeeded, 127 | strategyType: step.strategyType, 128 | beamWidth: step.beamWidth, 129 | numSimulations: step.numSimulations 130 | }); 131 | 132 | // Get reasoning stats 133 | const stats = await reasoner.getStats(); 134 | 135 | // Return enhanced response 136 | const result = { 137 | thoughtNumber: step.thoughtNumber, 138 | totalThoughts: step.totalThoughts, 139 | nextThoughtNeeded: step.nextThoughtNeeded, 140 | thought: step.thought, 141 | nodeId: response.nodeId, 142 | score: response.score, 143 | strategyUsed: response.strategyUsed, 144 | stats: { 145 | totalNodes: stats.totalNodes, 146 | averageScore: stats.averageScore, 147 | maxDepth: stats.maxDepth, 148 | branchingFactor: stats.branchingFactor, 149 | strategyMetrics: stats.strategyMetrics 150 | } 151 | }; 152 | 153 | return { 154 | content: [{ 155 | type: "text", 156 | text: JSON.stringify(result) 157 | }] 158 | }; 159 | } catch (error) { 160 | return { 161 | content: [{ 162 | type: "text", 163 | text: JSON.stringify({ 164 | error: error instanceof Error ? error.message : String(error), 165 | success: false 166 | }) 167 | }], 168 | isError: true 169 | }; 170 | } 171 | }); 172 | 173 | // Start server 174 | const transport = new StdioServerTransport(); 175 | server.connect(transport).catch(error => { 176 | process.stderr.write(`Error starting server: ${error}\n`); 177 | process.exit(1); 178 | }); 179 | ```