diff --git a/nongnu/packages/claude-code.scm b/nongnu/packages/claude-code.scm new file mode 100644 index 00000000..8eb1eeeb --- /dev/null +++ b/nongnu/packages/claude-code.scm @@ -0,0 +1,3414 @@ +;; Auto-generated Node.js packages for claude-code-acp +;; Generated by generate-guix2.py +;; +;; NOTE: @anthropic-ai/claude-agent-sdk has a proprietary license. +;; See . +;; +;; Everything else is free software--but we keep it together +;; in this file to be able to update it easier. + +(define-module (nongnu packages claude-code) + #:use-module (gnu packages base) + #:use-module (gnu packages bash) + #:use-module (gnu packages bootstrap) + #:use-module (gnu packages gcc) + #:use-module (gnu packages node) + #:use-module (guix build-system copy) + #:use-module (guix build-system node) + #:use-module (guix download) + #:use-module (guix gexp) + #:use-module (guix packages) + #:use-module ((guix licenses) #:prefix license:) + #:use-module ((nonguix licenses) #:prefix license:) + #:use-module (nongnu packages node) + #:use-module (ice-9 match)) + +(define node-mime-db + (package + (name "node-mime-db") + (version "1.54.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/mime-db/-/mime-db-" + version ".tgz")) + (sha256 + (base32 "0864s7g498w1f95yvgq0ayqlgpb8x49jfb80qmcbvsnhcm70a89b")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies)))) + (add-after 'delete-dev-dependencies 'delete-build-scripts + (lambda _ + (with-atomic-json-file-replacement + (lambda (pkg) + (map (lambda (kv) + (if (equal? (car kv) "scripts") + (cons "scripts" + (filter + (lambda (s) + (not + (member (car s) + '("build" "prepare" + "prepack" "postinstall")))) + (cdr kv))) + kv)) + pkg))))) + (delete 'build)))) + (home-page "https://www.npmjs.com/package/mime-db") + (synopsis "MIME type database") + (description "This package provides a comprehensive database of MIME types and their +associated file extensions.") + (license license:expat))) + +(define node-mime-types + (package + (name "node-mime-types") + (version "3.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/mime-types/-/mime-types-" + version ".tgz")) + (sha256 + (base32 "1b6j7px7npv0gli3v249m5a1rc2m8x3qxxpva23zy0y3af1x579g")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-mime-db)) + (home-page "https://www.npmjs.com/package/mime-types") + (synopsis "MIME type lookup utilities") + (description "This package provides utilities to look up MIME types by file +extension and vice versa.") + (license license:expat))) + +(define node-negotiator + (package + (name "node-negotiator") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/negotiator/-/negotiator-" + version ".tgz")) + (sha256 + (base32 "015w5p5p4sb02cd9zq20mp7l32jspq206p6d4g355b603ppdz8mm")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/negotiator") + (synopsis "HTTP content negotiation") + (description "This package provides HTTP content negotiation for selecting response +formats based on Accept headers.") + (license license:expat))) + +(define node-accepts + (package + (name "node-accepts") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/accepts/-/accepts-" + version ".tgz")) + (sha256 + (base32 "0hi56wcavwsv8s4mpvks7gywmjdiqcqa0a91vga8rpw8gmgr2g8p")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-mime-types + node-negotiator)) + (home-page "https://www.npmjs.com/package/accepts") + (synopsis "Higher-level HTTP content negotiation") + (description "This package provides higher-level HTTP content negotiation for +Node.js, building on the @code{negotiator} package to select the best +response type based on client preferences.") + (license license:expat))) + +(define node-fast-deep-equal + (package + (name "node-fast-deep-equal") + (version "3.1.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-" + version ".tgz")) + (sha256 + (base32 "13vvwib6za4zh7054n3fg86y127ig3jb0djqz31qsqr71yca06dh")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies)))) + (add-after 'delete-dev-dependencies 'delete-build-scripts + (lambda _ + (with-atomic-json-file-replacement + (lambda (pkg) + (map (lambda (kv) + (if (equal? (car kv) "scripts") + (cons "scripts" + (filter + (lambda (s) + (not + (member (car s) + '("build" "prepare" + "prepack" "postinstall")))) + (cdr kv))) + kv)) + pkg))))) + (delete 'build)))) + (home-page "https://www.npmjs.com/package/fast-deep-equal") + (synopsis "Fast deep equality comparison") + (description "This package provides a fast deep equality comparison function for +JavaScript objects and arrays.") + (license license:expat))) + +(define node-fast-uri + (package + (name "node-fast-uri") + (version "3.1.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/fast-uri/-/fast-uri-" + version ".tgz")) + (sha256 + (base32 "07aqhdd91rygicxava81j74gz5isg3656x3vhrgivk6q9dmkrlrs")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/fast-uri") + (synopsis "RFC 3986 URI parser") + (description "This package provides a dependency-free RFC 3986 URI parser and +serializer with high performance.") + (license license:bsd-3))) + +(define node-json-schema-traverse + (package + (name "node-json-schema-traverse") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-" + version ".tgz")) + (sha256 + (base32 "08cvg5wysj4r0ax2lvhx7j74l7da8w75klz5pmsc57zj5mi24ch2")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/json-schema-traverse") + (synopsis "Traverse JSON Schema objects") + (description "This package traverses JSON Schema objects and calls a callback for +each schema node.") + (license license:expat))) + +(define node-require-from-string + (package + (name "node-require-from-string") + (version "2.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/require-from-string/-/require-from-string-" + version ".tgz")) + (sha256 + (base32 "10ldp2bzb86czf47kmvirn9x2976yh6g0my7l1spg3whcm4llsfb")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/require-from-string") + (synopsis "Require module from string") + (description "This package allows requiring a Node.js module directly from a string +of source code.") + (license license:expat))) + +(define node-ajv + (package + (name "node-ajv") + (version "8.17.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/ajv/-/ajv-" + version ".tgz")) + (sha256 + (base32 "0203fwcg3y0bmzrhh1crgigrxzwvn6kr5flf2yzlv66cp1wax7gh")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies)))) + (add-after 'delete-dev-dependencies 'delete-build-scripts + (lambda _ + (with-atomic-json-file-replacement + (lambda (pkg) + (map (lambda (kv) + (if (equal? (car kv) "scripts") + (cons "scripts" + (filter + (lambda (s) + (not + (member (car s) + '("build" "prepare" + "prepack" "postinstall")))) + (cdr kv))) + kv)) + pkg))))) + (delete 'build)))) + (inputs + (list + node-fast-deep-equal + node-fast-uri + node-json-schema-traverse + node-require-from-string)) + (home-page "https://www.npmjs.com/package/ajv") + (synopsis "JSON Schema validator for JavaScript") + (description "Ajv is a JSON Schema validator for JavaScript that compiles schemas to +optimized validation functions for high performance.") + (license license:expat))) + +(define node-ajv-formats + (package + (name "node-ajv-formats") + (version "3.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/ajv-formats/-/ajv-formats-" + version ".tgz")) + (sha256 + (base32 "1idca2hn65drqp1bc4v696bqvnv3x08nj1lrj791yf37sc7rimpl")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies)))) + (add-after 'delete-dev-dependencies 'delete-build-scripts + (lambda _ + (with-atomic-json-file-replacement + (lambda (pkg) + (map (lambda (kv) + (if (equal? (car kv) "scripts") + (cons "scripts" + (filter + (lambda (s) + (not + (member (car s) + '("build" "prepare" + "prepack" "postinstall")))) + (cdr kv))) + kv)) + pkg))))) + (delete 'build)))) + (inputs + (list + node-ajv)) + (home-page "https://www.npmjs.com/package/ajv-formats") + (synopsis "Format validation plugins for Ajv") + (description "This package provides format validation plugins for Ajv version 7 and +later, adding support for formats like email, uri, date-time, and +other string validation patterns.") + (license license:expat))) + +(define node-bytes + (package + (name "node-bytes") + (version "3.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/bytes/-/bytes-" + version ".tgz")) + (sha256 + (base32 "10f5wgg4izi14lc425v7ljr1ayk28ycdjckfxpm4bnj0bankfpl3")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/bytes") + (synopsis "Parse byte strings to numbers") + (description "This package provides utilities to parse human-readable byte strings +like @code{1kb} into numeric values and vice versa.") + (license license:expat))) + +(define node-content-type + (package + (name "node-content-type") + (version "1.0.5") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/content-type/-/content-type-" + version ".tgz")) + (sha256 + (base32 "1j0jpnlxjrdpbnq7s1h1xga2n8562j5g6612f7fl40jz82cd0cdc")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/content-type") + (synopsis "Parse HTTP Content-Type headers") + (description "This package creates and parses HTTP Content-Type headers according to +RFC 7231.") + (license license:expat))) + +(define node-ms + (package + (name "node-ms") + (version "2.1.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/ms/-/ms-" + version ".tgz")) + (sha256 + (base32 "1ii24v83yrryzmj9p369qxmpr53337kkqbdaklpmbv9hwlanwqgn")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/ms") + (synopsis "Millisecond conversion utility") + (description "This package converts human-readable time strings like @code{2 days} +to milliseconds and vice versa.") + (license license:expat))) + +(define node-debug + (package + (name "node-debug") + (version "4.4.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/debug/-/debug-" + version ".tgz")) + (sha256 + (base32 "19z48fpic8jbb2833gh3bviylzp9512i2dsqhxd91s3fjjfarhc9")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-ms)) + (home-page "https://www.npmjs.com/package/debug") + (synopsis "Lightweight debugging utility") + (description "This package provides a lightweight debugging utility that uses +environment variables to control which debug messages are displayed.") + (license license:expat))) + +(define node-depd + (package + (name "node-depd") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/depd/-/depd-" + version ".tgz")) + (sha256 + (base32 "19yl2piwl0ci2lvn5j5sk0z4nbldj6apsrqds3ql2d09aqh8m998")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/depd") + (synopsis "Deprecation utilities") + (description "This package provides utilities for marking functions and properties +as deprecated with customizable warning messages.") + (license license:expat))) + +(define node-inherits + (package + (name "node-inherits") + (version "2.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/inherits/-/inherits-" + version ".tgz")) + (sha256 + (base32 "1bxg4igfni2hymabg8bkw86wd3qhhzhsswran47sridk3dnbqkfr")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/inherits") + (synopsis "Browser-compatible prototype inheritance") + (description "This package provides browser-compatible prototype inheritance that +matches Node.js util.inherits behavior.") + (license license:isc))) + +(define node-setprototypeof + (package + (name "node-setprototypeof") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/setprototypeof/-/setprototypeof-" + version ".tgz")) + (sha256 + (base32 "1qnzx8bl8h1vga28pf59mjd52wvh1hf3ma18d4zpwmijlrpcqfy8")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/setprototypeof") + (synopsis "Cross-platform Object.setPrototypeOf") + (description "This package provides a cross-platform implementation of +Object.setPrototypeOf.") + (license license:isc))) + +(define node-statuses + (package + (name "node-statuses") + (version "2.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/statuses/-/statuses-" + version ".tgz")) + (sha256 + (base32 "1q4zjhjprvhdjc32px6b4b0i3ffn1mbqygp7yilbb204f4j0m06a")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies)))) + (add-after 'delete-dev-dependencies 'delete-build-scripts + (lambda _ + (with-atomic-json-file-replacement + (lambda (pkg) + (map (lambda (kv) + (if (equal? (car kv) "scripts") + (cons "scripts" + (filter + (lambda (s) + (not + (member (car s) + '("build" "prepare" + "prepack" "postinstall")))) + (cdr kv))) + kv)) + pkg))))) + (delete 'build)))) + (home-page "https://www.npmjs.com/package/statuses") + (synopsis "HTTP status code utilities") + (description "This package provides a utility for working with HTTP status codes and +their associated messages.") + (license license:expat))) + +(define node-toidentifier + (package + (name "node-toidentifier") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/toidentifier/-/toidentifier-" + version ".tgz")) + (sha256 + (base32 "021fp42m51qbqbqabwhxky8bkfkkwza65lqiz7d2gqwd91vwqvqq")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/toidentifier") + (synopsis "Convert strings to identifiers") + (description "This package converts strings to valid JavaScript identifiers.") + (license license:expat))) + +(define node-http-errors + (package + (name "node-http-errors") + (version "2.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/http-errors/-/http-errors-" + version ".tgz")) + (sha256 + (base32 "0qbc38g805qi9bcywg082sz8kdgxkq4fssgjlfcrc1xg3fqvnqmd")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-depd + node-inherits + node-setprototypeof + node-statuses + node-toidentifier)) + (home-page "https://www.npmjs.com/package/http-errors") + (synopsis "Create HTTP error objects") + (description "This package creates HTTP error objects with proper status codes and +messages for use in web applications.") + (license license:expat))) + +(define node-safer-buffer + (package + (name "node-safer-buffer") + (version "2.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/safer-buffer/-/safer-buffer-" + version ".tgz")) + (sha256 + (base32 "1cx383s7vchfac8jlg3mnb820hkgcvhcpfn9w4f0g61vmrjjz0bq")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/safer-buffer") + (synopsis "Safe Buffer API") + (description "This package provides a safe Buffer API that prevents security +vulnerabilities from older Buffer constructors.") + (license license:expat))) + +(define node-iconv-lite + (package + (name "node-iconv-lite") + (version "0.7.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/iconv-lite/-/iconv-lite-" + version ".tgz")) + (sha256 + (base32 "0dvwaai6gn2003j57szvq8dlhh71caivvh3fggg59ljjjb93p0p3")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-safer-buffer)) + (home-page "https://www.npmjs.com/package/iconv-lite") + (synopsis "Character encoding conversion") + (description "This package converts between character encodings in pure JavaScript +without native dependencies.") + (license license:expat))) + +(define node-ee-first + (package + (name "node-ee-first") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/ee-first/-/ee-first-" + version ".tgz")) + (sha256 + (base32 "175r500n567a04qmswzw5hkgdnika3dvn63n284jlar2gvmyhj2i")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/ee-first") + (synopsis "Return first event from multiple emitters") + (description "This package returns the first event emitted from a set of event +emitters, useful for handling race conditions between multiple async +operations.") + (license license:expat))) + +(define node-on-finished + (package + (name "node-on-finished") + (version "2.4.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/on-finished/-/on-finished-" + version ".tgz")) + (sha256 + (base32 "02mxvpahgv07xaih7lmpn8wic9v4jph3fir0qpd6qf4w0kql4kgn")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-ee-first)) + (home-page "https://www.npmjs.com/package/on-finished") + (synopsis "Execute callback when request finishes") + (description "This package executes a callback when an HTTP request closes, +finishes, or errors.") + (license license:expat))) + +(define node-es-errors + (package + (name "node-es-errors") + (version "1.3.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/es-errors/-/es-errors-" + version ".tgz")) + (sha256 + (base32 "14q935xgv4cblmy8lk3brx4ypwxpgrid77r1lfnbilsbbg1x2kfi")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/es-errors") + (synopsis "Cached JavaScript Error constructors") + (description "This package provides cached references to JavaScript Error +constructors for reliable error type checking.") + (license license:expat))) + +(define node-object-inspect + (package + (name "node-object-inspect") + (version "1.13.4") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/object-inspect/-/object-inspect-" + version ".tgz")) + (sha256 + (base32 "1gwh5vk75w4crskqjsn4ps9z8hqqpjp58d8y82q4b2px79x9c943")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/object-inspect") + (synopsis "String representations of objects") + (description "This package generates string representations of JavaScript objects +for debugging purposes.") + (license license:expat))) + +(define node-side-channel-list + (package + (name "node-side-channel-list") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/side-channel-list/-/side-channel-list-" + version ".tgz")) + (sha256 + (base32 "1k8wgnr29504nxwmh9p5d88462zdvc2y9nswjjlsrj7bqaq4w1sq")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-es-errors + node-object-inspect)) + (home-page "https://www.npmjs.com/package/side-channel-list") + (synopsis "Side channel using linked list") + (description "This package stores metadata about JavaScript values in a side channel +using a linked list.") + (license license:expat))) + +(define node-function-bind + (package + (name "node-function-bind") + (version "1.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/function-bind/-/function-bind-" + version ".tgz")) + (sha256 + (base32 "1ah7x13hmwwfslk72h2rs21c5vqnsxyzqifl2x7lb8823djh4i3h")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/function-bind") + (synopsis "Function.prototype.bind implementation") + (description "This package provides an implementation of Function.prototype.bind for +older JavaScript environments.") + (license license:expat))) + +(define node-call-bind-apply-helpers + (package + (name "node-call-bind-apply-helpers") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-" + version ".tgz")) + (sha256 + (base32 "0b3xqfkmcxhancq8h4cd3282ryg9h5rnf2h2530zbvdbvgwrygh7")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-es-errors + node-function-bind)) + (home-page "https://www.npmjs.com/package/call-bind-apply-helpers") + (synopsis "Helpers for Function call/apply/bind") + (description "This package provides helper functions for working with +Function.prototype.call, apply, and bind in a robust way.") + (license license:expat))) + +(define node-es-define-property + (package + (name "node-es-define-property") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/es-define-property/-/es-define-property-" + version ".tgz")) + (sha256 + (base32 "1xw50gnqd3d7nyfcl5a5lzrhxa0sjq7qyzaw1n5hld1166qvi1jr")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/es-define-property") + (synopsis "Cross-platform Object.defineProperty") + (description "This package provides a cross-platform wrapper for +Object.defineProperty that works in older JavaScript environments.") + (license license:expat))) + +(define node-es-object-atoms + (package + (name "node-es-object-atoms") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-" + version ".tgz")) + (sha256 + (base32 "1kkrwpp6nz2nc32zxin52xnngyg7qg38c5ljy5xyx2l1azby861y")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-es-errors)) + (home-page "https://www.npmjs.com/package/es-object-atoms") + (synopsis "ES Object-related primitives") + (description "This package provides ES Object-related primitives like Object, +ToObject, and RequireObjectCoercible for JavaScript polyfills.") + (license license:expat))) + +(define node-gopd + (package + (name "node-gopd") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/gopd/-/gopd-" + version ".tgz")) + (sha256 + (base32 "10nskxn4cwbfd9i9nzy2r7pf0zm46j9z7dzvd0adr1fj9pgd0dnm")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/gopd") + (synopsis "Object.getOwnPropertyDescriptor wrapper") + (description "This package provides Object.getOwnPropertyDescriptor with workarounds +for browser bugs.") + (license license:expat))) + +(define node-dunder-proto + (package + (name "node-dunder-proto") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/dunder-proto/-/dunder-proto-" + version ".tgz")) + (sha256 + (base32 "1nyg4r9qjc33kmgixdi5xpb0qsjivy2dcn8wjbwhvhc2ihi444zd")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-call-bind-apply-helpers + node-es-errors + node-gopd)) + (home-page "https://www.npmjs.com/package/dunder-proto") + (synopsis "Access __proto__ safely") + (description "This package provides access to the @code{__proto__} accessor in a +call-bound way that works across JavaScript environments.") + (license license:expat))) + +(define node-get-proto + (package + (name "node-get-proto") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/get-proto/-/get-proto-" + version ".tgz")) + (sha256 + (base32 "1086swsp92367j7m6canvgf6zwghh0iqr9f2bwndh7qzzcmcab7b")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-dunder-proto + node-es-object-atoms)) + (home-page "https://www.npmjs.com/package/get-proto") + (synopsis "Get object prototype robustly") + (description "This package provides a robust way to get the prototype of an object +across different JavaScript environments.") + (license license:expat))) + +(define node-has-symbols + (package + (name "node-has-symbols") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/has-symbols/-/has-symbols-" + version ".tgz")) + (sha256 + (base32 "1ig7dbwgg0kbjg2wc7arp7a28g6l2rwc27lsvhnxzf185x9wfq24")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/has-symbols") + (synopsis "Detect Symbol support") + (description "This package detects whether the JavaScript environment has native +Symbol support.") + (license license:expat))) + +(define node-hasown + (package + (name "node-hasown") + (version "2.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/hasown/-/hasown-" + version ".tgz")) + (sha256 + (base32 "0zc0za6zy8y2iwy31ayzwmi4j912j382iwr9xsv09bhirp9c9kah")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-function-bind)) + (home-page "https://www.npmjs.com/package/hasown") + (synopsis "ES3-compatible Object.hasOwn") + (description "This package provides a robust ES3-compatible implementation of +Object.hasOwn.") + (license license:expat))) + +(define node-math-intrinsics + (package + (name "node-math-intrinsics") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-" + version ".tgz")) + (sha256 + (base32 "19s3yi9ziz007ymq0r1k2xk1nrg2m5lc9kw8vy3c0ga9fmaw7hmq")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/math-intrinsics") + (synopsis "ES Math intrinsics") + (description "This package provides robust cached access to ES Math intrinsics and +helper functions.") + (license license:expat))) + +(define node-get-intrinsic + (package + (name "node-get-intrinsic") + (version "1.3.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-" + version ".tgz")) + (sha256 + (base32 "0i05g3xvqgv16ss19k3jprfnkqsln2n4m7wgn3xldzh09vjjfbk6")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-call-bind-apply-helpers + node-es-define-property + node-es-errors + node-es-object-atoms + node-function-bind + node-get-proto + node-gopd + node-has-symbols + node-hasown + node-math-intrinsics)) + (home-page "https://www.npmjs.com/package/get-intrinsic") + (synopsis "Safe access to JavaScript intrinsics") + (description "This package provides robust access to JavaScript language intrinsics +that is safe from prototype pollution attacks.") + (license license:expat))) + +(define node-call-bound + (package + (name "node-call-bound") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/call-bound/-/call-bound-" + version ".tgz")) + (sha256 + (base32 "0cmxdglg3lrrz7apqgvqbkd57jicr98fxwhi92rvkwgd5x4ny21j")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-call-bind-apply-helpers + node-get-intrinsic)) + (home-page "https://www.npmjs.com/package/call-bound") + (synopsis "Robustly bound JavaScript built-ins") + (description "This package provides robustly bound versions of JavaScript built-in +methods that cannot be tampered with by modifying prototypes.") + (license license:expat))) + +(define node-side-channel-map + (package + (name "node-side-channel-map") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/side-channel-map/-/side-channel-map-" + version ".tgz")) + (sha256 + (base32 "1mhnf4m2zdv1ikvjk74v6d7fhr2bzn41a6w95nbcq2rh45j6n99v")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-call-bound + node-es-errors + node-get-intrinsic + node-object-inspect)) + (home-page "https://www.npmjs.com/package/side-channel-map") + (synopsis "Side channel using Map") + (description "This package stores metadata about JavaScript values in a side channel +using a Map.") + (license license:expat))) + +(define node-side-channel-weakmap + (package + (name "node-side-channel-weakmap") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-" + version ".tgz")) + (sha256 + (base32 "0vnhs2whvv59nkqdsfpmd1fwrcjzh2ka5z8giy68kbg7qpq58aiv")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-call-bound + node-es-errors + node-get-intrinsic + node-object-inspect + node-side-channel-map)) + (home-page "https://www.npmjs.com/package/side-channel-weakmap") + (synopsis "Side channel using WeakMap") + (description "This package stores metadata about JavaScript values in a side channel +using a WeakMap.") + (license license:expat))) + +(define node-side-channel + (package + (name "node-side-channel") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/side-channel/-/side-channel-" + version ".tgz")) + (sha256 + (base32 "11d40rvhvkj4r1dis1vmzi0gc6qnvw90jkc2ppz2w90bk5xyg4w4")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-es-errors + node-object-inspect + node-side-channel-list + node-side-channel-map + node-side-channel-weakmap)) + (home-page "https://www.npmjs.com/package/side-channel") + (synopsis "Side channel storage for values") + (description "This package stores metadata about JavaScript values without modifying +them, using the best available storage mechanism.") + (license license:expat))) + +(define node-qs + (package + (name "node-qs") + (version "6.14.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/qs/-/qs-" + version ".tgz")) + (sha256 + (base32 "16saymrsxrwvjbilw5hm313g06a0qfjl497wgm2xhc99wbg4121h")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-side-channel)) + (home-page "https://www.npmjs.com/package/qs") + (synopsis "Querystring parser with nesting support") + (description "This package provides a querystring parser that supports nested +objects and arrays with configurable depth limits.") + (license license:bsd-3))) + +(define node-unpipe + (package + (name "node-unpipe") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/unpipe/-/unpipe-" + version ".tgz")) + (sha256 + (base32 "1dnzbqfmchls4jyvkw0wnkc09pig98y66zzsy3lizgyls435xyrd")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/unpipe") + (synopsis "Remove pipe destinations from stream") + (description "This package removes all pipe destinations from a stream.") + (license license:expat))) + +(define node-raw-body + (package + (name "node-raw-body") + (version "3.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/raw-body/-/raw-body-" + version ".tgz")) + (sha256 + (base32 "1nqrhjp2v55z7rd13f1qlgnk6vgc4hmd9c8awnxmipina012mpk6")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-bytes + node-http-errors + node-iconv-lite + node-unpipe)) + (home-page "https://www.npmjs.com/package/raw-body") + (synopsis "Read HTTP request body") + (description "This package reads and validates the raw body of an HTTP request as a +Buffer or string.") + (license license:expat))) + +(define node-media-typer + (package + (name "node-media-typer") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/media-typer/-/media-typer-" + version ".tgz")) + (sha256 + (base32 "1ghrgjcv59qna3h37himz6p7qsby9vki3gjrnv7r5z0y3lg57p5m")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/media-typer") + (synopsis "RFC 6838 media type parser") + (description "This package parses and formats RFC 6838 media type strings like +@code{application/json}.") + (license license:expat))) + +(define node-type-is + (package + (name "node-type-is") + (version "2.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/type-is/-/type-is-" + version ".tgz")) + (sha256 + (base32 "1pbm95wdl9hmm93gmbdxyn00887l4r7jhia6dzgl99d89sx2kgqq")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-content-type + node-media-typer + node-mime-types)) + (home-page "https://www.npmjs.com/package/type-is") + (synopsis "Check HTTP request content type") + (description "This package checks the content type of an HTTP request against a list +of acceptable types.") + (license license:expat))) + +(define node-body-parser + (package + (name "node-body-parser") + (version "2.2.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/body-parser/-/body-parser-" + version ".tgz")) + (sha256 + (base32 "0acv51hh9nbw6f5lx5374ci4ca3a3v7d7c41bif8gqpqha9csiyy")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-bytes + node-content-type + node-debug + node-http-errors + node-iconv-lite + node-on-finished + node-qs + node-raw-body + node-type-is)) + (home-page "https://www.npmjs.com/package/body-parser") + (synopsis "HTTP request body parsing middleware") + (description "This package provides HTTP request body parsing middleware for Express +and other Node.js web frameworks, supporting JSON, URL-encoded, and +raw body formats.") + (license license:expat))) + +(define node-content-disposition + (package + (name "node-content-disposition") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/content-disposition/-/content-disposition-" + version ".tgz")) + (sha256 + (base32 "069ag0zxqjzkdwgpmk9xrhnz9hbrngy5annr13z7dhrnr7pyklnx")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/content-disposition") + (synopsis "Parse HTTP Content-Disposition headers") + (description "This package creates and parses HTTP Content-Disposition headers for +handling file downloads and form submissions.") + (license license:expat))) + +(define node-cookie-signature + (package + (name "node-cookie-signature") + (version "1.2.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/cookie-signature/-/cookie-signature-" + version ".tgz")) + (sha256 + (base32 "1lsk6l4501i1sil49gdwdkaj0nzr5asm5ybx1ppn17i93jpvlasd")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/cookie-signature") + (synopsis "Sign and verify cookies") + (description "This package provides functions to sign and verify cookies using HMAC- +SHA256 to prevent tampering.") + (license license:expat))) + +(define node-cookie + (package + (name "node-cookie") + (version "0.7.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/cookie/-/cookie-" + version ".tgz")) + (sha256 + (base32 "084ymsdgqj3jc00gh39cbfbmh1vval1wy2ifd88hlqqw4pw61cbn")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/cookie") + (synopsis "HTTP cookie parsing and serialization") + (description "This package provides HTTP cookie parsing and serialization for +Node.js servers.") + (license license:expat))) + +(define node-object-assign + (package + (name "node-object-assign") + (version "4.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/object-assign/-/object-assign-" + version ".tgz")) + (sha256 + (base32 "1v999sycxcp74j2pikdhyinm2d80p2bsy4nnrrnb59rv4rm74bbq")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/object-assign") + (synopsis "Object.assign ponyfill") + (description "This package provides a ponyfill for ES2015 Object.assign for older +JavaScript environments.") + (license license:expat))) + +(define node-vary + (package + (name "node-vary") + (version "1.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/vary/-/vary-" + version ".tgz")) + (sha256 + (base32 "0wbf4kmfyzc23dc0vjcmymkd1ks50z5gvv23lkkkayipf438cy3k")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/vary") + (synopsis "Manipulate HTTP Vary header") + (description "This package manipulates the HTTP Vary header to indicate which +request headers affect the response.") + (license license:expat))) + +(define node-cors + (package + (name "node-cors") + (version "2.8.5") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/cors/-/cors-" + version ".tgz")) + (sha256 + (base32 "09ny48m9i45fqn1xm03pdz4b1408qb61hvrii6qby3277w6cgnyy")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-object-assign + node-vary)) + (home-page "https://www.npmjs.com/package/cors") + (synopsis "Express CORS middleware") + (description "This package provides Express middleware for enabling Cross-Origin +Resource Sharing (CORS), allowing web pages to make requests to +different domains.") + (license license:expat))) + +(define node-path-key + (package + (name "node-path-key") + (version "3.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/path-key/-/path-key-" + version ".tgz")) + (sha256 + (base32 "14kvp849wnkg6f3dqgmcb73nnb5k6b3gxf65sgf0x0qlp6n9k2ab")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/path-key") + (synopsis "Get PATH variable name cross-platform") + (description "This package gets the correct PATH environment variable name across +different platforms.") + (license license:expat))) + +(define node-shebang-regex + (package + (name "node-shebang-regex") + (version "3.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/shebang-regex/-/shebang-regex-" + version ".tgz")) + (sha256 + (base32 "13wmb23w5srjpn9xx1c85yk5jbc5z9ypg0iz33h6nv5jdnmapnzy")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/shebang-regex") + (synopsis "Regex for shebang lines") + (description "This package provides a regular expression for matching shebang lines +in scripts.") + (license license:expat))) + +(define node-shebang-command + (package + (name "node-shebang-command") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/shebang-command/-/shebang-command-" + version ".tgz")) + (sha256 + (base32 "0vjmdpwcz23glkhlmxny8hc3x01zyr6hwf4qb3grq7m532ysbjws")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-shebang-regex)) + (home-page "https://www.npmjs.com/package/shebang-command") + (synopsis "Extract command from shebang") + (description "This package extracts the command name from a shebang line in a script +file.") + (license license:expat))) + +(define node-isexe + (package + (name "node-isexe") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/isexe/-/isexe-" + version ".tgz")) + (sha256 + (base32 "0nc3rcqjgyb9yyqajwlzzhfcqmsb682z7zinnx9qrql8w1rfiks7")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/isexe") + (synopsis "Check if file is executable") + (description "This package checks whether a file is executable, with cross-platform +support for Windows and Unix.") + (license license:isc))) + +(define node-which + (package + (name "node-which") + (version "2.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/which/-/which-" + version ".tgz")) + (sha256 + (base32 "1p2fkm4lr36s85gdjxmyr6wh86dizf0iwmffxmarcxpbvmgxyfm1")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-isexe)) + (home-page "https://www.npmjs.com/package/which") + (synopsis "Find executable in PATH") + (description "This package finds the first instance of an executable in the PATH, +similar to the Unix which command.") + (license license:isc))) + +(define node-cross-spawn + (package + (name "node-cross-spawn") + (version "7.0.6") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/cross-spawn/-/cross-spawn-" + version ".tgz")) + (sha256 + (base32 "1siqxlydjwpihy7klgd15cah56vsmxrdm3q90gndyfj1vh63530q")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-path-key + node-shebang-command + node-which)) + (home-page "https://www.npmjs.com/package/cross-spawn") + (synopsis "Cross-platform child process spawning") + (description "This package provides a cross-platform implementation of Node.js +child_process.spawn that works correctly on Windows.") + (license license:expat))) + +(define node-diff + (package + (name "node-diff") + (version "8.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/diff/-/diff-" + version ".tgz")) + (sha256 + (base32 "1wl2khyxq009m10axj5bksnpw392baqf5x3gkfbvd5ddlikqsd50")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies)))) + (add-after 'delete-dev-dependencies 'delete-build-scripts + (lambda _ + (with-atomic-json-file-replacement + (lambda (pkg) + (map (lambda (kv) + (if (equal? (car kv) "scripts") + (cons "scripts" + (filter + (lambda (s) + (not + (member (car s) + '("build" "prepare" + "prepack" "postinstall")))) + (cdr kv))) + kv)) + pkg))))) + (delete 'build)))) + (home-page "https://www.npmjs.com/package/diff") + (synopsis "Text diffing algorithms") + (description "This package provides a JavaScript implementation of text diffing +algorithms, useful for comparing strings and generating patches.") + (license license:bsd-3))) + +(define node-encodeurl + (package + (name "node-encodeurl") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/encodeurl/-/encodeurl-" + version ".tgz")) + (sha256 + (base32 "0agvpr5psd2nymhp51l5502fzifkshxxlnixl7kzkf2ii25l2blv")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/encodeurl") + (synopsis "Encode URLs to percent-encoded form") + (description "This package encodes URLs to percent-encoded form while preserving +already-encoded sequences.") + (license license:expat))) + +(define node-escape-html + (package + (name "node-escape-html") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/escape-html/-/escape-html-" + version ".tgz")) + (sha256 + (base32 "0rh35dvab1wbp87dy1m6rynbcb9rbs5kry7jk17ixyxx7if1a0d1")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/escape-html") + (synopsis "Escape strings for HTML") + (description "This package escapes special characters in strings for safe inclusion +in HTML documents.") + (license license:expat))) + +(define node-etag + (package + (name "node-etag") + (version "1.8.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/etag/-/etag-" + version ".tgz")) + (sha256 + (base32 "1bqgznlsrqcmxnhmnqkhwzcrqfaalxmfxzly1ikaplkkm5w6ragn")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/etag") + (synopsis "Generate HTTP ETag headers") + (description "This package generates HTTP ETag headers for caching, supporting both +strong and weak validators.") + (license license:expat))) + +(define node-eventsource-parser + (package + (name "node-eventsource-parser") + (version "3.0.6") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-" + version ".tgz")) + (sha256 + (base32 "1s9pjn6356yfg7qb4vv0pf77bakkl77gnavbls2828p21xyn8p24")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies)))) + (add-after 'delete-dev-dependencies 'delete-build-scripts + (lambda _ + (with-atomic-json-file-replacement + (lambda (pkg) + (map (lambda (kv) + (if (equal? (car kv) "scripts") + (cons "scripts" + (filter + (lambda (s) + (not + (member (car s) + '("build" "prepare" + "prepack" "postinstall")))) + (cdr kv))) + kv)) + pkg))))) + (delete 'build)))) + (home-page "https://www.npmjs.com/package/eventsource-parser") + (synopsis "Server-Sent Events parser") + (description "This package provides a streaming parser for Server-Sent Events (SSE) +that works in both Node.js and browsers.") + (license license:expat))) + +(define node-eventsource + (package + (name "node-eventsource") + (version "3.0.7") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/eventsource/-/eventsource-" + version ".tgz")) + (sha256 + (base32 "14hw12k1s7h7bdh5x7sdlx4ic9p4dw6mb7ppbafb6nbf36xx8qkw")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies)))) + (add-after 'delete-dev-dependencies 'delete-build-scripts + (lambda _ + (with-atomic-json-file-replacement + (lambda (pkg) + (map (lambda (kv) + (if (equal? (car kv) "scripts") + (cons "scripts" + (filter + (lambda (s) + (not + (member (car s) + '("build" "prepare" + "prepack" "postinstall")))) + (cdr kv))) + kv)) + pkg))))) + (delete 'build)))) + (inputs + (list + node-eventsource-parser)) + (home-page "https://www.npmjs.com/package/eventsource") + (synopsis "EventSource client for SSE") + (description "This package provides a W3C-compliant EventSource client for Server- +Sent Events in Node.js and browsers.") + (license license:expat))) + +(define node-parseurl + (package + (name "node-parseurl") + (version "1.3.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/parseurl/-/parseurl-" + version ".tgz")) + (sha256 + (base32 "06h2bx1rilkdir3v9jlg94r1q2fn895s0vxjjs0wx5z027x4pvsn")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/parseurl") + (synopsis "URL parsing with memoization") + (description "This package parses URLs with memoization to avoid repeated parsing of +the same URL.") + (license license:expat))) + +(define node-finalhandler + (package + (name "node-finalhandler") + (version "2.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/finalhandler/-/finalhandler-" + version ".tgz")) + (sha256 + (base32 "0wmqm14f4xd6gf6s6117sn0xgvx935bdcrxyidcv6856a7y9p512")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-debug + node-encodeurl + node-escape-html + node-on-finished + node-parseurl + node-statuses)) + (home-page "https://www.npmjs.com/package/finalhandler") + (synopsis "Final HTTP response handler") + (description "This package provides a function to handle the final response in an +HTTP server, including error handling and 404 responses.") + (license license:expat))) + +(define node-fresh + (package + (name "node-fresh") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/fresh/-/fresh-" + version ".tgz")) + (sha256 + (base32 "1mvs4wihlr6bw05h7q12771qrkwrssm26bk80ysv4qjzn1x3j25d")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/fresh") + (synopsis "HTTP response freshness testing") + (description "This package checks HTTP request headers to determine if a cached +response is still fresh.") + (license license:expat))) + +(define node-merge-descriptors + (package + (name "node-merge-descriptors") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-" + version ".tgz")) + (sha256 + (base32 "1khx20ml70ll3k69qsq8p9ybz967mykrks8ak79m46f7bwm3525f")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/merge-descriptors") + (synopsis "Merge objects by property descriptors") + (description "This package merges objects using their property descriptors rather +than just values.") + (license license:expat))) + +(define node-wrappy + (package + (name "node-wrappy") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/wrappy/-/wrappy-" + version ".tgz")) + (sha256 + (base32 "1yzx63jf27yz0bk0m78vy4y1cqzm113d2mi9h91y3cdpj46p7wxg")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/wrappy") + (synopsis "Callback wrapping utility") + (description "This package wraps callbacks to preserve their return values and +thrown errors.") + (license license:isc))) + +(define node-once + (package + (name "node-once") + (version "1.4.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/once/-/once-" + version ".tgz")) + (sha256 + (base32 "1kygzk36kdcfiqz01dhql2dk75rl256m2vlpigv9iikhlc5lclfg")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-wrappy)) + (home-page "https://www.npmjs.com/package/once") + (synopsis "Run function only once") + (description "This package wraps a function so it can only be called once, with +subsequent calls returning the first result.") + (license license:isc))) + +(define node-forwarded + (package + (name "node-forwarded") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/forwarded/-/forwarded-" + version ".tgz")) + (sha256 + (base32 "168w8dhfqp12llh2w802dm3z1fcarsacsksyvdccnpxqbzlmsnlv")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/forwarded") + (synopsis "Parse X-Forwarded-For header") + (description "This package parses the HTTP X-Forwarded-For header to extract the +chain of IP addresses from proxies.") + (license license:expat))) + +(define node-ipaddr-js + (package + (name "node-ipaddr-js") + (version "1.9.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-" + version ".tgz")) + (sha256 + (base32 "1vlg9vgdlx13dvh6h6sg3rgdbp04lkljmn6gxih43zk77xidjhbl")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/ipaddr.js") + (synopsis "IP address manipulation") + (description "This package provides utilities for parsing and manipulating IPv4 and +IPv6 addresses in JavaScript.") + (license license:expat))) + +(define node-proxy-addr + (package + (name "node-proxy-addr") + (version "2.0.7") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/proxy-addr/-/proxy-addr-" + version ".tgz")) + (sha256 + (base32 "1na6xrmlga7qjd55gfhnp7m8qg43nynzg5ds54s76kkd9zrvdld0")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-forwarded + node-ipaddr-js)) + (home-page "https://www.npmjs.com/package/proxy-addr") + (synopsis "Determine request IP through proxies") + (description "This package determines the IP address of a request through proxy +servers using trusted proxy configuration.") + (license license:expat))) + +(define node-range-parser + (package + (name "node-range-parser") + (version "1.2.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/range-parser/-/range-parser-" + version ".tgz")) + (sha256 + (base32 "09prs852snwqr9cfcrybm7ysl0z1wka9dh4dwc4v1415cvi6cllh")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/range-parser") + (synopsis "Parse HTTP Range headers") + (description "This package parses HTTP Range headers for implementing partial +content responses.") + (license license:expat))) + +(define node-is-promise + (package + (name "node-is-promise") + (version "4.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/is-promise/-/is-promise-" + version ".tgz")) + (sha256 + (base32 "19s5njn24k6ra9c4skkzjhjfaq0d1izkxxicfsw07ykn70br2f45")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/is-promise") + (synopsis "Test for promise-like objects") + (description "This package tests whether a value looks like a Promises/A+ compliant +promise.") + (license license:expat))) + +(define node-path-to-regexp + (package + (name "node-path-to-regexp") + (version "8.3.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-" + version ".tgz")) + (sha256 + (base32 "0igs3l0g1yjnvk3hrk1g86m46nm7dydvcf62kvhvdhapdi58rjl0")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies)))) + (add-after 'delete-dev-dependencies 'delete-build-scripts + (lambda _ + (with-atomic-json-file-replacement + (lambda (pkg) + (map (lambda (kv) + (if (equal? (car kv) "scripts") + (cons "scripts" + (filter + (lambda (s) + (not + (member (car s) + '("build" "prepare" + "prepack" "postinstall")))) + (cdr kv))) + kv)) + pkg))))) + (delete 'build)))) + (home-page "https://www.npmjs.com/package/path-to-regexp") + (synopsis "Convert path patterns to regexps") + (description "This package converts Express-style path patterns to regular +expressions for URL routing.") + (license license:expat))) + +(define node-router + (package + (name "node-router") + (version "2.2.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/router/-/router-" + version ".tgz")) + (sha256 + (base32 "0qclnvx6zzlrqj03wz8lyh9rzwickiz8c7czm3vig5csncvsyi5i")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-debug + node-depd + node-is-promise + node-parseurl + node-path-to-regexp)) + (home-page "https://www.npmjs.com/package/router") + (synopsis "HTTP router with middleware support") + (description "This package provides a standalone HTTP router with Express-style +middleware support.") + (license license:expat))) + +(define node-send + (package + (name "node-send") + (version "1.2.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/send/-/send-" + version ".tgz")) + (sha256 + (base32 "0wn46l21fl21yf5abnx3yr6fr2kq4cxm7ggf5g5xs8yx2srly9gs")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-debug + node-encodeurl + node-escape-html + node-etag + node-fresh + node-http-errors + node-mime-types + node-ms + node-on-finished + node-range-parser + node-statuses)) + (home-page "https://www.npmjs.com/package/send") + (synopsis "Static file serving with Range support") + (description "This package provides streaming static file serving with Range request +and conditional GET support.") + (license license:expat))) + +(define node-serve-static + (package + (name "node-serve-static") + (version "2.2.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/serve-static/-/serve-static-" + version ".tgz")) + (sha256 + (base32 "0hszcbfcncifwgxk060jy1andx4b7pzjbvig40cfnwlknlmzgm1n")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-encodeurl + node-escape-html + node-parseurl + node-send)) + (home-page "https://www.npmjs.com/package/serve-static") + (synopsis "Express static file middleware") + (description "This package provides Express middleware for serving static files from +a directory.") + (license license:expat))) + +(define node-express + (package + (name "node-express") + (version "5.2.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/express/-/express-" + version ".tgz")) + (sha256 + (base32 "01fhbm4bndc5d6sign60v8mh5xv828hlv74v8x9jchml09na2wqp")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (inputs + (list + node-accepts + node-body-parser + node-content-disposition + node-content-type + node-cookie + node-cookie-signature + node-debug + node-depd + node-encodeurl + node-escape-html + node-etag + node-finalhandler + node-fresh + node-http-errors + node-merge-descriptors + node-mime-types + node-on-finished + node-once + node-parseurl + node-proxy-addr + node-qs + node-range-parser + node-router + node-send + node-serve-static + node-statuses + node-type-is + node-vary)) + (home-page "https://www.npmjs.com/package/express") + (synopsis "Web application framework for Node.js") + (description "Express is a minimal and flexible web application framework for +Node.js that provides routing, middleware, and HTTP utilities.") + (license license:expat))) + +(define node-express-rate-limit + (package + (name "node-express-rate-limit") + (version "7.5.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-" + version ".tgz")) + (sha256 + (base32 "05xxm5wagy186fl02jbb5ydln9f8d6w7all10r0w0ssl14glgk1h")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies)))) + (add-after 'delete-dev-dependencies 'delete-build-scripts + (lambda _ + (with-atomic-json-file-replacement + (lambda (pkg) + (map (lambda (kv) + (if (equal? (car kv) "scripts") + (cons "scripts" + (filter + (lambda (s) + (not + (member (car s) + '("build" "prepare" + "prepack" "postinstall")))) + (cdr kv))) + kv)) + pkg))))) + (delete 'build)))) + (inputs + (list + node-express)) + (home-page "https://www.npmjs.com/package/express-rate-limit") + (synopsis "Rate limiting middleware for Express") + (description "This package provides IP-based rate limiting middleware for Express to +protect APIs from abuse and brute-force attacks.") + (license license:expat))) + +(define node-hono + (package + (name "node-hono") + (version "4.11.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/hono/-/hono-" + version ".tgz")) + (sha256 + (base32 "1i4rm0a6zbrpd704s3828x0441kk8jvh9jk661l9zfcxlgb3625n")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies)))) + (add-after 'delete-dev-dependencies 'delete-build-scripts + (lambda _ + (with-atomic-json-file-replacement + (lambda (pkg) + (map (lambda (kv) + (if (equal? (car kv) "scripts") + (cons "scripts" + (filter + (lambda (s) + (not + (member (car s) + '("build" "prepare" + "prepack" "postinstall")))) + (cdr kv))) + kv)) + pkg))))) + (delete 'build)))) + (home-page "https://www.npmjs.com/package/hono") + (synopsis "Lightweight web framework") + (description "Hono is a lightweight web framework built on Web Standards that runs +on Cloudflare Workers, Deno, Bun, and Node.js.") + (license license:expat))) + +(define node-jose + (package + (name "node-jose") + (version "6.1.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/jose/-/jose-" + version ".tgz")) + (sha256 + (base32 "1q27w1b0n5wvvlj17pz3qkwir1i311dirjjbh3735gnq0j2cza2j")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/jose") + (synopsis "JSON Web Token implementation") + (description "This package implements JSON Web Tokens (JWT), JSON Web Signatures +(JWS), and JSON Web Encryption (JWE) for Node.js and browsers.") + (license license:expat))) + +(define node-json-schema-typed + (package + (name "node-json-schema-typed") + (version "8.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-" + version ".tgz")) + (sha256 + (base32 "1jbbs2nxga2rfg4hxcipg0zn7j5d3r9rjziz7c3w7x7wwhk43p77")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies))))))) + (home-page "https://www.npmjs.com/package/json-schema-typed") + (synopsis "TypeScript types for JSON Schema") + (description "This package provides TypeScript type definitions for JSON Schema with +inline documentation.") + (license license:bsd-2))) + +(define node-isaacs-balanced-match + (package + (name "node-isaacs-balanced-match") + (version "4.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-" + version ".tgz")) + (sha256 + (base32 "1c0mk5sw7b923259bjyjafrjcpwylyfqp1mm44jvfjx9c45kyndl")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies)))) + (add-after 'delete-dev-dependencies 'delete-build-scripts + (lambda _ + (with-atomic-json-file-replacement + (lambda (pkg) + (map (lambda (kv) + (if (equal? (car kv) "scripts") + (cons "scripts" + (filter + (lambda (s) + (not + (member (car s) + '("build" "prepare" + "prepack" "postinstall")))) + (cdr kv))) + kv)) + pkg))))) + (delete 'build)))) + (home-page "https://www.npmjs.com/package/@isaacs/balanced-match") + (synopsis "Match balanced character pairs") + (description "This package matches balanced pairs of characters like braces and +brackets in strings.") + (license license:expat))) + +(define node-isaacs-brace-expansion + (package + (name "node-isaacs-brace-expansion") + (version "5.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-" + version ".tgz")) + (sha256 + (base32 "0r5rhxp9j7f34z8xqkilfaq1dnp56pzwlwyn17r1vhpcb9v9kp4g")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies)))) + (add-after 'delete-dev-dependencies 'delete-build-scripts + (lambda _ + (with-atomic-json-file-replacement + (lambda (pkg) + (map (lambda (kv) + (if (equal? (car kv) "scripts") + (cons "scripts" + (filter + (lambda (s) + (not + (member (car s) + '("build" "prepare" + "prepack" "postinstall")))) + (cdr kv))) + kv)) + pkg))))) + (delete 'build)))) + (inputs + (list + node-isaacs-balanced-match)) + (home-page "https://www.npmjs.com/package/@isaacs/brace-expansion") + (synopsis "Shell brace expansion") + (description "This package expands brace patterns like @code{{a,b}} as used in shell +globbing.") + (license license:expat))) + +(define node-minimatch + (package + (name "node-minimatch") + (version "10.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/minimatch/-/minimatch-" + version ".tgz")) + (sha256 + (base32 "11r7l8zvlzm32z1m6v2w6vw1265q166wzjh7mc5xqxlm3gwx25f2")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies)))) + (add-after 'delete-dev-dependencies 'delete-build-scripts + (lambda _ + (with-atomic-json-file-replacement + (lambda (pkg) + (map (lambda (kv) + (if (equal? (car kv) "scripts") + (cons "scripts" + (filter + (lambda (s) + (not + (member (car s) + '("build" "prepare" + "prepack" "postinstall")))) + (cdr kv))) + kv)) + pkg))))) + (delete 'build)))) + (inputs + (list + node-isaacs-brace-expansion)) + (home-page "https://www.npmjs.com/package/minimatch") + (synopsis "Glob pattern matching") + (description "This package provides glob pattern matching for file paths, as used by +npm and many other tools.") + (license license:expat))) + +(define node-pkce-challenge + (package + (name "node-pkce-challenge") + (version "5.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-" + version ".tgz")) + (sha256 + (base32 "0w7a7gzxrn5widngl5w358kfi68njp121ig77p8n4mf0bfpbpz6i")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies)))) + (add-after 'delete-dev-dependencies 'delete-build-scripts + (lambda _ + (with-atomic-json-file-replacement + (lambda (pkg) + (map (lambda (kv) + (if (equal? (car kv) "scripts") + (cons "scripts" + (filter + (lambda (s) + (not + (member (car s) + '("build" "prepare" + "prepack" "postinstall")))) + (cdr kv))) + kv)) + pkg))))) + (delete 'build)))) + (home-page "https://www.npmjs.com/package/pkce-challenge") + (synopsis "PKCE challenge generation") + (description "This package generates and verifies Proof Key for Code Exchange (PKCE) +challenges for OAuth 2.0 authorization flows.") + (license license:expat))) + +(define node-zod + (package + (name "node-zod") + (version "3.25.76") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/zod/-/zod-" + version ".tgz")) + (sha256 + (base32 "0xw3m1qdqbqam3fhxiv8ag9l9kampywwx4gfcjmis36xy02il7wy")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies)))) + (add-after 'delete-dev-dependencies 'delete-build-scripts + (lambda _ + (with-atomic-json-file-replacement + (lambda (pkg) + (map (lambda (kv) + (if (equal? (car kv) "scripts") + (cons "scripts" + (filter + (lambda (s) + (not + (member (car s) + '("build" "prepare" + "prepack" "postinstall")))) + (cdr kv))) + kv)) + pkg))))) + (delete 'build)))) + (home-page "https://www.npmjs.com/package/zod") + (synopsis "TypeScript-first schema validation") + (description "Zod is a TypeScript-first schema validation library with static type +inference.") + (license license:expat))) + +(define node-zod-to-json-schema + (package + (name "node-zod-to-json-schema") + (version "3.25.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-" + version ".tgz")) + (sha256 + (base32 "1n3sqsr00365gmva8cqxkbfvygnwdb2sb7iqcqb827dydqr4gpil")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies)))) + (add-after 'delete-dev-dependencies 'delete-build-scripts + (lambda _ + (with-atomic-json-file-replacement + (lambda (pkg) + (map (lambda (kv) + (if (equal? (car kv) "scripts") + (cons "scripts" + (filter + (lambda (s) + (not + (member (car s) + '("build" "prepare" + "prepack" "postinstall")))) + (cdr kv))) + kv)) + pkg))))) + (delete 'build)))) + (inputs + (list + node-zod)) + (home-page "https://www.npmjs.com/package/zod-to-json-schema") + (synopsis "Convert Zod schemas to JSON Schema") + (description "This package converts Zod schemas to JSON Schema format for validation +and documentation.") + (license license:isc))) + +(define-public node-agentclientprotocol-sdk + (package + (name "node-agentclientprotocol-sdk") + (version "0.12.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/@agentclientprotocol/sdk/-/sdk-" + version ".tgz")) + (sha256 + (base32 "1qhd9ik5xd943dkw73lzi0k8f5db5v6wcam92zwvpvqpj4wa28s4")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies)))) + (add-after 'delete-dev-dependencies 'delete-build-scripts + (lambda _ + (with-atomic-json-file-replacement + (lambda (pkg) + (map (lambda (kv) + (if (equal? (car kv) "scripts") + (cons "scripts" + (filter + (lambda (s) + (not + (member (car s) + '("build" "prepare" + "prepack" "postinstall")))) + (cdr kv))) + kv)) + pkg))))) + (delete 'build)))) + (inputs + (list + node-zod)) + (home-page "https://www.npmjs.com/package/@agentclientprotocol/sdk") + (synopsis "Agent Client Protocol SDK") + (description "This package implements the Agent Client Protocol (ACP), which +standardizes communication between code editors and AI coding agents.") + (license license:asl2.0))) + +(define-public node-anthropic-ai-claude-agent-sdk + (package + (name "node-anthropic-ai-claude-agent-sdk") + (version "0.1.70") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/@anthropic-ai/claude-agent-sdk/-/claude-agent-sdk-" + version ".tgz")) + (sha256 + (base32 "0ka82q5lx18cl23lr5vxgdn00x75wwvi7lrli5s9w6569mxc20bz")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies)))) + (add-after 'delete-dev-dependencies 'delete-build-scripts + (lambda _ + (with-atomic-json-file-replacement + (lambda (pkg) + (map (lambda (kv) + (if (equal? (car kv) "scripts") + (cons "scripts" + (filter + (lambda (s) + (not + (member (car s) + '("build" "prepare" + "prepack" "postinstall")))) + (cdr kv))) + kv)) + pkg))))) + (delete 'build) + (delete 'validate-runpath)))) + (inputs + (list + node-zod)) + (home-page "https://www.npmjs.com/package/@anthropic-ai/claude-agent-sdk") + (synopsis "Claude Code agent SDK") + (description "This package provides an SDK for building AI agents with Claude Code's +capabilities, enabling programmatic interaction with Claude for +autonomous code editing.") + (properties '((substitutable? . #f))) + (license + (license:nonfree + "https://code.claude.com/docs/en/legal-and-compliance")))) + +(define node-hono-node-server + (package + (name "node-hono-node-server") + (version "1.19.7") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/@hono/node-server/-/node-server-" + version ".tgz")) + (sha256 + (base32 "0419qajy4an5xqiwa2g927sr2s5badhmdn6fdv9pmfkq297zvvbh")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies)))) + (add-after 'delete-dev-dependencies 'delete-build-scripts + (lambda _ + (with-atomic-json-file-replacement + (lambda (pkg) + (map (lambda (kv) + (if (equal? (car kv) "scripts") + (cons "scripts" + (filter + (lambda (s) + (not + (member (car s) + '("build" "prepare" + "prepack" "postinstall")))) + (cdr kv))) + kv)) + pkg))))) + (delete 'build)))) + (inputs + (list + node-hono)) + (home-page "https://www.npmjs.com/package/@hono/node-server") + (synopsis "Node.js adapter for Hono") + (description "This package provides a Node.js HTTP server adapter for the Hono web +framework.") + (license license:expat))) + +(define node-cfworker-json-schema + (package + (name "node-cfworker-json-schema") + (version "4.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/@cfworker/json-schema/-/json-schema-" + version ".tgz")) + (sha256 + (base32 "00q2c41ji1v1jar17yvd5hz8h9kpbvxnx2m73xkz01858mmhga7k")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies)))) + (add-after 'delete-dev-dependencies 'delete-build-scripts + (lambda _ + (with-atomic-json-file-replacement + (lambda (pkg) + (map (lambda (kv) + (if (equal? (car kv) "scripts") + (cons "scripts" + (filter + (lambda (s) + (not + (member (car s) + '("build" "prepare" + "prepack" "postinstall")))) + (cdr kv))) + kv)) + pkg))))) + (delete 'build)))) + (home-page "https://www.npmjs.com/package/@cfworker/json-schema") + (synopsis "JSON Schema validator for Workers") + (description "This package provides a JSON Schema validator that runs on Cloudflare +Workers, supporting drafts 4, 7, 2019-09, and 2020-12.") + (license license:expat))) + +(define-public node-modelcontextprotocol-sdk + (package + (name "node-modelcontextprotocol-sdk") + (version "1.25.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-" + version ".tgz")) + (sha256 + (base32 "0341ip1l02229p7pvlv3g28dij883v20kb0wnc1l6ljidzjfrfvz")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies)))) + (add-after 'delete-dev-dependencies 'delete-build-scripts + (lambda _ + (with-atomic-json-file-replacement + (lambda (pkg) + (map (lambda (kv) + (if (equal? (car kv) "scripts") + (cons "scripts" + (filter + (lambda (s) + (not + (member (car s) + '("build" "prepare" + "prepack" "postinstall")))) + (cdr kv))) + kv)) + pkg))))) + (delete 'build)))) + (inputs + (list + node-hono-node-server + node-ajv + node-ajv-formats + node-content-type + node-cors + node-cross-spawn + node-eventsource + node-eventsource-parser + node-express + node-express-rate-limit + node-jose + node-json-schema-typed + node-pkce-challenge + node-raw-body + node-zod + node-zod-to-json-schema + node-cfworker-json-schema)) + (home-page "https://www.npmjs.com/package/@modelcontextprotocol/sdk") + (synopsis "Model Context Protocol SDK") + (description "This package implements the Model Context Protocol for connecting AI +models to external tools and data sources.") + (license license:expat))) + +(define-public claude-code-acp + (package + (name "claude-code-acp") + (version "0.12.6") + (source + (origin + (method url-fetch) + (uri (string-append + "https://registry.npmjs.org/@zed-industries/claude-code-acp/-/claude-code-acp-" + version ".tgz")) + (sha256 + (base32 "0d5q8yvapx4yh725si6fjgbszs6an0s8lab8p6iymca4qabpglxk")))) + (build-system node-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dev-dependencies + (lambda _ + (modify-json (delete-dev-dependencies)))) + (add-after 'delete-dev-dependencies 'delete-build-scripts + (lambda _ + (with-atomic-json-file-replacement + (lambda (pkg) + (map (lambda (kv) + (if (equal? (car kv) "scripts") + (cons "scripts" + (filter + (lambda (s) + (not + (member (car s) + '("build" "prepare" + "prepack" "postinstall")))) + (cdr kv))) + kv)) + pkg))))) + (delete 'build) + (delete 'validate-runpath)))) + (inputs + (list + node-agentclientprotocol-sdk + node-anthropic-ai-claude-agent-sdk + node-modelcontextprotocol-sdk + node-diff + node-minimatch + node-zod + node-ajv + node-ajv-formats + node-express + node-raw-body + node-hono + node-hono-node-server)) + (home-page "https://www.npmjs.com/package/@zed-industries/claude-code-acp") + (synopsis "ACP-compatible Claude Code agent") + (description "This package provides an ACP-compatible coding agent powered by the +Claude Code SDK.") + (license license:asl2.0))) + +;; Binary URL is from the official install script at +;; . +(define-public claude-code + (package + (name "claude-code") + (version "2.0.67") + (source + (let ((arch (match (or (%current-target-system) (%current-system)) + ("aarch64-linux" "linux-arm64") + (_ "linux-x64"))) + (hash (match (or (%current-target-system) (%current-system)) + ("aarch64-linux" + "1j4nk8n8awcj529s390d5zl2p902zfm7gcpdshk4pdkdrfnvmqks") + (_ + "1wr6cxrf608z22adhjwvx1rinxyv3rbjls00j3si8f6zsmwj58dj")))) + (origin + (method url-fetch) + (uri + (string-append + "https://storage.googleapis.com/claude-code-dist-" + "86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/" + version "/" arch "/claude")) + (sha256 + (base32 hash))))) + (build-system copy-build-system) + (arguments + (list + #:validate-runpath? #f + #:strip-binaries? #f + #:install-plan + #~'(("claude" "libexec/claude")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-proc-self-exe + (lambda _ + ;; Replace /proc/self/exe with /proc/self/ex_ to force Bun + ;; to fall back to argv[0] for finding the embedded modules. + (invoke "sed" "-i" "s|/proc/self/exe|/proc/self/ex_|g" "claude"))) + (add-after 'install 'make-binary-executable + (lambda _ + (chmod (string-append #$output "/libexec/claude") #o555))) + (add-after 'make-binary-executable 'create-wrapper + (lambda _ + (let ((bin (string-append #$output "/bin")) + (libexec (string-append #$output "/libexec/claude")) + (ld.so (string-append #$(this-package-input "glibc") + #$(glibc-dynamic-linker))) + (lib-path + (string-join + (list (string-append + #$(this-package-input "glibc") "/lib") + (string-append + #$(this-package-input "gcc:lib") "/lib")) + ":"))) + (mkdir-p bin) + (call-with-output-file (string-append bin "/claude") + (lambda (port) + (format port "#!~a +exec ~a --argv0 ~a --library-path ~a ~a \"$@\"~%" + #$(file-append bash-minimal "/bin/sh") + ld.so + libexec + lib-path + libexec))) + (chmod (string-append bin "/claude") #o755))))))) + (native-inputs + (list sed)) + (inputs + `(("bash-minimal" ,bash-minimal) + ("glibc" ,glibc) + ("gcc:lib" ,gcc "lib"))) + (supported-systems '("aarch64-linux" "x86_64-linux")) + (properties '((substitutable? . #f))) + (home-page "https://claude.ai/code") + (synopsis "AI coding agent for the terminal") + (description + "Claude Code is an agentic coding tool that lives in your terminal, +understands your codebase, and helps you code faster by executing routine +tasks, explaining complex code, and handling git workflows through natural +language commands.") + (license + (license:nonfree + "https://code.claude.com/docs/en/legal-and-compliance")))) +