Review: node-monacopilot 1.1.15+ds-1
Package Information
| Description | provider plumbing behind monacopilot This is the half of monacopilot that knows how to talk to an LLM: it builds the fill-in-the-middle request for a given prompt, sends it, and turns the response back into completion text. It also holds the small helpers the editor-facing half reuses, such as text truncation and the request cache. It knows nothing about Monaco and imports no editor code, so it is usable on its own from a script. Node.js is an event-based server-side JavaScript engine. |
|---|---|
| Maintainer | Debian Javascript Maintainers <pkg-javascript-devel@lists.alioth.debian.org> |
| Changed By | Emfox Zhou <emfox@debian.org> |
| Sponsor | emfox@debian.org |
| Distribution | unstable |
| Architecture | all |
| VCS | git: https://salsa.debian.org/js-team/node-monacopilot.git (browse) |
| Closes | #1152051 |
| Tracker | https://tracker.debian.org/pkg/node-monacopilot |
| Uploaded | 10 days ago |
New Package Report
.changes
| Date | Sun, 25 Oct 2026 20:00:00 +0800 |
|---|---|
| Source | node-monacopilot |
| Version | 1.1.15+ds-1 |
| Changed-By | Emfox Zhou <emfox@debian.org> |
| Architecture | source all |
| Distribution | unstable |
Changelog
node-monacopilot (1.1.15+ds-1) unstable; urgency=medium . * Initial release. (Closes: #1152051)
.dsc
| Section | javascript |
|---|---|
| Priority | optional |
| Component | main |
| Package-List | node-monacopilot deb javascript optional arch=all node-monacopilot-core deb javascript optional arch=all |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: monacopilot
Source: https://github.com/arshad-yaseen/monacopilot
Files-Excluded: docs
playground
.github
scripts
.husky
bump.config.ts
CODE_OF_CONDUCT.md
CONTRIBUTING.md
Files: *
Copyright: 2024 Arshad Yaseen
License: Expat
Files: debian/*
Copyright: 2026 Emfox Zhou <emfox@debian.org>
License: Expat
Files: debian/patches/0001-local-mistral-fim-types.patch
Copyright: 2026 Emfox Zhou <emfox@debian.org>
2024 Mistral AI
License: Apache-2.0
License: Expat
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
License: Apache-2.0
On Debian systems, the complete text of the Apache License 2.0 can be found
in /usr/share/common-licenses/Apache-2.0.
DFSG Assistant LLM REVIEW 1 blocker, 0 important, 0 minor
This is an LLM based review using a Debian Inference based workflow. It was not written by a member of the DFSG team and has not been checked by one. It is not a decision on the package: it may be wrong, and it may have missed things.
Reviewed 10 days ago.
Report
DFSG NEW review for node-monacopilot version 1.1.15+ds-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: No - Packaging is of good quality: Yes
- Issues: 1 blocker, 0 important, 0 minor
- debian/watch: version 5
- debian/copyright: machine-readable
- Scan before the review: nothing found
Licensing
The tree is DFSG-free: upstream is MIT (Expat) with Copyright (c) 2024 Arshad Yaseen, and the single Debian-added file is an Apache-2.0 derivation, which is compatible. Both licence texts are present (the Expat text inline, Apache-2.0 via /usr/share/common-licenses/Apache-2.0), and no other holder, vendored code or non-free term occurs. debian/copyright is not accurate for one file, however: packages/core/src/types/mistral-fim.ts is a Debian-created file derived from Mistral AI's Apache-2.0 SDK (its own header says so), but the only stanza matching that path is Files: *, which calls it Expat by Arshad Yaseen; the Apache-2.0 stanza names only the patch file under debian/patches/.
Packaging
The packaging is sound and would pass a sponsorship review: debhelper compat 14 with dh-sequence-nodejs, two correctly split Architecture: all packages with a versioned = relationship between them, a DEP-3-headed quilt patch whose purpose is documented in README.source/README.Debian, and an autopkgtest (autopkgtest-pkg-nodejs plus debian/tests/pkg-js/{test,require-name}) that loads the built artefacts because upstream's vitest is unpackaged. Standards-Version 4.7.4 matches Policy 4.7.4.1, every Build-Depends is satisfiable from the archive, and the hand-written install in rules is justified by the two-module build and matched by debian/clean. Only the copyright defect above stands in the way.
Issues
blocker licensing 1. Files: * describes packages/core/src/types/mistral-fim.ts as Expat by Arshad Yaseen, but the file is an Apache-2.0 derivation from Mistral AI ◂
- Files:
debian/copyright:13-15,packages/core/src/types/mistral-fim.ts:1-12,debian/patches/0001-local-mistral-fim-types.patch:35-40 - Basis: checked, in the package or with a reference tool
- Evidence: copyright:
Files: */Copyright: 2024 Arshad Yaseen/License: Expat; mistral-fim.ts:Derived from @mistralai/mistralai 1.5.0, Copyright 2024 Mistral AI, Apache-2.0.; the Apache-2.0 stanza is scopedFiles: debian/patches/0001-local-mistral-fim-types.patch - Problem: Files patterns are anchored at the source root and
*matches/(copyright-format 6.9, checked with the policy tool), soFiles: *is the stanza that applies topackages/core/src/types/mistral-fim.ts; the laterdebian/patches/...stanza covers only the patch file and does not reach the source file the patch creates. Policy 12.5 requires the copyright file to carry the copyright and distribution licence of the files, and Apache-2.0 section 4 requires the attribution and licence notice to be retained. As written, the file's stated holder and licence contradict debian/copyright, and the Apache-2.0 attribution is only recorded for the patch text. - Fix: Add a stanza, e.g.
Files: packages/core/src/types/mistral-fim.ts/Copyright: 2024 Mistral AI(and the Debian author, 2026 Emfox Zhou, if desired) /License: Apache-2.0; keep the existing patch stanza.
Verified ◂
- Inventoried all 63 upstream files (.pc/ and debian/ excluded): a single LICENSE (MIT/Expat,
Copyright (c) 2024 Arshad Yaseen) and both package.json files with"license": "MIT"; a case-insensitive grep for Copyright, (C), ©, SPDX-License-Identifier,Licensed under,Permission is hereby granted, GNU GPL/LGPL, Apache License, Mozilla Public,public domainandAll rights reservedfound no other holder or licence in the tree besides the Mistral header reported above. - The scan's only flagged file, packages/core/src/types/mistral-fim.ts (Mistral AI / Apache-2.0), is reported as a copyright-accuracy issue; the other 62 files carry no separate notice and are covered by the MIT grant in LICENSE.
- No vendored third-party code: grepping for Microsoft, vscode,
adapted from/copied from/ported fromand @mistralai outside the reported file found nothing; packages/monacopilot/src/types/monaco.ts only aliases types from the externalmonaco-editormodule. - No binary or built files: no images, fonts, archives, PDFs, source maps or pre-minified JS anywhere in the tree; the .js/.mjs/.d.ts bundles are produced at build time by debian/build.sh from the packaged TypeScript sources, and pnpm-lock.yaml is a dependency lock file with no code.
- debian/copyright is DEP-5 with the canonical Format line; Files-Excluded lists docs, playground, .github, scripts, .husky, bump.config.ts, CODE_OF_CONDUCT.md and CONTRIBUTING.md, and reading the orig tarball (/review/node-monacopilot_1.1.15+ds.orig.tar.gz) showed every one of those paths absent, so no excluded name is still in the tree.
- Licence texts: the full Expat text is included in debian/copyright and Apache-2.0 is referenced at /usr/share/common-licenses/Apache-2.0 (Policy 12.5). MIT and Apache-2.0 are compatible in one binary.
- Read all of debian/: control, rules, changelog, clean, build.sh, tsconfig.core.json, tsconfig.monacopilot.json, rollup.dts.cjs, gbp.conf, salsa-ci.yml, README.Debian, README.source, upstream/metadata, tests/pkg-js/*, patches/series and the patch.
- Build-Depends checked with apt-cache: node-esbuild is provided by esbuild 0.28.2, node-monaco-editor 0.47.0+ds-1 satisfies
>= 0.41.0and<< 0.53, node-rollup-plugin-dts 6.5.1, node-typescript 6.0.3 and rollup 3.30.0 exist, python3 is declared; nothing is missing or unsatisfiable as far as the package lists show. - Standards-Version 4.7.4 against Policy 4.7.4.1 (policy tool), so current; changelog is unstable with a +ds version matching the orig tarball and a closed ITP bug; Vcs-* and Homepage are present; Rules-Requires-Root: no and no maintainer scripts.
- Compat 14 with dh-sequence-nodejs; the empty override_dh_auto_test is deliberate (vitest is unpackaged) and at this compat level dh would skip it under nocheck anyway; the autopkgtest script's assertions match the exported constants and functions read in packages/core/src/defaults.ts, llm/base.ts and packages/monacopilot/src/index.ts.
- The patch has a DEP-3 header (Description, Origin: vendor, Forwarded), applies to packages/core/src/types/llm.ts and the new types file, and the build's declaration pass resolves it locally, so no unpackaged @mistralai/mistralai is needed at build time.
- uscan found upstream releases with
debian/watch; a newer upstream version is available (upstream1.3.1, packaged1.1.15+ds), which is not a fault of the package. - Every pointer of
debian/copyrightto /usr/share/common-licenses names a file that is there (Apache-2.0).
Not confirmed ◂
- The upstream SDK the new types file cites (@mistralai/mistralai 1.5.0) is not in the package, so the derivation is judged only from the file's own header comment; it is consistent with debian/copyright's existing Apache-2.0 stanza for the patch.
Proposed changes ◂
None.
Uploader's response to the LLM review
The uploader rejected this upload in response to the review.
Review Information
rejected — allocated to dfsg-uploader 10 days ago, started 10 days ago, completed 10 days ago.
Final Comment
The uploader rejected this upload in response to the automated (LLM) review of it, so that they can fix the problems it found and upload again.
Other Reviews of this Package
| Version | Hash | Allocated | Completed | Reviewer | Status | Details |
|---|---|---|---|---|---|---|
| 1.1.15+ds-1 | 53115a1f… | 2026-10-28 14:05 | 2026-10-28 14:05 | dfsg-uploader | rejected | VIEW |
| 1.1.15+ds-1 | 4ea9d8a4… | 2026-10-28 23:31 | 2026-10-28 23:31 | dfsg-uploader | rejected | VIEW |
| 1.1.15+ds-1 | 709aa0cc… | 2026-10-29 10:01 | 2026-10-29 10:02 | mechtilde | accepted | VIEW |