hermes-agent/plugins/platforms
ethernet 3f867b2ca9 feat(lints): require an age-gated .npmrc beside every package-lock.json
npm reads the project's own .npmrc, $HOME, and the global config. It
does not walk up parent directories (npm/npm#11437 is still open), so
the root .npmrc gates the root install and nothing else. Two nested
projects were resolving with no supply-chain quarantine at all:
scripts/whatsapp-bridge and plugins/platforms/photon/sidecar. Both now
carry their own gate, and `npm ci` in each returns its lockfile
byte-identical.

A project is a directory holding both package-lock.json and
package.json -- the pair npm resolves against. A lockfile with no
manifest beside it is a vendored artifact; nix/ keeps one for a
hash-pinned fetch that never consults npm config.

The required floor is read from the root .npmrc instead of hardcoded,
so the standard is raised in one place. A nested project may be
stricter, never weaker.
2026-08-14 09:04:06 -04:00
..
a2a docs(a2a): website docs page + canonical agent-card.json path in prose 2026-08-02 15:10:15 -07:00
buzz fix(secrets): Slack-pattern scoped credential reads — Feishu, WeCom, Photon, Buzz 2026-08-02 10:00:44 -07:00
dingtalk refactor: fold simplify-code review findings 2026-08-07 13:28:43 +05:30
discord feat(models): unify selection-time guards into one registry across all surfaces 2026-08-14 01:06:13 -07:00
email fix(email): dispatch partial batches, seen-after-fetch UIDs, reconnect UID baseline restore 2026-08-13 01:24:54 -07:00
feishu refactor: fold simplify-code review findings 2026-08-07 13:28:43 +05:30
google_chat fix(google-chat): post cron deliveries as new top-level threads, not replies 2026-08-13 11:05:40 -07:00
homeassistant fix(secrets): Slack-pattern scoped credential reads — ntfy, Home Assistant, SMS, DingTalk 2026-08-02 10:00:44 -07:00
irc fix(secrets): Slack-pattern scoped credential reads — IRC, LINE, Teams, Mattermost 2026-08-02 10:00:44 -07:00
line fix(platforms/line): fix broken import of non-existent config functions 2026-08-03 16:54:02 +05:30
matrix refactor(matrix): extract _strip_reply_fallback to deduplicate text+media handlers 2026-08-07 14:34:55 +05:30
mattermost fix(mattermost): escalate genuine WS auth failures through the fatal-error hook 2026-08-13 01:51:13 -07:00
ntfy fix(secrets): Slack-pattern scoped credential reads — ntfy, Home Assistant, SMS, DingTalk 2026-08-02 10:00:44 -07:00
photon feat(lints): require an age-gated .npmrc beside every package-lock.json 2026-08-14 09:04:06 -04:00
raft fix(security): widen non-ASCII compare_digest crash fix to all sibling sites 2026-07-16 07:22:24 -07:00
simplex refactor(simplex): hoist json.dumps above branch in _standalone_send 2026-08-08 13:56:12 +05:30
slack fix(kanban): key terminal-event wakes to the creator's workspace scope 2026-08-13 11:41:19 -07:00
sms fix(secrets): Slack-pattern scoped credential reads — ntfy, Home Assistant, SMS, DingTalk 2026-08-02 10:00:44 -07:00
teams refactor: derive teams install hint via feature_install_command(venv_pip=True) 2026-08-07 13:28:43 +05:30
telegram lints: adopt three AGENTS.md policies as enforced checks 2026-08-14 08:33:56 -04:00
wecom refactor: fold simplify-code review findings 2026-08-07 13:28:43 +05:30
whatsapp fix(whatsapp): classify npm install failures as non-retryable fatal errors (#80095) 2026-08-13 02:37:12 -07:00