diff --git a/.agents/notes/proposed/feature/2026-10-02-plugin-market-index-format.i18n.yaml b/.agents/notes/proposed/feature/2026-10-02-plugin-market-index-format.i18n.yaml index 0c9ecf4045..4aad229581 100644 --- a/.agents/notes/proposed/feature/2026-10-02-plugin-market-index-format.i18n.yaml +++ b/.agents/notes/proposed/feature/2026-10-02-plugin-market-index-format.i18n.yaml @@ -18,8 +18,8 @@ en: 4fac5a9b8261342d zh: f9168a8a4209feab /agent-note-plugin-market-index-format/proposal/plugin-fields: - en: dbb59e8f9807b1d5 - zh: 030754d30a3c1861 + en: 19d743bd04dc65b3 + zh: 810a7f98c4fe8301 /agent-note-plugin-market-index-format/proposal/version-fields: en: d6c0fa99e1cbb068 zh: 3d2a7b85299c679a diff --git a/.agents/notes/proposed/feature/2026-10-02-plugin-market-index-format.md b/.agents/notes/proposed/feature/2026-10-02-plugin-market-index-format.md index 68f8e6a447..6ab05ec875 100644 --- a/.agents/notes/proposed/feature/2026-10-02-plugin-market-index-format.md +++ b/.agents/notes/proposed/feature/2026-10-02-plugin-market-index-format.md @@ -48,6 +48,7 @@ The market reuses npm's package names, versions, ranges, distribution tags, and "metadata": { "category": "productivity", "labels": ["official"], + "keywords": ["review", "authorization"], "sortKeys": { "downloads": 12034, "rating": 4.6 } }, "dist-tags": { "latest": "0.2.0-rc.1", "next": "0.2.0-rc.2" }, @@ -116,13 +117,16 @@ Category, label, and sort-key ids are non-empty strings. Readers look ids up as | `icon` | no | Either `data:;base64,`, where `` is `image/svg+xml`, `image/png`, `image/jpeg`, or `image/webp`, `` is canonically padded base64, and the decoded payload is at most 256 KiB; or a URL reference whose resolution against the index URL is an `https:` URL or has the index URL's origin. | | `author` | no | String with at least one non-whitespace character. | | `homepage` | no | Absolute `https:` or `http:` URL of a page about the plugin. | -| `metadata` | no | Object holding the three values below. | +| `metadata` | no | Object holding the values below. | | `metadata.category` | no | One declared category id. | | `metadata.labels` | no | Array of distinct declared label ids. | +| `metadata.keywords` | no | Array of free-form strings; no root declaration required. | | `metadata.sortKeys` | no | Object mapping a declared sort-key id → finite number. | | `dist-tags` | no | Object mapping npm distribution-tag names to exact listed version strings; absent means no recorded channels. | | `versions` | yes | Non-empty array of versions; see below. Array order does not select the installation version. | +`metadata.keywords` conventionally comes from npm `package.json` `keywords`, but generators may use another source, add strings, or adjust values. Neither presence nor equality with the package manifest is required. Readers preserve the strings and their order; an empty array is valid. + ### Version fields | Field | Required | Rule | diff --git a/.agents/notes/proposed/feature/2026-10-02-plugin-market-index-format.zh.md b/.agents/notes/proposed/feature/2026-10-02-plugin-market-index-format.zh.md index 062547490e..12608c767b 100644 --- a/.agents/notes/proposed/feature/2026-10-02-plugin-market-index-format.zh.md +++ b/.agents/notes/proposed/feature/2026-10-02-plugin-market-index-format.zh.md @@ -48,6 +48,7 @@ DSH 只能从用户已知的 spec 安装第三方组合包(bundle):npm 包 "metadata": { "category": "productivity", "labels": ["official"], + "keywords": ["review", "authorization"], "sortKeys": { "downloads": 12034, "rating": 4.6 } }, "dist-tags": { "latest": "0.2.0-rc.1", "next": "0.2.0-rc.2" }, @@ -116,13 +117,16 @@ DSH 只能从用户已知的 spec 安装第三方组合包(bundle):npm 包 | `icon` | 否 | 以下两种形式之一:`data:;base64,`,其中 `` 为 `image/svg+xml`、`image/png`、`image/jpeg` 或 `image/webp`,`` 是按规范填充的 base64,解码后的载荷不超过 256 KiB;或者 URL 引用,它相对于索引 URL 解析的结果是 `https:` URL,或与索引 URL 同源。 | | `author` | 否 | 至少包含一个非空白字符的字符串。 | | `homepage` | 否 | 介绍该插件的页面的绝对 `https:` 或 `http:` URL。 | -| `metadata` | 否 | 包含下列三个值的对象。 | +| `metadata` | 否 | 包含下列值的对象。 | | `metadata.category` | 否 | 一个已声明的分类 id。 | | `metadata.labels` | 否 | 由互不相同的已声明标签 id 组成的数组。 | +| `metadata.keywords` | 否 | 自由字符串数组;无需在根部声明。 | | `metadata.sortKeys` | 否 | 对象,将已声明的排序键 id 映射为有限数值。 | | `dist-tags` | 否 | 将 npm 发布标签名称映射为已列出的精确版本字符串的对象;缺省表示未记录发布渠道。 | | `versions` | 是 | 非空的版本数组;见下文。数组顺序不选择安装版本。 | +`metadata.keywords` 按约定来自 npm `package.json` 的 `keywords`,但生成器可以使用其他来源、添加字符串或调整值。不要求提供此字段,也不要求它与包 manifest 一致。读取器保留字符串及其顺序;允许空数组。 + ### 版本字段 | 字段 | 必填 | 规则 |