groove-dev 0.27.93 → 0.27.96
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +7 -0
- package/README.md +25 -52
- package/moe-training/package.json +2 -1
- package/node_modules/@groove-dev/cli/package.json +1 -1
- package/node_modules/@groove-dev/daemon/package.json +1 -1
- package/node_modules/@groove-dev/daemon/src/api.js +39 -23
- package/node_modules/@groove-dev/daemon/src/introducer.js +21 -6
- package/node_modules/@groove-dev/daemon/src/process.js +20 -2
- package/node_modules/@groove-dev/daemon/src/providers/gemini.js +27 -28
- package/node_modules/@groove-dev/gui/dist/assets/{index-VB4_k5Pz.js → index-BgTyFy4f.js} +331 -331
- package/node_modules/@groove-dev/gui/dist/assets/{index-Bo6AeNmM.css → index-QADLyUj5.css} +1 -1
- package/node_modules/@groove-dev/gui/dist/index.html +2 -2
- package/node_modules/@groove-dev/gui/package.json +1 -1
- package/node_modules/@groove-dev/gui/src/components/agents/agent-file-tree.jsx +68 -16
- package/node_modules/@groove-dev/gui/src/components/agents/agent-panel.jsx +2 -0
- package/node_modules/@groove-dev/gui/src/components/agents/code-review.jsx +9 -1
- package/node_modules/@groove-dev/gui/src/components/agents/workspace-mode.jsx +2 -2
- package/node_modules/@groove-dev/gui/src/components/editor/code-editor.jsx +1 -1
- package/node_modules/@groove-dev/gui/src/stores/groove.js +40 -26
- package/node_modules/@groove-dev/gui/src/views/agents.jsx +14 -65
- package/node_modules/base64-js/LICENSE +21 -0
- package/node_modules/base64-js/README.md +34 -0
- package/node_modules/base64-js/base64js.min.js +1 -0
- package/node_modules/base64-js/index.d.ts +3 -0
- package/node_modules/base64-js/index.js +150 -0
- package/node_modules/base64-js/package.json +47 -0
- package/node_modules/better-sqlite3/LICENSE +21 -0
- package/node_modules/better-sqlite3/README.md +99 -0
- package/node_modules/better-sqlite3/binding.gyp +38 -0
- package/node_modules/better-sqlite3/deps/common.gypi +68 -0
- package/node_modules/better-sqlite3/deps/copy.js +31 -0
- package/node_modules/better-sqlite3/deps/defines.gypi +41 -0
- package/node_modules/better-sqlite3/deps/download.sh +122 -0
- package/node_modules/better-sqlite3/deps/patches/1208.patch +15 -0
- package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.c +268845 -0
- package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.h +14335 -0
- package/node_modules/better-sqlite3/deps/sqlite3/sqlite3ext.h +739 -0
- package/node_modules/better-sqlite3/deps/sqlite3.gyp +80 -0
- package/node_modules/better-sqlite3/deps/test_extension.c +21 -0
- package/node_modules/better-sqlite3/lib/database.js +90 -0
- package/node_modules/better-sqlite3/lib/index.js +3 -0
- package/node_modules/better-sqlite3/lib/methods/aggregate.js +43 -0
- package/node_modules/better-sqlite3/lib/methods/backup.js +67 -0
- package/node_modules/better-sqlite3/lib/methods/function.js +31 -0
- package/node_modules/better-sqlite3/lib/methods/inspect.js +7 -0
- package/node_modules/better-sqlite3/lib/methods/pragma.js +12 -0
- package/node_modules/better-sqlite3/lib/methods/serialize.js +16 -0
- package/node_modules/better-sqlite3/lib/methods/table.js +189 -0
- package/node_modules/better-sqlite3/lib/methods/transaction.js +78 -0
- package/node_modules/better-sqlite3/lib/methods/wrappers.js +54 -0
- package/node_modules/better-sqlite3/lib/sqlite-error.js +20 -0
- package/node_modules/better-sqlite3/lib/util.js +12 -0
- package/node_modules/better-sqlite3/package.json +59 -0
- package/node_modules/better-sqlite3/src/addon.cpp +47 -0
- package/node_modules/better-sqlite3/src/better_sqlite3.cpp +74 -0
- package/node_modules/better-sqlite3/src/objects/backup.cpp +120 -0
- package/node_modules/better-sqlite3/src/objects/backup.hpp +36 -0
- package/node_modules/better-sqlite3/src/objects/database.cpp +417 -0
- package/node_modules/better-sqlite3/src/objects/database.hpp +103 -0
- package/node_modules/better-sqlite3/src/objects/statement-iterator.cpp +113 -0
- package/node_modules/better-sqlite3/src/objects/statement-iterator.hpp +50 -0
- package/node_modules/better-sqlite3/src/objects/statement.cpp +383 -0
- package/node_modules/better-sqlite3/src/objects/statement.hpp +58 -0
- package/node_modules/better-sqlite3/src/util/bind-map.cpp +73 -0
- package/node_modules/better-sqlite3/src/util/binder.cpp +193 -0
- package/node_modules/better-sqlite3/src/util/constants.cpp +172 -0
- package/node_modules/better-sqlite3/src/util/custom-aggregate.cpp +121 -0
- package/node_modules/better-sqlite3/src/util/custom-function.cpp +59 -0
- package/node_modules/better-sqlite3/src/util/custom-table.cpp +409 -0
- package/node_modules/better-sqlite3/src/util/data-converter.cpp +17 -0
- package/node_modules/better-sqlite3/src/util/data.cpp +194 -0
- package/node_modules/better-sqlite3/src/util/helpers.cpp +109 -0
- package/node_modules/better-sqlite3/src/util/macros.cpp +83 -0
- package/node_modules/better-sqlite3/src/util/query-macros.cpp +71 -0
- package/node_modules/better-sqlite3/src/util/row-builder.cpp +49 -0
- package/node_modules/bindings/LICENSE.md +22 -0
- package/node_modules/bindings/README.md +98 -0
- package/node_modules/bindings/bindings.js +221 -0
- package/node_modules/bindings/package.json +28 -0
- package/node_modules/bl/.travis.yml +17 -0
- package/node_modules/bl/BufferList.js +396 -0
- package/node_modules/bl/LICENSE.md +13 -0
- package/node_modules/bl/README.md +247 -0
- package/node_modules/bl/bl.js +84 -0
- package/node_modules/bl/package.json +37 -0
- package/node_modules/bl/test/convert.js +21 -0
- package/node_modules/bl/test/indexOf.js +492 -0
- package/node_modules/bl/test/isBufferList.js +32 -0
- package/node_modules/bl/test/test.js +869 -0
- package/node_modules/buffer/AUTHORS.md +70 -0
- package/node_modules/buffer/LICENSE +21 -0
- package/node_modules/buffer/README.md +410 -0
- package/node_modules/buffer/index.d.ts +186 -0
- package/node_modules/buffer/index.js +1817 -0
- package/node_modules/buffer/package.json +96 -0
- package/node_modules/decompress-response/index.d.ts +22 -0
- package/node_modules/decompress-response/index.js +58 -0
- package/node_modules/decompress-response/license +9 -0
- package/node_modules/decompress-response/node_modules/mimic-response/index.d.ts +17 -0
- package/node_modules/decompress-response/node_modules/mimic-response/index.js +77 -0
- package/node_modules/decompress-response/node_modules/mimic-response/license +9 -0
- package/node_modules/decompress-response/node_modules/mimic-response/package.json +42 -0
- package/node_modules/decompress-response/node_modules/mimic-response/readme.md +78 -0
- package/node_modules/decompress-response/package.json +56 -0
- package/node_modules/decompress-response/readme.md +48 -0
- package/node_modules/deep-extend/LICENSE +20 -0
- package/node_modules/deep-extend/README.md +91 -0
- package/node_modules/deep-extend/index.js +1 -0
- package/node_modules/deep-extend/lib/deep-extend.js +150 -0
- package/node_modules/deep-extend/package.json +62 -0
- package/node_modules/end-of-stream/LICENSE +21 -0
- package/node_modules/end-of-stream/README.md +54 -0
- package/node_modules/end-of-stream/index.js +96 -0
- package/node_modules/end-of-stream/package.json +37 -0
- package/node_modules/expand-template/.travis.yml +6 -0
- package/node_modules/expand-template/LICENSE +21 -0
- package/node_modules/expand-template/README.md +43 -0
- package/node_modules/expand-template/index.js +26 -0
- package/node_modules/expand-template/package.json +29 -0
- package/node_modules/expand-template/test.js +67 -0
- package/node_modules/file-uri-to-path/.npmignore +1 -0
- package/node_modules/file-uri-to-path/.travis.yml +30 -0
- package/node_modules/file-uri-to-path/History.md +21 -0
- package/node_modules/file-uri-to-path/LICENSE +20 -0
- package/node_modules/file-uri-to-path/README.md +74 -0
- package/node_modules/file-uri-to-path/index.d.ts +2 -0
- package/node_modules/file-uri-to-path/index.js +66 -0
- package/node_modules/file-uri-to-path/package.json +32 -0
- package/node_modules/file-uri-to-path/test/test.js +24 -0
- package/node_modules/file-uri-to-path/test/tests.json +13 -0
- package/node_modules/fs-constants/LICENSE +21 -0
- package/node_modules/fs-constants/README.md +26 -0
- package/node_modules/fs-constants/browser.js +1 -0
- package/node_modules/fs-constants/index.js +1 -0
- package/node_modules/fs-constants/package.json +19 -0
- package/node_modules/github-from-package/.travis.yml +4 -0
- package/node_modules/github-from-package/LICENSE +18 -0
- package/node_modules/github-from-package/example/package.json +8 -0
- package/node_modules/github-from-package/example/url.js +3 -0
- package/node_modules/github-from-package/index.js +17 -0
- package/node_modules/github-from-package/package.json +30 -0
- package/node_modules/github-from-package/readme.markdown +53 -0
- package/node_modules/github-from-package/test/a.json +8 -0
- package/node_modules/github-from-package/test/b.json +5 -0
- package/node_modules/github-from-package/test/c.json +5 -0
- package/node_modules/github-from-package/test/d.json +7 -0
- package/node_modules/github-from-package/test/e.json +5 -0
- package/node_modules/github-from-package/test/url.js +19 -0
- package/node_modules/ieee754/LICENSE +11 -0
- package/node_modules/ieee754/README.md +51 -0
- package/node_modules/ieee754/index.d.ts +10 -0
- package/node_modules/ieee754/index.js +85 -0
- package/node_modules/ieee754/package.json +52 -0
- package/node_modules/ini/LICENSE +15 -0
- package/node_modules/ini/README.md +102 -0
- package/node_modules/ini/ini.js +206 -0
- package/node_modules/ini/package.json +33 -0
- package/node_modules/minimist/.eslintrc +29 -0
- package/node_modules/minimist/.github/FUNDING.yml +12 -0
- package/node_modules/minimist/.nycrc +14 -0
- package/node_modules/minimist/CHANGELOG.md +298 -0
- package/node_modules/minimist/LICENSE +18 -0
- package/node_modules/minimist/README.md +121 -0
- package/node_modules/minimist/example/parse.js +4 -0
- package/node_modules/minimist/index.js +263 -0
- package/node_modules/minimist/package.json +75 -0
- package/node_modules/minimist/test/all_bool.js +34 -0
- package/node_modules/minimist/test/bool.js +177 -0
- package/node_modules/minimist/test/dash.js +43 -0
- package/node_modules/minimist/test/default_bool.js +37 -0
- package/node_modules/minimist/test/dotted.js +24 -0
- package/node_modules/minimist/test/kv_short.js +32 -0
- package/node_modules/minimist/test/long.js +33 -0
- package/node_modules/minimist/test/num.js +38 -0
- package/node_modules/minimist/test/parse.js +209 -0
- package/node_modules/minimist/test/parse_modified.js +11 -0
- package/node_modules/minimist/test/proto.js +64 -0
- package/node_modules/minimist/test/short.js +69 -0
- package/node_modules/minimist/test/stop_early.js +17 -0
- package/node_modules/minimist/test/unknown.js +104 -0
- package/node_modules/minimist/test/whitespace.js +10 -0
- package/node_modules/mkdirp-classic/LICENSE +21 -0
- package/node_modules/mkdirp-classic/README.md +18 -0
- package/node_modules/mkdirp-classic/index.js +98 -0
- package/node_modules/mkdirp-classic/package.json +18 -0
- package/node_modules/moe-training/DEPLOY_CENTRAL_COMMAND.md +413 -0
- package/node_modules/moe-training/client/consent.js +96 -0
- package/node_modules/moe-training/client/envelope-builder.js +56 -0
- package/node_modules/moe-training/client/index.js +10 -0
- package/node_modules/moe-training/client/parsers/claude-code.js +108 -0
- package/node_modules/moe-training/client/parsers/codex.js +80 -0
- package/node_modules/moe-training/client/parsers/gemini.js +80 -0
- package/node_modules/moe-training/client/parsers/grok.js +16 -0
- package/node_modules/moe-training/client/parsers/index.js +20 -0
- package/node_modules/moe-training/client/scrubber.js +128 -0
- package/node_modules/moe-training/client/session-attestation.js +115 -0
- package/node_modules/moe-training/client/step-classifier.js +68 -0
- package/node_modules/moe-training/client/trajectory-capture.js +307 -0
- package/node_modules/moe-training/client/transmission-queue.js +104 -0
- package/node_modules/moe-training/package.json +21 -0
- package/node_modules/moe-training/server/enrichment.js +24 -0
- package/node_modules/moe-training/server/index.js +119 -0
- package/node_modules/moe-training/server/ledger.js +110 -0
- package/node_modules/moe-training/server/routes/ingest.js +96 -0
- package/node_modules/moe-training/server/routes/sessions.js +43 -0
- package/node_modules/moe-training/server/routes/stats.js +31 -0
- package/node_modules/moe-training/server/scoring.js +63 -0
- package/node_modules/moe-training/server/session-registry.js +156 -0
- package/node_modules/moe-training/server/stats.js +129 -0
- package/node_modules/moe-training/server/stitcher.js +69 -0
- package/node_modules/moe-training/server/storage.js +147 -0
- package/node_modules/moe-training/server/verifier.js +102 -0
- package/node_modules/moe-training/shared/constants.js +30 -0
- package/node_modules/moe-training/shared/crypto.js +45 -0
- package/node_modules/moe-training/shared/envelope-schema.js +220 -0
- package/node_modules/moe-training/test/client/consent.test.js +121 -0
- package/node_modules/moe-training/test/client/envelope-builder.test.js +107 -0
- package/node_modules/moe-training/test/client/parsers/claude-code.test.js +119 -0
- package/node_modules/moe-training/test/client/parsers/codex.test.js +83 -0
- package/node_modules/moe-training/test/client/parsers/gemini.test.js +99 -0
- package/node_modules/moe-training/test/client/scrubber.test.js +143 -0
- package/node_modules/moe-training/test/client/session-attestation-security.test.js +95 -0
- package/node_modules/moe-training/test/client/step-classifier.test.js +135 -0
- package/node_modules/moe-training/test/client/transmission-queue.test.js +33 -0
- package/node_modules/moe-training/test/integration/handshake.test.js +260 -0
- package/node_modules/moe-training/test/server/ingest-security.test.js +166 -0
- package/node_modules/moe-training/test/server/ledger.test.js +131 -0
- package/node_modules/moe-training/test/server/scoring.test.js +242 -0
- package/node_modules/moe-training/test/server/session-registry.test.js +125 -0
- package/node_modules/moe-training/test/server/stitcher.test.js +157 -0
- package/node_modules/moe-training/test/server/verifier.test.js +232 -0
- package/node_modules/moe-training/test/shared/crypto.test.js +87 -0
- package/node_modules/moe-training/test/shared/envelope-schema.test.js +351 -0
- package/node_modules/napi-build-utils/.github/workflows/run-npm-tests.yml +31 -0
- package/node_modules/napi-build-utils/LICENSE +21 -0
- package/node_modules/napi-build-utils/README.md +52 -0
- package/node_modules/napi-build-utils/index.js +214 -0
- package/node_modules/napi-build-utils/index.md +0 -0
- package/node_modules/napi-build-utils/package.json +42 -0
- package/node_modules/prebuild-install/CHANGELOG.md +131 -0
- package/node_modules/prebuild-install/CONTRIBUTING.md +6 -0
- package/node_modules/prebuild-install/LICENSE +21 -0
- package/node_modules/prebuild-install/README.md +163 -0
- package/node_modules/prebuild-install/asset.js +44 -0
- package/node_modules/prebuild-install/bin.js +78 -0
- package/node_modules/prebuild-install/download.js +142 -0
- package/node_modules/prebuild-install/error.js +14 -0
- package/node_modules/prebuild-install/help.txt +16 -0
- package/node_modules/prebuild-install/index.js +1 -0
- package/node_modules/prebuild-install/log.js +33 -0
- package/node_modules/prebuild-install/node_modules/node-abi/LICENSE +21 -0
- package/node_modules/prebuild-install/node_modules/node-abi/README.md +54 -0
- package/node_modules/prebuild-install/node_modules/node-abi/abi_registry.json +439 -0
- package/node_modules/prebuild-install/node_modules/node-abi/index.js +179 -0
- package/node_modules/prebuild-install/node_modules/node-abi/package.json +45 -0
- package/node_modules/prebuild-install/node_modules/semver/LICENSE +15 -0
- package/node_modules/prebuild-install/node_modules/semver/README.md +665 -0
- package/node_modules/prebuild-install/node_modules/semver/bin/semver.js +191 -0
- package/node_modules/prebuild-install/node_modules/semver/classes/comparator.js +143 -0
- package/node_modules/prebuild-install/node_modules/semver/classes/index.js +7 -0
- package/node_modules/prebuild-install/node_modules/semver/classes/range.js +557 -0
- package/node_modules/prebuild-install/node_modules/semver/classes/semver.js +333 -0
- package/node_modules/prebuild-install/node_modules/semver/functions/clean.js +8 -0
- package/node_modules/prebuild-install/node_modules/semver/functions/cmp.js +54 -0
- package/node_modules/prebuild-install/node_modules/semver/functions/coerce.js +62 -0
- package/node_modules/prebuild-install/node_modules/semver/functions/compare-build.js +9 -0
- package/node_modules/prebuild-install/node_modules/semver/functions/compare-loose.js +5 -0
- package/node_modules/prebuild-install/node_modules/semver/functions/compare.js +7 -0
- package/node_modules/prebuild-install/node_modules/semver/functions/diff.js +60 -0
- package/node_modules/prebuild-install/node_modules/semver/functions/eq.js +5 -0
- package/node_modules/prebuild-install/node_modules/semver/functions/gt.js +5 -0
- package/node_modules/prebuild-install/node_modules/semver/functions/gte.js +5 -0
- package/node_modules/prebuild-install/node_modules/semver/functions/inc.js +21 -0
- package/node_modules/prebuild-install/node_modules/semver/functions/lt.js +5 -0
- package/node_modules/prebuild-install/node_modules/semver/functions/lte.js +5 -0
- package/node_modules/prebuild-install/node_modules/semver/functions/major.js +5 -0
- package/node_modules/prebuild-install/node_modules/semver/functions/minor.js +5 -0
- package/node_modules/prebuild-install/node_modules/semver/functions/neq.js +5 -0
- package/node_modules/prebuild-install/node_modules/semver/functions/parse.js +18 -0
- package/node_modules/prebuild-install/node_modules/semver/functions/patch.js +5 -0
- package/node_modules/prebuild-install/node_modules/semver/functions/prerelease.js +8 -0
- package/node_modules/prebuild-install/node_modules/semver/functions/rcompare.js +5 -0
- package/node_modules/prebuild-install/node_modules/semver/functions/rsort.js +5 -0
- package/node_modules/prebuild-install/node_modules/semver/functions/satisfies.js +12 -0
- package/node_modules/prebuild-install/node_modules/semver/functions/sort.js +5 -0
- package/node_modules/prebuild-install/node_modules/semver/functions/valid.js +8 -0
- package/node_modules/prebuild-install/node_modules/semver/index.js +91 -0
- package/node_modules/prebuild-install/node_modules/semver/internal/constants.js +37 -0
- package/node_modules/prebuild-install/node_modules/semver/internal/debug.js +11 -0
- package/node_modules/prebuild-install/node_modules/semver/internal/identifiers.js +29 -0
- package/node_modules/prebuild-install/node_modules/semver/internal/lrucache.js +42 -0
- package/node_modules/prebuild-install/node_modules/semver/internal/parse-options.js +17 -0
- package/node_modules/prebuild-install/node_modules/semver/internal/re.js +223 -0
- package/node_modules/prebuild-install/node_modules/semver/package.json +78 -0
- package/node_modules/prebuild-install/node_modules/semver/preload.js +4 -0
- package/node_modules/prebuild-install/node_modules/semver/range.bnf +16 -0
- package/node_modules/prebuild-install/node_modules/semver/ranges/gtr.js +6 -0
- package/node_modules/prebuild-install/node_modules/semver/ranges/intersects.js +9 -0
- package/node_modules/prebuild-install/node_modules/semver/ranges/ltr.js +6 -0
- package/node_modules/prebuild-install/node_modules/semver/ranges/max-satisfying.js +27 -0
- package/node_modules/prebuild-install/node_modules/semver/ranges/min-satisfying.js +26 -0
- package/node_modules/prebuild-install/node_modules/semver/ranges/min-version.js +63 -0
- package/node_modules/prebuild-install/node_modules/semver/ranges/outside.js +82 -0
- package/node_modules/prebuild-install/node_modules/semver/ranges/simplify.js +49 -0
- package/node_modules/prebuild-install/node_modules/semver/ranges/subset.js +249 -0
- package/node_modules/prebuild-install/node_modules/semver/ranges/to-comparators.js +10 -0
- package/node_modules/prebuild-install/node_modules/semver/ranges/valid.js +13 -0
- package/node_modules/prebuild-install/package.json +67 -0
- package/node_modules/prebuild-install/proxy.js +35 -0
- package/node_modules/prebuild-install/rc.js +64 -0
- package/node_modules/prebuild-install/util.js +143 -0
- package/node_modules/pump/.github/FUNDING.yml +2 -0
- package/node_modules/pump/.travis.yml +5 -0
- package/node_modules/pump/LICENSE +21 -0
- package/node_modules/pump/README.md +74 -0
- package/node_modules/pump/SECURITY.md +5 -0
- package/node_modules/pump/empty.js +1 -0
- package/node_modules/pump/index.js +86 -0
- package/node_modules/pump/package.json +30 -0
- package/node_modules/pump/test-browser.js +66 -0
- package/node_modules/pump/test-node.js +53 -0
- package/node_modules/rc/LICENSE.APACHE2 +15 -0
- package/node_modules/rc/LICENSE.BSD +26 -0
- package/node_modules/rc/LICENSE.MIT +24 -0
- package/node_modules/rc/README.md +227 -0
- package/node_modules/rc/browser.js +7 -0
- package/node_modules/rc/cli.js +4 -0
- package/node_modules/rc/index.js +53 -0
- package/node_modules/rc/lib/utils.js +104 -0
- package/node_modules/rc/package.json +29 -0
- package/node_modules/rc/test/ini.js +16 -0
- package/node_modules/rc/test/nested-env-vars.js +50 -0
- package/node_modules/rc/test/test.js +59 -0
- package/node_modules/readable-stream/CONTRIBUTING.md +38 -0
- package/node_modules/readable-stream/GOVERNANCE.md +136 -0
- package/node_modules/readable-stream/LICENSE +47 -0
- package/node_modules/readable-stream/README.md +106 -0
- package/node_modules/readable-stream/errors-browser.js +127 -0
- package/node_modules/readable-stream/errors.js +116 -0
- package/node_modules/readable-stream/experimentalWarning.js +17 -0
- package/node_modules/readable-stream/lib/_stream_duplex.js +126 -0
- package/node_modules/readable-stream/lib/_stream_passthrough.js +37 -0
- package/node_modules/readable-stream/lib/_stream_readable.js +1027 -0
- package/node_modules/readable-stream/lib/_stream_transform.js +190 -0
- package/node_modules/readable-stream/lib/_stream_writable.js +641 -0
- package/node_modules/readable-stream/lib/internal/streams/async_iterator.js +180 -0
- package/node_modules/readable-stream/lib/internal/streams/buffer_list.js +183 -0
- package/node_modules/readable-stream/lib/internal/streams/destroy.js +96 -0
- package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +86 -0
- package/node_modules/readable-stream/lib/internal/streams/from-browser.js +3 -0
- package/node_modules/readable-stream/lib/internal/streams/from.js +52 -0
- package/node_modules/readable-stream/lib/internal/streams/pipeline.js +86 -0
- package/node_modules/readable-stream/lib/internal/streams/state.js +22 -0
- package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
- package/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
- package/node_modules/readable-stream/package.json +68 -0
- package/node_modules/readable-stream/readable-browser.js +9 -0
- package/node_modules/readable-stream/readable.js +16 -0
- package/node_modules/simple-concat/.travis.yml +3 -0
- package/node_modules/simple-concat/LICENSE +20 -0
- package/node_modules/simple-concat/README.md +44 -0
- package/node_modules/simple-concat/index.js +15 -0
- package/node_modules/simple-concat/package.json +47 -0
- package/node_modules/simple-concat/test/basic.js +41 -0
- package/node_modules/simple-get/.github/dependabot.yml +15 -0
- package/node_modules/simple-get/.github/workflows/ci.yml +23 -0
- package/node_modules/simple-get/LICENSE +20 -0
- package/node_modules/simple-get/README.md +333 -0
- package/node_modules/simple-get/index.js +108 -0
- package/node_modules/simple-get/package.json +67 -0
- package/node_modules/string_decoder/LICENSE +48 -0
- package/node_modules/string_decoder/README.md +47 -0
- package/node_modules/string_decoder/lib/string_decoder.js +296 -0
- package/node_modules/string_decoder/package.json +34 -0
- package/node_modules/strip-json-comments/index.js +70 -0
- package/node_modules/strip-json-comments/license +21 -0
- package/node_modules/strip-json-comments/package.json +42 -0
- package/node_modules/strip-json-comments/readme.md +64 -0
- package/node_modules/tar-fs/.travis.yml +6 -0
- package/node_modules/tar-fs/LICENSE +21 -0
- package/node_modules/tar-fs/README.md +165 -0
- package/node_modules/tar-fs/index.js +363 -0
- package/node_modules/tar-fs/node_modules/chownr/LICENSE +15 -0
- package/node_modules/tar-fs/node_modules/chownr/README.md +3 -0
- package/node_modules/tar-fs/node_modules/chownr/chownr.js +167 -0
- package/node_modules/tar-fs/node_modules/chownr/package.json +29 -0
- package/node_modules/tar-fs/package.json +41 -0
- package/node_modules/tar-fs/test/fixtures/a/hello.txt +1 -0
- package/node_modules/tar-fs/test/fixtures/b/a/test.txt +1 -0
- package/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
- package/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
- package/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
- package/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
- package/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
- package/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
- package/node_modules/tar-fs/test/fixtures/e/file +0 -0
- package/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
- package/node_modules/tar-fs/test/index.js +346 -0
- package/node_modules/tar-stream/LICENSE +21 -0
- package/node_modules/tar-stream/README.md +168 -0
- package/node_modules/tar-stream/extract.js +257 -0
- package/node_modules/tar-stream/headers.js +295 -0
- package/node_modules/tar-stream/index.js +2 -0
- package/node_modules/tar-stream/pack.js +255 -0
- package/node_modules/tar-stream/package.json +58 -0
- package/node_modules/tar-stream/sandbox.js +11 -0
- package/node_modules/tunnel-agent/LICENSE +55 -0
- package/node_modules/tunnel-agent/README.md +4 -0
- package/node_modules/tunnel-agent/index.js +244 -0
- package/node_modules/tunnel-agent/package.json +22 -0
- package/node_modules/util-deprecate/History.md +16 -0
- package/node_modules/util-deprecate/LICENSE +24 -0
- package/node_modules/util-deprecate/README.md +53 -0
- package/node_modules/util-deprecate/browser.js +67 -0
- package/node_modules/util-deprecate/node.js +6 -0
- package/node_modules/util-deprecate/package.json +27 -0
- package/node_modules/uuid/CHANGELOG.md +274 -0
- package/node_modules/uuid/CONTRIBUTING.md +18 -0
- package/node_modules/uuid/LICENSE.md +9 -0
- package/node_modules/uuid/README.md +466 -0
- package/node_modules/uuid/dist/bin/uuid +2 -0
- package/node_modules/uuid/dist/commonjs-browser/index.js +79 -0
- package/node_modules/uuid/dist/commonjs-browser/md5.js +223 -0
- package/node_modules/uuid/dist/commonjs-browser/native.js +11 -0
- package/node_modules/uuid/dist/commonjs-browser/nil.js +8 -0
- package/node_modules/uuid/dist/commonjs-browser/parse.js +45 -0
- package/node_modules/uuid/dist/commonjs-browser/regex.js +8 -0
- package/node_modules/uuid/dist/commonjs-browser/rng.js +25 -0
- package/node_modules/uuid/dist/commonjs-browser/sha1.js +104 -0
- package/node_modules/uuid/dist/commonjs-browser/stringify.js +44 -0
- package/node_modules/uuid/dist/commonjs-browser/v1.js +107 -0
- package/node_modules/uuid/dist/commonjs-browser/v3.js +16 -0
- package/node_modules/uuid/dist/commonjs-browser/v35.js +80 -0
- package/node_modules/uuid/dist/commonjs-browser/v4.js +43 -0
- package/node_modules/uuid/dist/commonjs-browser/v5.js +16 -0
- package/node_modules/uuid/dist/commonjs-browser/validate.js +17 -0
- package/node_modules/uuid/dist/commonjs-browser/version.js +21 -0
- package/node_modules/uuid/dist/esm-browser/index.js +9 -0
- package/node_modules/uuid/dist/esm-browser/md5.js +215 -0
- package/node_modules/uuid/dist/esm-browser/native.js +4 -0
- package/node_modules/uuid/dist/esm-browser/nil.js +1 -0
- package/node_modules/uuid/dist/esm-browser/parse.js +35 -0
- package/node_modules/uuid/dist/esm-browser/regex.js +1 -0
- package/node_modules/uuid/dist/esm-browser/rng.js +18 -0
- package/node_modules/uuid/dist/esm-browser/sha1.js +96 -0
- package/node_modules/uuid/dist/esm-browser/stringify.js +33 -0
- package/node_modules/uuid/dist/esm-browser/v1.js +95 -0
- package/node_modules/uuid/dist/esm-browser/v3.js +4 -0
- package/node_modules/uuid/dist/esm-browser/v35.js +66 -0
- package/node_modules/uuid/dist/esm-browser/v4.js +29 -0
- package/node_modules/uuid/dist/esm-browser/v5.js +4 -0
- package/node_modules/uuid/dist/esm-browser/validate.js +7 -0
- package/node_modules/uuid/dist/esm-browser/version.js +11 -0
- package/node_modules/uuid/dist/esm-node/index.js +9 -0
- package/node_modules/uuid/dist/esm-node/md5.js +13 -0
- package/node_modules/uuid/dist/esm-node/native.js +4 -0
- package/node_modules/uuid/dist/esm-node/nil.js +1 -0
- package/node_modules/uuid/dist/esm-node/parse.js +35 -0
- package/node_modules/uuid/dist/esm-node/regex.js +1 -0
- package/node_modules/uuid/dist/esm-node/rng.js +12 -0
- package/node_modules/uuid/dist/esm-node/sha1.js +13 -0
- package/node_modules/uuid/dist/esm-node/stringify.js +33 -0
- package/node_modules/uuid/dist/esm-node/v1.js +95 -0
- package/node_modules/uuid/dist/esm-node/v3.js +4 -0
- package/node_modules/uuid/dist/esm-node/v35.js +66 -0
- package/node_modules/uuid/dist/esm-node/v4.js +29 -0
- package/node_modules/uuid/dist/esm-node/v5.js +4 -0
- package/node_modules/uuid/dist/esm-node/validate.js +7 -0
- package/node_modules/uuid/dist/esm-node/version.js +11 -0
- package/node_modules/uuid/dist/index.js +79 -0
- package/node_modules/uuid/dist/md5-browser.js +223 -0
- package/node_modules/uuid/dist/md5.js +23 -0
- package/node_modules/uuid/dist/native-browser.js +11 -0
- package/node_modules/uuid/dist/native.js +15 -0
- package/node_modules/uuid/dist/nil.js +8 -0
- package/node_modules/uuid/dist/parse.js +45 -0
- package/node_modules/uuid/dist/regex.js +8 -0
- package/node_modules/uuid/dist/rng-browser.js +25 -0
- package/node_modules/uuid/dist/rng.js +24 -0
- package/node_modules/uuid/dist/sha1-browser.js +104 -0
- package/node_modules/uuid/dist/sha1.js +23 -0
- package/node_modules/uuid/dist/stringify.js +44 -0
- package/node_modules/uuid/dist/uuid-bin.js +85 -0
- package/node_modules/uuid/dist/v1.js +107 -0
- package/node_modules/uuid/dist/v3.js +16 -0
- package/node_modules/uuid/dist/v35.js +80 -0
- package/node_modules/uuid/dist/v4.js +43 -0
- package/node_modules/uuid/dist/v5.js +16 -0
- package/node_modules/uuid/dist/validate.js +17 -0
- package/node_modules/uuid/dist/version.js +21 -0
- package/node_modules/uuid/package.json +135 -0
- package/node_modules/uuid/wrapper.mjs +10 -0
- package/package.json +5 -3
- package/packages/cli/package.json +1 -1
- package/packages/daemon/package.json +1 -1
- package/packages/daemon/src/api.js +39 -23
- package/packages/daemon/src/introducer.js +21 -6
- package/packages/daemon/src/process.js +20 -2
- package/packages/daemon/src/providers/gemini.js +27 -28
- package/packages/gui/dist/assets/{index-VB4_k5Pz.js → index-BgTyFy4f.js} +331 -331
- package/packages/gui/dist/assets/{index-Bo6AeNmM.css → index-QADLyUj5.css} +1 -1
- package/packages/gui/dist/index.html +2 -2
- package/packages/gui/package.json +1 -1
- package/packages/gui/src/components/agents/agent-file-tree.jsx +68 -16
- package/packages/gui/src/components/agents/agent-panel.jsx +2 -0
- package/packages/gui/src/components/agents/code-review.jsx +9 -1
- package/packages/gui/src/components/agents/workspace-mode.jsx +2 -2
- package/packages/gui/src/components/editor/code-editor.jsx +1 -1
- package/packages/gui/src/stores/groove.js +40 -26
- package/packages/gui/src/views/agents.jsx +14 -65
- package/workspace.png +0 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
|
2
|
+
exports.read = function (buffer, offset, isLE, mLen, nBytes) {
|
|
3
|
+
var e, m
|
|
4
|
+
var eLen = (nBytes * 8) - mLen - 1
|
|
5
|
+
var eMax = (1 << eLen) - 1
|
|
6
|
+
var eBias = eMax >> 1
|
|
7
|
+
var nBits = -7
|
|
8
|
+
var i = isLE ? (nBytes - 1) : 0
|
|
9
|
+
var d = isLE ? -1 : 1
|
|
10
|
+
var s = buffer[offset + i]
|
|
11
|
+
|
|
12
|
+
i += d
|
|
13
|
+
|
|
14
|
+
e = s & ((1 << (-nBits)) - 1)
|
|
15
|
+
s >>= (-nBits)
|
|
16
|
+
nBits += eLen
|
|
17
|
+
for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}
|
|
18
|
+
|
|
19
|
+
m = e & ((1 << (-nBits)) - 1)
|
|
20
|
+
e >>= (-nBits)
|
|
21
|
+
nBits += mLen
|
|
22
|
+
for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}
|
|
23
|
+
|
|
24
|
+
if (e === 0) {
|
|
25
|
+
e = 1 - eBias
|
|
26
|
+
} else if (e === eMax) {
|
|
27
|
+
return m ? NaN : ((s ? -1 : 1) * Infinity)
|
|
28
|
+
} else {
|
|
29
|
+
m = m + Math.pow(2, mLen)
|
|
30
|
+
e = e - eBias
|
|
31
|
+
}
|
|
32
|
+
return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
|
|
36
|
+
var e, m, c
|
|
37
|
+
var eLen = (nBytes * 8) - mLen - 1
|
|
38
|
+
var eMax = (1 << eLen) - 1
|
|
39
|
+
var eBias = eMax >> 1
|
|
40
|
+
var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
|
|
41
|
+
var i = isLE ? 0 : (nBytes - 1)
|
|
42
|
+
var d = isLE ? 1 : -1
|
|
43
|
+
var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0
|
|
44
|
+
|
|
45
|
+
value = Math.abs(value)
|
|
46
|
+
|
|
47
|
+
if (isNaN(value) || value === Infinity) {
|
|
48
|
+
m = isNaN(value) ? 1 : 0
|
|
49
|
+
e = eMax
|
|
50
|
+
} else {
|
|
51
|
+
e = Math.floor(Math.log(value) / Math.LN2)
|
|
52
|
+
if (value * (c = Math.pow(2, -e)) < 1) {
|
|
53
|
+
e--
|
|
54
|
+
c *= 2
|
|
55
|
+
}
|
|
56
|
+
if (e + eBias >= 1) {
|
|
57
|
+
value += rt / c
|
|
58
|
+
} else {
|
|
59
|
+
value += rt * Math.pow(2, 1 - eBias)
|
|
60
|
+
}
|
|
61
|
+
if (value * c >= 2) {
|
|
62
|
+
e++
|
|
63
|
+
c /= 2
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (e + eBias >= eMax) {
|
|
67
|
+
m = 0
|
|
68
|
+
e = eMax
|
|
69
|
+
} else if (e + eBias >= 1) {
|
|
70
|
+
m = ((value * c) - 1) * Math.pow(2, mLen)
|
|
71
|
+
e = e + eBias
|
|
72
|
+
} else {
|
|
73
|
+
m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
|
|
74
|
+
e = 0
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
|
|
79
|
+
|
|
80
|
+
e = (e << mLen) | m
|
|
81
|
+
eLen += mLen
|
|
82
|
+
for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
|
|
83
|
+
|
|
84
|
+
buffer[offset + i - d] |= s * 128
|
|
85
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ieee754",
|
|
3
|
+
"description": "Read/write IEEE754 floating point numbers from/to a Buffer or array-like object",
|
|
4
|
+
"version": "1.2.1",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Feross Aboukhadijeh",
|
|
7
|
+
"email": "feross@feross.org",
|
|
8
|
+
"url": "https://feross.org"
|
|
9
|
+
},
|
|
10
|
+
"contributors": [
|
|
11
|
+
"Romain Beauxis <toots@rastageeks.org>"
|
|
12
|
+
],
|
|
13
|
+
"devDependencies": {
|
|
14
|
+
"airtap": "^3.0.0",
|
|
15
|
+
"standard": "*",
|
|
16
|
+
"tape": "^5.0.1"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"IEEE 754",
|
|
20
|
+
"buffer",
|
|
21
|
+
"convert",
|
|
22
|
+
"floating point",
|
|
23
|
+
"ieee754"
|
|
24
|
+
],
|
|
25
|
+
"license": "BSD-3-Clause",
|
|
26
|
+
"main": "index.js",
|
|
27
|
+
"types": "index.d.ts",
|
|
28
|
+
"repository": {
|
|
29
|
+
"type": "git",
|
|
30
|
+
"url": "git://github.com/feross/ieee754.git"
|
|
31
|
+
},
|
|
32
|
+
"scripts": {
|
|
33
|
+
"test": "standard && npm run test-node && npm run test-browser",
|
|
34
|
+
"test-browser": "airtap -- test/*.js",
|
|
35
|
+
"test-browser-local": "airtap --local -- test/*.js",
|
|
36
|
+
"test-node": "tape test/*.js"
|
|
37
|
+
},
|
|
38
|
+
"funding": [
|
|
39
|
+
{
|
|
40
|
+
"type": "github",
|
|
41
|
+
"url": "https://github.com/sponsors/feross"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"type": "patreon",
|
|
45
|
+
"url": "https://www.patreon.com/feross"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"type": "consulting",
|
|
49
|
+
"url": "https://feross.org/support"
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
The ISC License
|
|
2
|
+
|
|
3
|
+
Copyright (c) Isaac Z. Schlueter and Contributors
|
|
4
|
+
|
|
5
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
+
purpose with or without fee is hereby granted, provided that the above
|
|
7
|
+
copyright notice and this permission notice appear in all copies.
|
|
8
|
+
|
|
9
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
10
|
+
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
11
|
+
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
12
|
+
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
13
|
+
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
14
|
+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
|
15
|
+
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
An ini format parser and serializer for node.
|
|
2
|
+
|
|
3
|
+
Sections are treated as nested objects. Items before the first
|
|
4
|
+
heading are saved on the object directly.
|
|
5
|
+
|
|
6
|
+
## Usage
|
|
7
|
+
|
|
8
|
+
Consider an ini-file `config.ini` that looks like this:
|
|
9
|
+
|
|
10
|
+
; this comment is being ignored
|
|
11
|
+
scope = global
|
|
12
|
+
|
|
13
|
+
[database]
|
|
14
|
+
user = dbuser
|
|
15
|
+
password = dbpassword
|
|
16
|
+
database = use_this_database
|
|
17
|
+
|
|
18
|
+
[paths.default]
|
|
19
|
+
datadir = /var/lib/data
|
|
20
|
+
array[] = first value
|
|
21
|
+
array[] = second value
|
|
22
|
+
array[] = third value
|
|
23
|
+
|
|
24
|
+
You can read, manipulate and write the ini-file like so:
|
|
25
|
+
|
|
26
|
+
var fs = require('fs')
|
|
27
|
+
, ini = require('ini')
|
|
28
|
+
|
|
29
|
+
var config = ini.parse(fs.readFileSync('./config.ini', 'utf-8'))
|
|
30
|
+
|
|
31
|
+
config.scope = 'local'
|
|
32
|
+
config.database.database = 'use_another_database'
|
|
33
|
+
config.paths.default.tmpdir = '/tmp'
|
|
34
|
+
delete config.paths.default.datadir
|
|
35
|
+
config.paths.default.array.push('fourth value')
|
|
36
|
+
|
|
37
|
+
fs.writeFileSync('./config_modified.ini', ini.stringify(config, { section: 'section' }))
|
|
38
|
+
|
|
39
|
+
This will result in a file called `config_modified.ini` being written
|
|
40
|
+
to the filesystem with the following content:
|
|
41
|
+
|
|
42
|
+
[section]
|
|
43
|
+
scope=local
|
|
44
|
+
[section.database]
|
|
45
|
+
user=dbuser
|
|
46
|
+
password=dbpassword
|
|
47
|
+
database=use_another_database
|
|
48
|
+
[section.paths.default]
|
|
49
|
+
tmpdir=/tmp
|
|
50
|
+
array[]=first value
|
|
51
|
+
array[]=second value
|
|
52
|
+
array[]=third value
|
|
53
|
+
array[]=fourth value
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
## API
|
|
57
|
+
|
|
58
|
+
### decode(inistring)
|
|
59
|
+
|
|
60
|
+
Decode the ini-style formatted `inistring` into a nested object.
|
|
61
|
+
|
|
62
|
+
### parse(inistring)
|
|
63
|
+
|
|
64
|
+
Alias for `decode(inistring)`
|
|
65
|
+
|
|
66
|
+
### encode(object, [options])
|
|
67
|
+
|
|
68
|
+
Encode the object `object` into an ini-style formatted string. If the
|
|
69
|
+
optional parameter `section` is given, then all top-level properties
|
|
70
|
+
of the object are put into this section and the `section`-string is
|
|
71
|
+
prepended to all sub-sections, see the usage example above.
|
|
72
|
+
|
|
73
|
+
The `options` object may contain the following:
|
|
74
|
+
|
|
75
|
+
* `section` A string which will be the first `section` in the encoded
|
|
76
|
+
ini data. Defaults to none.
|
|
77
|
+
* `whitespace` Boolean to specify whether to put whitespace around the
|
|
78
|
+
`=` character. By default, whitespace is omitted, to be friendly to
|
|
79
|
+
some persnickety old parsers that don't tolerate it well. But some
|
|
80
|
+
find that it's more human-readable and pretty with the whitespace.
|
|
81
|
+
|
|
82
|
+
For backwards compatibility reasons, if a `string` options is passed
|
|
83
|
+
in, then it is assumed to be the `section` value.
|
|
84
|
+
|
|
85
|
+
### stringify(object, [options])
|
|
86
|
+
|
|
87
|
+
Alias for `encode(object, [options])`
|
|
88
|
+
|
|
89
|
+
### safe(val)
|
|
90
|
+
|
|
91
|
+
Escapes the string `val` such that it is safe to be used as a key or
|
|
92
|
+
value in an ini-file. Basically escapes quotes. For example
|
|
93
|
+
|
|
94
|
+
ini.safe('"unsafe string"')
|
|
95
|
+
|
|
96
|
+
would result in
|
|
97
|
+
|
|
98
|
+
"\"unsafe string\""
|
|
99
|
+
|
|
100
|
+
### unsafe(val)
|
|
101
|
+
|
|
102
|
+
Unescapes the string `val`
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
exports.parse = exports.decode = decode
|
|
2
|
+
|
|
3
|
+
exports.stringify = exports.encode = encode
|
|
4
|
+
|
|
5
|
+
exports.safe = safe
|
|
6
|
+
exports.unsafe = unsafe
|
|
7
|
+
|
|
8
|
+
var eol = typeof process !== 'undefined' &&
|
|
9
|
+
process.platform === 'win32' ? '\r\n' : '\n'
|
|
10
|
+
|
|
11
|
+
function encode (obj, opt) {
|
|
12
|
+
var children = []
|
|
13
|
+
var out = ''
|
|
14
|
+
|
|
15
|
+
if (typeof opt === 'string') {
|
|
16
|
+
opt = {
|
|
17
|
+
section: opt,
|
|
18
|
+
whitespace: false,
|
|
19
|
+
}
|
|
20
|
+
} else {
|
|
21
|
+
opt = opt || {}
|
|
22
|
+
opt.whitespace = opt.whitespace === true
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var separator = opt.whitespace ? ' = ' : '='
|
|
26
|
+
|
|
27
|
+
Object.keys(obj).forEach(function (k, _, __) {
|
|
28
|
+
var val = obj[k]
|
|
29
|
+
if (val && Array.isArray(val)) {
|
|
30
|
+
val.forEach(function (item) {
|
|
31
|
+
out += safe(k + '[]') + separator + safe(item) + '\n'
|
|
32
|
+
})
|
|
33
|
+
} else if (val && typeof val === 'object')
|
|
34
|
+
children.push(k)
|
|
35
|
+
else
|
|
36
|
+
out += safe(k) + separator + safe(val) + eol
|
|
37
|
+
})
|
|
38
|
+
|
|
39
|
+
if (opt.section && out.length)
|
|
40
|
+
out = '[' + safe(opt.section) + ']' + eol + out
|
|
41
|
+
|
|
42
|
+
children.forEach(function (k, _, __) {
|
|
43
|
+
var nk = dotSplit(k).join('\\.')
|
|
44
|
+
var section = (opt.section ? opt.section + '.' : '') + nk
|
|
45
|
+
var child = encode(obj[k], {
|
|
46
|
+
section: section,
|
|
47
|
+
whitespace: opt.whitespace,
|
|
48
|
+
})
|
|
49
|
+
if (out.length && child.length)
|
|
50
|
+
out += eol
|
|
51
|
+
|
|
52
|
+
out += child
|
|
53
|
+
})
|
|
54
|
+
|
|
55
|
+
return out
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function dotSplit (str) {
|
|
59
|
+
return str.replace(/\1/g, '\u0002LITERAL\\1LITERAL\u0002')
|
|
60
|
+
.replace(/\\\./g, '\u0001')
|
|
61
|
+
.split(/\./).map(function (part) {
|
|
62
|
+
return part.replace(/\1/g, '\\.')
|
|
63
|
+
.replace(/\2LITERAL\\1LITERAL\2/g, '\u0001')
|
|
64
|
+
})
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
function decode (str) {
|
|
68
|
+
var out = {}
|
|
69
|
+
var p = out
|
|
70
|
+
var section = null
|
|
71
|
+
// section |key = value
|
|
72
|
+
var re = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i
|
|
73
|
+
var lines = str.split(/[\r\n]+/g)
|
|
74
|
+
|
|
75
|
+
lines.forEach(function (line, _, __) {
|
|
76
|
+
if (!line || line.match(/^\s*[;#]/))
|
|
77
|
+
return
|
|
78
|
+
var match = line.match(re)
|
|
79
|
+
if (!match)
|
|
80
|
+
return
|
|
81
|
+
if (match[1] !== undefined) {
|
|
82
|
+
section = unsafe(match[1])
|
|
83
|
+
if (section === '__proto__') {
|
|
84
|
+
// not allowed
|
|
85
|
+
// keep parsing the section, but don't attach it.
|
|
86
|
+
p = {}
|
|
87
|
+
return
|
|
88
|
+
}
|
|
89
|
+
p = out[section] = out[section] || {}
|
|
90
|
+
return
|
|
91
|
+
}
|
|
92
|
+
var key = unsafe(match[2])
|
|
93
|
+
if (key === '__proto__')
|
|
94
|
+
return
|
|
95
|
+
var value = match[3] ? unsafe(match[4]) : true
|
|
96
|
+
switch (value) {
|
|
97
|
+
case 'true':
|
|
98
|
+
case 'false':
|
|
99
|
+
case 'null': value = JSON.parse(value)
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// Convert keys with '[]' suffix to an array
|
|
103
|
+
if (key.length > 2 && key.slice(-2) === '[]') {
|
|
104
|
+
key = key.substring(0, key.length - 2)
|
|
105
|
+
if (key === '__proto__')
|
|
106
|
+
return
|
|
107
|
+
if (!p[key])
|
|
108
|
+
p[key] = []
|
|
109
|
+
else if (!Array.isArray(p[key]))
|
|
110
|
+
p[key] = [p[key]]
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// safeguard against resetting a previously defined
|
|
114
|
+
// array by accidentally forgetting the brackets
|
|
115
|
+
if (Array.isArray(p[key]))
|
|
116
|
+
p[key].push(value)
|
|
117
|
+
else
|
|
118
|
+
p[key] = value
|
|
119
|
+
})
|
|
120
|
+
|
|
121
|
+
// {a:{y:1},"a.b":{x:2}} --> {a:{y:1,b:{x:2}}}
|
|
122
|
+
// use a filter to return the keys that have to be deleted.
|
|
123
|
+
Object.keys(out).filter(function (k, _, __) {
|
|
124
|
+
if (!out[k] ||
|
|
125
|
+
typeof out[k] !== 'object' ||
|
|
126
|
+
Array.isArray(out[k]))
|
|
127
|
+
return false
|
|
128
|
+
|
|
129
|
+
// see if the parent section is also an object.
|
|
130
|
+
// if so, add it to that, and mark this one for deletion
|
|
131
|
+
var parts = dotSplit(k)
|
|
132
|
+
var p = out
|
|
133
|
+
var l = parts.pop()
|
|
134
|
+
var nl = l.replace(/\\\./g, '.')
|
|
135
|
+
parts.forEach(function (part, _, __) {
|
|
136
|
+
if (part === '__proto__')
|
|
137
|
+
return
|
|
138
|
+
if (!p[part] || typeof p[part] !== 'object')
|
|
139
|
+
p[part] = {}
|
|
140
|
+
p = p[part]
|
|
141
|
+
})
|
|
142
|
+
if (p === out && nl === l)
|
|
143
|
+
return false
|
|
144
|
+
|
|
145
|
+
p[nl] = out[k]
|
|
146
|
+
return true
|
|
147
|
+
}).forEach(function (del, _, __) {
|
|
148
|
+
delete out[del]
|
|
149
|
+
})
|
|
150
|
+
|
|
151
|
+
return out
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
function isQuoted (val) {
|
|
155
|
+
return (val.charAt(0) === '"' && val.slice(-1) === '"') ||
|
|
156
|
+
(val.charAt(0) === "'" && val.slice(-1) === "'")
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
function safe (val) {
|
|
160
|
+
return (typeof val !== 'string' ||
|
|
161
|
+
val.match(/[=\r\n]/) ||
|
|
162
|
+
val.match(/^\[/) ||
|
|
163
|
+
(val.length > 1 &&
|
|
164
|
+
isQuoted(val)) ||
|
|
165
|
+
val !== val.trim())
|
|
166
|
+
? JSON.stringify(val)
|
|
167
|
+
: val.replace(/;/g, '\\;').replace(/#/g, '\\#')
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
function unsafe (val, doUnesc) {
|
|
171
|
+
val = (val || '').trim()
|
|
172
|
+
if (isQuoted(val)) {
|
|
173
|
+
// remove the single quotes before calling JSON.parse
|
|
174
|
+
if (val.charAt(0) === "'")
|
|
175
|
+
val = val.substr(1, val.length - 2)
|
|
176
|
+
|
|
177
|
+
try {
|
|
178
|
+
val = JSON.parse(val)
|
|
179
|
+
} catch (_) {}
|
|
180
|
+
} else {
|
|
181
|
+
// walk the val to find the first not-escaped ; character
|
|
182
|
+
var esc = false
|
|
183
|
+
var unesc = ''
|
|
184
|
+
for (var i = 0, l = val.length; i < l; i++) {
|
|
185
|
+
var c = val.charAt(i)
|
|
186
|
+
if (esc) {
|
|
187
|
+
if ('\\;#'.indexOf(c) !== -1)
|
|
188
|
+
unesc += c
|
|
189
|
+
else
|
|
190
|
+
unesc += '\\' + c
|
|
191
|
+
|
|
192
|
+
esc = false
|
|
193
|
+
} else if (';#'.indexOf(c) !== -1)
|
|
194
|
+
break
|
|
195
|
+
else if (c === '\\')
|
|
196
|
+
esc = true
|
|
197
|
+
else
|
|
198
|
+
unesc += c
|
|
199
|
+
}
|
|
200
|
+
if (esc)
|
|
201
|
+
unesc += '\\'
|
|
202
|
+
|
|
203
|
+
return unesc.trim()
|
|
204
|
+
}
|
|
205
|
+
return val
|
|
206
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
|
|
3
|
+
"name": "ini",
|
|
4
|
+
"description": "An ini encoder/decoder for node",
|
|
5
|
+
"version": "1.3.8",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git://github.com/isaacs/ini.git"
|
|
9
|
+
},
|
|
10
|
+
"main": "ini.js",
|
|
11
|
+
"scripts": {
|
|
12
|
+
"eslint": "eslint",
|
|
13
|
+
"lint": "npm run eslint -- ini.js test/*.js",
|
|
14
|
+
"lintfix": "npm run lint -- --fix",
|
|
15
|
+
"test": "tap",
|
|
16
|
+
"posttest": "npm run lint",
|
|
17
|
+
"preversion": "npm test",
|
|
18
|
+
"postversion": "npm publish",
|
|
19
|
+
"prepublishOnly": "git push origin --follow-tags"
|
|
20
|
+
},
|
|
21
|
+
"devDependencies": {
|
|
22
|
+
"eslint": "^7.9.0",
|
|
23
|
+
"eslint-plugin-import": "^2.22.0",
|
|
24
|
+
"eslint-plugin-node": "^11.1.0",
|
|
25
|
+
"eslint-plugin-promise": "^4.2.1",
|
|
26
|
+
"eslint-plugin-standard": "^4.0.1",
|
|
27
|
+
"tap": "14"
|
|
28
|
+
},
|
|
29
|
+
"license": "ISC",
|
|
30
|
+
"files": [
|
|
31
|
+
"ini.js"
|
|
32
|
+
]
|
|
33
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"root": true,
|
|
3
|
+
|
|
4
|
+
"extends": "@ljharb/eslint-config/node/0.4",
|
|
5
|
+
|
|
6
|
+
"rules": {
|
|
7
|
+
"array-element-newline": 0,
|
|
8
|
+
"complexity": 0,
|
|
9
|
+
"func-style": [2, "declaration"],
|
|
10
|
+
"max-lines-per-function": 0,
|
|
11
|
+
"max-nested-callbacks": 1,
|
|
12
|
+
"max-statements-per-line": 1,
|
|
13
|
+
"max-statements": 0,
|
|
14
|
+
"multiline-comment-style": 0,
|
|
15
|
+
"no-continue": 1,
|
|
16
|
+
"no-param-reassign": 1,
|
|
17
|
+
"no-restricted-syntax": 1,
|
|
18
|
+
"object-curly-newline": 0,
|
|
19
|
+
},
|
|
20
|
+
|
|
21
|
+
"overrides": [
|
|
22
|
+
{
|
|
23
|
+
"files": "test/**",
|
|
24
|
+
"rules": {
|
|
25
|
+
"camelcase": 0,
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
]
|
|
29
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# These are supported funding model platforms
|
|
2
|
+
|
|
3
|
+
github: [ljharb]
|
|
4
|
+
patreon: # Replace with a single Patreon username
|
|
5
|
+
open_collective: # Replace with a single Open Collective username
|
|
6
|
+
ko_fi: # Replace with a single Ko-fi username
|
|
7
|
+
tidelift: npm/minimist
|
|
8
|
+
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
|
9
|
+
liberapay: # Replace with a single Liberapay username
|
|
10
|
+
issuehunt: # Replace with a single IssueHunt username
|
|
11
|
+
otechie: # Replace with a single Otechie username
|
|
12
|
+
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|