agent-plugkit 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/README.md +49 -31
  2. package/dist/adapters/marketplace-registration.d.ts +15 -1
  3. package/dist/adapters/marketplace-registration.js +324 -3
  4. package/dist/adapters/marketplace-registration.js.map +1 -1
  5. package/dist/adapters/marketplace.d.ts +5 -0
  6. package/dist/adapters/marketplace.js +39 -0
  7. package/dist/adapters/marketplace.js.map +1 -1
  8. package/dist/application/artifact-generation.d.ts +1 -1
  9. package/dist/application/artifact-generation.js +10 -1
  10. package/dist/application/artifact-generation.js.map +1 -1
  11. package/dist/application/local-release.js +4 -0
  12. package/dist/application/local-release.js.map +1 -1
  13. package/dist/application/marketplace-registration-contract.d.ts +4 -1
  14. package/dist/application/marketplace-registration-contract.js +1 -0
  15. package/dist/application/marketplace-registration-contract.js.map +1 -1
  16. package/dist/application/marketplace-registration.d.ts +12 -1
  17. package/dist/application/marketplace-registration.js +68 -0
  18. package/dist/application/marketplace-registration.js.map +1 -1
  19. package/dist/application/plugin-document-contract.d.ts +1 -1
  20. package/dist/application/workspace-health-contract.d.ts +1 -1
  21. package/dist/application/workspace-operation-contract.js +1 -0
  22. package/dist/application/workspace-operation-contract.js.map +1 -1
  23. package/dist/application/workspace-operation.d.ts +2 -2
  24. package/dist/application/workspace-operation.js +2 -2
  25. package/dist/cli.js +4 -3
  26. package/dist/cli.js.map +1 -1
  27. package/dist/commands/index-gen.d.ts +1 -0
  28. package/dist/commands/index-gen.js +2 -0
  29. package/dist/commands/index-gen.js.map +1 -1
  30. package/dist/commands/install-repo.d.ts +3 -1
  31. package/dist/commands/install-repo.js +30 -10
  32. package/dist/commands/install-repo.js.map +1 -1
  33. package/dist/generated/skill-content.js +4 -4
  34. package/dist/generated/skill-content.js.map +1 -1
  35. package/package.json +1 -1
package/README.md CHANGED
@@ -33,7 +33,7 @@ npx agent-plugkit build [plugin-name] --all
33
33
  npx agent-plugkit index
34
34
  npx agent-plugkit validate [plugin-name] --all
35
35
  npx agent-plugkit release-local
36
- npx agent-plugkit install-repo <git-repo|local-path> [--agent <agent>...] [--all]
36
+ npx agent-plugkit install-repo <git-repo|local-path> [--agent <agent>...] [--all] [--plugin <name>...]
37
37
  ```
38
38
 
39
39
  Use `--root <dir>` when running from outside a marketplace repository:
@@ -64,6 +64,7 @@ npx agent-plugkit --root /path/to/marketplace validate --all
64
64
  ├── .cursor-plugin/marketplace.json
65
65
  ├── .claude-plugin/marketplace.json
66
66
  ├── .agents/plugins/marketplace.json
67
+ ├── .grok-plugin/marketplace.json
67
68
  └── marketplace.json
68
69
  ```
69
70
 
@@ -132,16 +133,40 @@ npx agent-plugkit install-repo OWNER/REPO --agent claude --agent codex
132
133
  npx agent-plugkit install-repo /absolute/path/to/marketplace --all
133
134
  ```
134
135
 
136
+ To register a marketplace and install plugins from it in one step, add `--plugin` (repeatable):
137
+
138
+ ```bash
139
+ npx agent-plugkit install-repo agent-plugkit/plugkit-marketplace --agent claude --plugin musekit
140
+ npx agent-plugkit install-repo agent-plugkit/plugkit-marketplace --agent codex --plugin musekit
141
+ ```
142
+
143
+ After a target's registration completes, `--plugin` reads `plugin marketplace list --json` from
144
+ that client to find the marketplace name registered for the same source (matched by path/URL/repo,
145
+ not by name), then runs the client's own install command:
146
+
147
+ | Target | Install command |
148
+ | --- | --- |
149
+ | `claude` | `claude plugin install <plugin>@<marketplace>` |
150
+ | `codex` | `codex plugin add <plugin>@<marketplace>` |
151
+
152
+ Pass only the plugin name (for example `musekit`); `@marketplace` is resolved automatically. If a
153
+ client CLI is missing, both its registration and its plugin installs are reported as `[缺少 CLI]`
154
+ with an install hint. Targets without a documented plugin install command (Grok Build, GitHub
155
+ Copilot, VS Code, Cursor) still register the marketplace, and each requested plugin is reported as
156
+ `[需手动]`. Both clients' install commands are idempotent, so re-running the same command is safe.
157
+
135
158
  Without `--agent` or `--all`, an interactive terminal shows a numbered multi-select and defaults to
136
159
  the targets that can currently be handled automatically. Non-interactive callers must pass an
137
- explicit selection. Target IDs are `claude`, `codex`, `copilot`, `vscode`, and `cursor`; repeated
138
- `--agent` values are deduplicated and `--all` includes Cursor.
160
+ explicit selection. Target IDs are `claude`, `codex`, `grok`, `copilot`, `vscode`, and `cursor`;
161
+ repeated `--agent` values are deduplicated and `--all` includes Cursor.
139
162
 
140
163
  Client behavior is deliberately adapter-specific:
141
164
 
142
- - Claude Code runs `claude plugin marketplace add <source>` after probing that exact command.
143
- - Codex runs `codex plugin marketplace add <source>` after probing that exact command.
144
- - GitHub Copilot runs `copilot plugin marketplace add <source>` after probing that exact command.
165
+ - Claude Code, Codex, Grok Build, and GitHub Copilot share one native registration path: probe
166
+ `plugin marketplace add --help`, then `plugin marketplace list --json` and skip `add` when the
167
+ source already matches by path/URL/repo (not marketplace name alone). If list is unavailable or
168
+ does not match, they run `plugin marketplace add <source>`; residual “already configured /
169
+ already added / already on disk” failures still count as completed.
145
170
  - VS Code atomically updates the current user's JSONC `settings.json`, enables
146
171
  `chat.plugins.enabled`, and deduplicates `chat.plugins.marketplaces`. Local directories are stored
147
172
  as `file://` URIs. Comments, trailing commas, indentation, unrelated settings, and the existing
@@ -170,7 +195,7 @@ child-process interrupt occurs. The final text summary uses explicit labels such
170
195
 
171
196
  | Exit code | Meaning |
172
197
  | --- | --- |
173
- | `0` | Every selected target completed registration or VS Code configuration injection |
198
+ | `0` | Every selected target completed registration or VS Code configuration injection (and every requested plugin install) |
174
199
  | `2` | At least one target completed and at least one target is missing, manual, or failed |
175
200
  | `1` | No target completed, or source/argument preflight failed |
176
201
  | `130` | The user or a client process interrupted the run |
@@ -194,9 +219,16 @@ The generated indexes still support direct client flows when needed:
194
219
 
195
220
  - Cursor Team/Enterprise can use Dashboard → Plugins → Add Marketplace → Import from Repo. Cursor detects the root Agent Plugins `plugin.json` for entries referenced by `.cursor-plugin/marketplace.json`.
196
221
 
197
- `install-repo` performs only current-user Marketplace registration or VS Code configuration. It
198
- does not push or publish a Git repository, build or modify the source, install a missing client CLI,
199
- import into Cursor automatically, or install any plugin from the Marketplace. `release-local` only
222
+ - Grok Build registers a marketplace that already has `.grok-plugin/marketplace.json`:
223
+
224
+ ```bash
225
+ grok plugin marketplace add OWNER/REPO
226
+ ```
227
+
228
+ `install-repo` performs only current-user Marketplace registration or VS Code configuration and,
229
+ when `--plugin` is given, plugin installation through the Claude Code or Codex CLI. It does not
230
+ push or publish a Git repository, build or modify the source, install a missing client CLI, import
231
+ into Cursor automatically, or install plugins without an explicit `--plugin`. `release-local` only
200
232
  creates a checked local directory and tar archive.
201
233
 
202
234
  ## Importing an Existing Skill
@@ -231,6 +263,7 @@ npx agent-plugkit import-skill ~/.claude/skills/dataviz custom-name --descriptio
231
263
  - `.cursor-plugin/marketplace.json`
232
264
  - `.claude-plugin/marketplace.json`
233
265
  - `.agents/plugins/marketplace.json`
266
+ - `.grok-plugin/marketplace.json`
234
267
  - `marketplace.json`
235
268
  - `plugins/CATALOG.md`
236
269
 
@@ -254,17 +287,11 @@ Generated files should be regenerated, not edited by hand.
254
287
  }
255
288
  ```
256
289
 
257
- ## This Monorepo Includes a Marketplace
258
-
259
- `agent-plugkit` dogfoods itself through the monorepo's `marketplace/` workspace, currently hosting the official `plugkit` maintenance plugin and the bundled `mermaid-render` visualization plugin. All canonical YAML, plugins, generated indexes, and local release artifacts live under that workspace.
260
-
261
- The repository root deliberately does not mirror marketplace discovery files. Clients may use a checkout's `marketplace/` directory as a local marketplace; registering this whole Git repository as a remote marketplace is not supported. Remote distribution requires publishing that workspace as its own repository or equivalent marketplace root.
290
+ ## Official Marketplace
262
291
 
263
- ### Mermaid Render
264
-
265
- `mermaid-render@0.2.0` turns Mermaid into a designed visual through two independent paths: editable `html`, or direct `imagent` image creation that may actively illustrate individual nodes. Imagent does not render, screenshot, or imitate an HTML intermediate.
266
-
267
- The built-in art directions are Swiss Style, Neo-Brutalism, and JAPANESE MA. They are concise design definitions with a few Good/Bad cases—not fixed templates, reference-image hashes, layout algorithms, or theme presets—so the Agent retains room to make diagram-specific visual decisions.
292
+ Curated plugins and generated client indexes are maintained separately in
293
+ [`agent-plugkit/plugkit-marketplace`](https://github.com/agent-plugkit/plugkit-marketplace). This CLI repository does
294
+ not contain or build that catalog; its integration tests create isolated temporary marketplaces.
268
295
 
269
296
  ## Development
270
297
 
@@ -272,24 +299,15 @@ The built-in art directions are Swiss Style, Neo-Brutalism, and JAPANESE MA. The
272
299
  npm install
273
300
  npm run build
274
301
  npm test
275
- npm run mp:check # build --all + index + validate --all against marketplace/
276
302
  npm run pack:cli
303
+ npm run check:public
277
304
  ```
278
305
 
279
- ### Desktop status
280
-
281
- The previous private desktop workspace was removed on 2026-08-15. The current product and
282
- distribution surface is CLI-only. Historical desktop specifications and design evidence remain
283
- for traceability, but they are superseded by
284
- [ADR-0006](https://github.com/agent-plugkit/agent-plugkit/blob/main/docs/adr/0006-remove-desktop-implementation.md); any future desktop rebuild starts from
285
- a new confirmed product, design, and engineering contract.
286
-
287
306
  The public contract is the CLI, `marketplace.yaml`, `plugin.yaml`, and generated marketplace artifacts. Internal TypeScript functions are intentionally not documented as a Node library API yet (see [ADR-0001](https://github.com/agent-plugkit/agent-plugkit/blob/main/docs/adr/0001-cli-only-public-contract.md)).
288
307
 
289
308
  ## Project Docs
290
309
 
291
310
  - [`AGENTS.md`](https://github.com/agent-plugkit/agent-plugkit/blob/main/AGENTS.md) — repository rules, architecture boundaries, and definition of done.
292
311
  - [`docs/architecture/overview.md`](https://github.com/agent-plugkit/agent-plugkit/blob/main/docs/architecture/overview.md) — layering, invariants, and known debt.
293
- - [`docs/product/`](https://github.com/agent-plugkit/agent-plugkit/tree/main/docs/product) — positioning, roadmap, market research, risks.
312
+ - [`docs/product/`](https://github.com/agent-plugkit/agent-plugkit/tree/main/docs/product) — positioning, roadmap, and risks.
294
313
  - [`docs/release/`](https://github.com/agent-plugkit/agent-plugkit/tree/main/docs/release) — release plan and gates.
295
- - [`specs/`](https://github.com/agent-plugkit/agent-plugkit/tree/main/specs) — per-iteration scope, specs, and task lists.
@@ -1,4 +1,4 @@
1
- import type { AgentTargetId, MarketplaceRegistrationSource, TargetInspection, TargetRegistrationResult } from '../application/marketplace-registration-contract.js';
1
+ import type { AgentTargetId, MarketplaceRegistrationSource, PluginInstallResult, RegistrationInvocation, TargetInspection, TargetRegistrationResult } from '../application/marketplace-registration-contract.js';
2
2
  import { type ProcessRunner } from '../infrastructure/process-runner.js';
3
3
  import { type VscodeSettingsInspection, type VscodeSettingsUpdateRequest, type VscodeSettingsUpdateResult } from '../infrastructure/vscode-user-settings.js';
4
4
  export interface MarketplaceRegistrationRuntime {
@@ -12,6 +12,20 @@ export interface MarketplaceRegistrationAdapter {
12
12
  readonly label: string;
13
13
  inspect(source: MarketplaceRegistrationSource, runtime?: MarketplaceRegistrationRuntime): Promise<TargetInspection>;
14
14
  execute(source: MarketplaceRegistrationSource, inspection: TargetInspection, runtime?: MarketplaceRegistrationRuntime): Promise<TargetRegistrationResult>;
15
+ /** Present only when the client CLI exposes a documented plugin install command. */
16
+ installPlugins?(source: MarketplaceRegistrationSource, plugins: readonly string[], runtime?: MarketplaceRegistrationRuntime, onInvocation?: (invocation: RegistrationInvocation) => void): Promise<PluginInstallResult[]>;
15
17
  }
18
+ /**
19
+ * Normalize a marketplace source string so local paths and GitHub shorthand /
20
+ * HTTPS / SSH forms of the same repo can be compared across client list JSON.
21
+ */
22
+ export declare function normalizeMarketplaceSourceKey(value: string): string;
23
+ /** True when list --json output already contains the registration source. */
24
+ export declare function marketplaceListContainsSource(listJsonText: string, source: MarketplaceRegistrationSource): boolean;
25
+ /**
26
+ * Resolve the client-side marketplace name for a registered source from list --json output.
27
+ * Matching is by source path/URL/repo, never by name, mirroring the registration precheck.
28
+ */
29
+ export declare function marketplaceNameFromList(listJsonText: string, source: MarketplaceRegistrationSource): string | undefined;
16
30
  export declare const MARKETPLACE_REGISTRATION_ADAPTERS: readonly MarketplaceRegistrationAdapter[];
17
31
  export declare function getMarketplaceRegistrationAdapter(id: AgentTargetId): MarketplaceRegistrationAdapter;
@@ -2,6 +2,163 @@ import { lstatSync, realpathSync } from 'node:fs';
2
2
  import { basename, dirname, isAbsolute, join, relative, resolve, sep } from 'node:path';
3
3
  import { systemProcessRunner, } from '../infrastructure/process-runner.js';
4
4
  import { inspectVscodeUserSettings, updateVscodeMarketplaceSettings, } from '../infrastructure/vscode-user-settings.js';
5
+ /** Shared fallback when a client still fails add after list preflight. */
6
+ const ALREADY_REGISTERED_PATTERNS = [
7
+ /already configured/i,
8
+ /already added/i,
9
+ /already on disk/i,
10
+ ];
11
+ const SOURCE_CANDIDATE_KEYS = new Set([
12
+ 'path',
13
+ 'url',
14
+ 'repo',
15
+ 'root',
16
+ 'source',
17
+ 'repository',
18
+ ]);
19
+ /**
20
+ * Normalize a marketplace source string so local paths and GitHub shorthand /
21
+ * HTTPS / SSH forms of the same repo can be compared across client list JSON.
22
+ */
23
+ export function normalizeMarketplaceSourceKey(value) {
24
+ const trimmed = value.trim();
25
+ if (trimmed.length === 0) {
26
+ return '';
27
+ }
28
+ const githubHttps = trimmed.match(/^https?:\/\/(?:www\.)?github\.com\/([^/]+)\/([^/#?]+?)(?:\.git)?\/?(?:#.*)?$/i);
29
+ if (githubHttps) {
30
+ return `github:${githubHttps[1].toLowerCase()}/${githubHttps[2].toLowerCase()}`;
31
+ }
32
+ const githubSsh = trimmed.match(/^(?:ssh:\/\/)?git@github\.com[:/]([^/]+)\/([^/#?]+?)(?:\.git)?\/?$/i);
33
+ if (githubSsh) {
34
+ return `github:${githubSsh[1].toLowerCase()}/${githubSsh[2].toLowerCase()}`;
35
+ }
36
+ const shorthand = trimmed.match(/^([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+)(?:#.*)?$/);
37
+ if (shorthand &&
38
+ !trimmed.includes(':') &&
39
+ !trimmed.startsWith('.') &&
40
+ !trimmed.startsWith('/') &&
41
+ !/^[A-Za-z]:[\\/]/.test(trimmed)) {
42
+ return `github:${shorthand[1].toLowerCase()}/${shorthand[2].toLowerCase()}`;
43
+ }
44
+ if (trimmed === '.' ||
45
+ trimmed === '..' ||
46
+ trimmed.startsWith('./') ||
47
+ trimmed.startsWith('../') ||
48
+ trimmed.startsWith('/') ||
49
+ /^[A-Za-z]:[\\/]/.test(trimmed)) {
50
+ try {
51
+ return `local:${realpathSync(resolve(trimmed))}`;
52
+ }
53
+ catch {
54
+ return `local:${resolve(trimmed)}`;
55
+ }
56
+ }
57
+ const withoutGit = trimmed.replace(/\.git$/i, '').replace(/\/$/, '');
58
+ return `other:${withoutGit.toLowerCase()}`;
59
+ }
60
+ function collectMarketplaceSourceCandidates(value, out, parentKey) {
61
+ if (typeof value === 'string') {
62
+ if (parentKey === undefined ||
63
+ SOURCE_CANDIDATE_KEYS.has(parentKey) ||
64
+ parentKey.endsWith('Path') ||
65
+ parentKey.endsWith('Url') ||
66
+ parentKey.endsWith('Repo')) {
67
+ if (value.trim().length > 0) {
68
+ out.push(value);
69
+ }
70
+ }
71
+ return;
72
+ }
73
+ if (Array.isArray(value)) {
74
+ for (const item of value) {
75
+ collectMarketplaceSourceCandidates(item, out, parentKey);
76
+ }
77
+ return;
78
+ }
79
+ if (value && typeof value === 'object') {
80
+ for (const [key, child] of Object.entries(value)) {
81
+ collectMarketplaceSourceCandidates(child, out, key);
82
+ }
83
+ }
84
+ }
85
+ function wantedSourceKeys(source) {
86
+ const wanted = new Set([source.clientValue, source.displayValue, source.input]
87
+ .map((value) => normalizeMarketplaceSourceKey(value))
88
+ .filter((value) => value.length > 0));
89
+ if (source.kind === 'local') {
90
+ wanted.add(normalizeMarketplaceSourceKey(source.localPath));
91
+ }
92
+ return wanted;
93
+ }
94
+ function candidatesMatch(candidates, wanted) {
95
+ return candidates.some((candidate) => {
96
+ const key = normalizeMarketplaceSourceKey(candidate);
97
+ return key.length > 0 && wanted.has(key);
98
+ });
99
+ }
100
+ /** True when list --json output already contains the registration source. */
101
+ export function marketplaceListContainsSource(listJsonText, source) {
102
+ let parsed;
103
+ try {
104
+ parsed = JSON.parse(listJsonText);
105
+ }
106
+ catch {
107
+ return false;
108
+ }
109
+ const candidates = [];
110
+ collectMarketplaceSourceCandidates(parsed, candidates);
111
+ return candidatesMatch(candidates, wantedSourceKeys(source));
112
+ }
113
+ const MARKETPLACE_NAME = /^[A-Za-z0-9][A-Za-z0-9._-]*$/;
114
+ /**
115
+ * Resolve the client-side marketplace name for a registered source from list --json output.
116
+ * Matching is by source path/URL/repo, never by name, mirroring the registration precheck.
117
+ */
118
+ export function marketplaceNameFromList(listJsonText, source) {
119
+ let parsed;
120
+ try {
121
+ parsed = JSON.parse(listJsonText);
122
+ }
123
+ catch {
124
+ return undefined;
125
+ }
126
+ const wanted = wantedSourceKeys(source);
127
+ const visit = (value) => {
128
+ if (Array.isArray(value)) {
129
+ for (const item of value) {
130
+ const found = visit(item);
131
+ if (found) {
132
+ return found;
133
+ }
134
+ }
135
+ return undefined;
136
+ }
137
+ if (!value || typeof value !== 'object') {
138
+ return undefined;
139
+ }
140
+ const record = value;
141
+ if (typeof record.name === 'string' && MARKETPLACE_NAME.test(record.name)) {
142
+ const candidates = [];
143
+ for (const [key, child] of Object.entries(record)) {
144
+ if (key !== 'name') {
145
+ collectMarketplaceSourceCandidates(child, candidates, key);
146
+ }
147
+ }
148
+ if (candidatesMatch(candidates, wanted)) {
149
+ return record.name;
150
+ }
151
+ }
152
+ for (const child of Object.values(record)) {
153
+ const found = visit(child);
154
+ if (found) {
155
+ return found;
156
+ }
157
+ }
158
+ return undefined;
159
+ };
160
+ return visit(parsed);
161
+ }
5
162
  function runnerFor(runtime) {
6
163
  return runtime?.processRunner ?? systemProcessRunner;
7
164
  }
@@ -100,6 +257,111 @@ function processFailureMessage(result) {
100
257
  const detail = result.stderr.trim() || result.stdout.trim() || result.message;
101
258
  return `${detail}${result.exitCode === null ? '' : ` (exit ${result.exitCode})`}`;
102
259
  }
260
+ function nativePluginInstaller(definition, pluginInstallArgs) {
261
+ return async (source, plugins, runtime, onInvocation) => {
262
+ const pluginResult = (plugin, result) => ({
263
+ id: definition.id,
264
+ label: definition.label,
265
+ plugin,
266
+ ...result,
267
+ });
268
+ const manualCommand = (plugin, marketplace = '<marketplace>') => [definition.executable, ...pluginInstallArgs, `${plugin}@${marketplace}`].join(' ');
269
+ const listed = await runnerFor(runtime).run({
270
+ executable: definition.executable,
271
+ args: ['plugin', 'marketplace', 'list', '--json'],
272
+ captureOutput: true,
273
+ signal: runtime?.signal,
274
+ });
275
+ if (listed.status !== 'completed') {
276
+ return plugins.map((plugin) => {
277
+ if (listed.status === 'interrupted') {
278
+ return pluginResult(plugin, {
279
+ status: 'interrupted',
280
+ message: `插件安装前 list 被 ${listed.signal} 中断;未安装 ${plugin}。`,
281
+ recovery: '确认客户端状态后重新运行命令。',
282
+ });
283
+ }
284
+ if (listed.status === 'missing') {
285
+ return pluginResult(plugin, {
286
+ status: 'missing-cli',
287
+ message: `未找到 ${definition.executable} CLI;未安装 ${plugin}。`,
288
+ recovery: definition.missingRecovery,
289
+ });
290
+ }
291
+ return pluginResult(plugin, {
292
+ status: 'failed',
293
+ message: `无法读取已注册 Marketplace 列表: ${processFailureMessage(listed)}`,
294
+ recovery: `确认 Marketplace 已注册后手动运行: ${manualCommand(plugin)}`,
295
+ });
296
+ });
297
+ }
298
+ const marketplace = marketplaceNameFromList(listed.stdout, source);
299
+ if (!marketplace) {
300
+ return plugins.map((plugin) => pluginResult(plugin, {
301
+ status: 'failed',
302
+ message: `plugin marketplace list --json 中没有找到来源 ${source.displayValue} 对应的 Marketplace 名称;未安装 ${plugin}。`,
303
+ recovery: `运行 ${definition.executable} plugin marketplace list 查看名称后手动运行: ${manualCommand(plugin)}`,
304
+ }));
305
+ }
306
+ const results = [];
307
+ let interrupted = false;
308
+ for (const plugin of plugins) {
309
+ const invocation = {
310
+ executable: definition.executable,
311
+ args: [...pluginInstallArgs, `${plugin}@${marketplace}`],
312
+ };
313
+ if (interrupted || runtime?.signal?.aborted) {
314
+ results.push(pluginResult(plugin, {
315
+ status: 'interrupted',
316
+ message: `因中断未安装 ${plugin}@${marketplace}。`,
317
+ recovery: '确认客户端状态后重新运行命令。',
318
+ invocation,
319
+ }));
320
+ continue;
321
+ }
322
+ onInvocation?.(invocation);
323
+ const executed = await runnerFor(runtime).run({
324
+ executable: invocation.executable,
325
+ args: invocation.args,
326
+ captureOutput: true,
327
+ signal: runtime?.signal,
328
+ });
329
+ if (executed.status === 'completed') {
330
+ results.push(pluginResult(plugin, {
331
+ status: 'completed',
332
+ message: `插件 ${plugin}@${marketplace} 已通过原生 CLI 安装。`,
333
+ invocation,
334
+ }));
335
+ }
336
+ else if (executed.status === 'missing') {
337
+ results.push(pluginResult(plugin, {
338
+ status: 'missing-cli',
339
+ message: `执行前未找到 ${definition.executable} CLI;未安装 ${plugin}。`,
340
+ recovery: definition.missingRecovery,
341
+ invocation,
342
+ }));
343
+ }
344
+ else if (executed.status === 'interrupted') {
345
+ interrupted = true;
346
+ results.push(pluginResult(plugin, {
347
+ status: 'interrupted',
348
+ message: `插件安装被 ${executed.signal} 中断。`,
349
+ recovery: '确认客户端状态后重新运行命令。',
350
+ invocation,
351
+ }));
352
+ }
353
+ else {
354
+ results.push(pluginResult(plugin, {
355
+ status: 'failed',
356
+ message: `原生 CLI 安装插件失败: ${processFailureMessage(executed)}`,
357
+ recovery: `确认插件名存在于 Marketplace ${marketplace} 后重试: ${manualCommand(plugin, marketplace)}`,
358
+ invocation,
359
+ }));
360
+ }
361
+ }
362
+ return results;
363
+ };
364
+ }
103
365
  function nativeAdapter(definition) {
104
366
  const probeArgs = ['plugin', 'marketplace', 'add', '--help'];
105
367
  return {
@@ -171,10 +433,46 @@ function nativeAdapter(definition) {
171
433
  executable: definition.executable,
172
434
  args: ['plugin', 'marketplace', 'add', source.clientValue],
173
435
  };
436
+ const listed = await runnerFor(runtime).run({
437
+ executable: definition.executable,
438
+ args: ['plugin', 'marketplace', 'list', '--json'],
439
+ captureOutput: true,
440
+ signal: runtime?.signal,
441
+ });
442
+ if (listed.status === 'interrupted') {
443
+ return {
444
+ id: definition.id,
445
+ label: definition.label,
446
+ status: 'interrupted',
447
+ message: `注册前 list 被 ${listed.signal} 中断。`,
448
+ recovery: '确认客户端状态后重新运行命令。',
449
+ invocation,
450
+ };
451
+ }
452
+ if (listed.status === 'missing') {
453
+ return {
454
+ id: definition.id,
455
+ label: definition.label,
456
+ status: 'missing-cli',
457
+ message: `执行前未找到 ${definition.executable} CLI。`,
458
+ recovery: definition.missingRecovery,
459
+ invocation,
460
+ };
461
+ }
462
+ if (listed.status === 'completed' &&
463
+ marketplaceListContainsSource(listed.stdout, source)) {
464
+ return {
465
+ id: definition.id,
466
+ label: definition.label,
467
+ status: 'completed',
468
+ message: 'Marketplace 已注册(list 预检命中)。',
469
+ invocation,
470
+ };
471
+ }
174
472
  const executed = await runnerFor(runtime).run({
175
473
  executable: invocation.executable,
176
474
  args: invocation.args,
177
- captureOutput: false,
475
+ captureOutput: true,
178
476
  signal: runtime?.signal,
179
477
  });
180
478
  if (executed.status === 'completed') {
@@ -206,6 +504,16 @@ function nativeAdapter(definition) {
206
504
  invocation,
207
505
  };
208
506
  }
507
+ const failureText = `${executed.stdout}\n${executed.stderr}\n${executed.message}`;
508
+ if (ALREADY_REGISTERED_PATTERNS.some((pattern) => pattern.test(failureText))) {
509
+ return {
510
+ id: definition.id,
511
+ label: definition.label,
512
+ status: 'completed',
513
+ message: 'Marketplace 已注册(来源已存在)。',
514
+ invocation,
515
+ };
516
+ }
209
517
  return {
210
518
  id: definition.id,
211
519
  label: definition.label,
@@ -215,6 +523,9 @@ function nativeAdapter(definition) {
215
523
  invocation,
216
524
  };
217
525
  },
526
+ ...(definition.pluginInstallArgs
527
+ ? { installPlugins: nativePluginInstaller(definition, definition.pluginInstallArgs) }
528
+ : {}),
218
529
  };
219
530
  }
220
531
  const claudeAdapter = nativeAdapter({
@@ -222,14 +533,23 @@ const claudeAdapter = nativeAdapter({
222
533
  label: 'Claude Code',
223
534
  executable: 'claude',
224
535
  localIndexCandidates: ['.claude-plugin/marketplace.json'],
225
- missingRecovery: '安装或升级 Claude Code CLI,确认 plugin marketplace add 可用后重试。',
536
+ missingRecovery: '安装或升级 Claude Code CLI(例如 npm install -g @anthropic-ai/claude-code),确认 claude plugin marketplace add 可用后重试。',
537
+ pluginInstallArgs: ['plugin', 'install'],
226
538
  });
227
539
  const codexAdapter = nativeAdapter({
228
540
  id: 'codex',
229
541
  label: 'Codex',
230
542
  executable: 'codex',
231
543
  localIndexCandidates: ['.agents/plugins/marketplace.json'],
232
- missingRecovery: '安装或升级 Codex CLI,确认 plugin marketplace add 可用后重试。',
544
+ missingRecovery: '安装或升级 Codex CLI(例如 npm install -g @openai/codex),确认 codex plugin marketplace add 可用后重试。',
545
+ pluginInstallArgs: ['plugin', 'add'],
546
+ });
547
+ const grokAdapter = nativeAdapter({
548
+ id: 'grok',
549
+ label: 'Grok Build',
550
+ executable: 'grok',
551
+ localIndexCandidates: ['.grok-plugin/marketplace.json'],
552
+ missingRecovery: '安装或升级 Grok Build CLI,确认 plugin marketplace add 可用后重试。',
233
553
  });
234
554
  const copilotAdapter = nativeAdapter({
235
555
  id: 'copilot',
@@ -355,6 +675,7 @@ const cursorAdapter = {
355
675
  export const MARKETPLACE_REGISTRATION_ADAPTERS = [
356
676
  claudeAdapter,
357
677
  codexAdapter,
678
+ grokAdapter,
358
679
  copilotAdapter,
359
680
  vscodeAdapter,
360
681
  cursorAdapter,
@@ -1 +1 @@
1
- {"version":3,"file":"marketplace-registration.js","sourceRoot":"","sources":["../../src/adapters/marketplace-registration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"marketplace-registration.js","sourceRoot":"","sources":["../../src/adapters/marketplace-registration.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,9 @@ export declare function buildGithubCopilotMarketplace(marketplace: MarketplaceMe
8
8
  export declare function buildCursorMarketplace(marketplace: MarketplaceMetadata, plugins: readonly MarketplacePluginSource[]): unknown;
9
9
  export declare function buildClaudeMarketplace(marketplace: MarketplaceMetadata, plugins: readonly MarketplacePluginSource[]): unknown;
10
10
  export declare function buildCodexMarketplace(marketplace: MarketplaceMetadata, plugins: readonly MarketplacePluginSource[]): unknown;
11
+ /**
12
+ * Grok Build marketplace index (`.grok-plugin/marketplace.json`).
13
+ * Local sources use `{ type: "local", path }` per xAI plugin-marketplace catalog format.
14
+ */
15
+ export declare function buildGrokMarketplace(marketplace: MarketplaceMetadata, plugins: readonly MarketplacePluginSource[]): unknown;
11
16
  export declare function buildMarketplaceCatalog(plugins: readonly MarketplacePluginSource[]): string;