@monoes/monomindcli 2.16.6 → 2.16.8
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.
- package/.claude/agents/github/monoswarm-multi-repo.md +2 -2
- package/.claude/agents/github/sync-coordinator.md +1 -1
- package/.claude/commands/agents/agent-capabilities.md +2 -5
- package/.claude/commands/coordination/task-orchestrate.md +0 -1
- package/.claude/commands/hooks/post-edit.md +1 -1
- package/.claude/commands/hooks/post-task.md +2 -3
- package/.claude/commands/hooks/pre-edit.md +0 -2
- package/.claude/commands/hooks/session-end.md +4 -4
- package/.claude/commands/monoswarm/consensus.md +1 -1
- package/.claude/commands/monoswarm/memory.md +1 -1
- package/.claude/commands/monoswarm/monoswarm.md +1 -1
- package/.claude/commands/monoswarm/spawn.md +1 -1
- package/.claude/commands/optimization/auto-topology.md +6 -9
- package/.claude/commands/optimization/performance-optimize.md +23 -39
- package/.claude/helpers/build-skill-registry.cjs +4 -3
- package/.claude/helpers/pick-rank.cjs +118 -9
- package/dist/src/catalog/projection.d.ts.map +1 -1
- package/dist/src/catalog/projection.js +2 -1
- package/dist/src/catalog/projection.js.map +1 -1
- package/dist/src/commands/agent-exec.d.ts.map +1 -1
- package/dist/src/commands/agent-exec.js +10 -1
- package/dist/src/commands/agent-exec.js.map +1 -1
- package/dist/src/commands/cleanup-plan.js +1 -1
- package/dist/src/commands/cleanup-plan.js.map +1 -1
- package/dist/src/commands/doctor.js +1 -1
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/hooks-core-commands.d.ts.map +1 -1
- package/dist/src/commands/hooks-core-commands.js +10 -42
- package/dist/src/commands/hooks-core-commands.js.map +1 -1
- package/dist/src/commands/hooks-extended-commands.d.ts.map +1 -1
- package/dist/src/commands/hooks-extended-commands.js +9 -5
- package/dist/src/commands/hooks-extended-commands.js.map +1 -1
- package/dist/src/commands/hooks-routing-commands.d.ts.map +1 -1
- package/dist/src/commands/hooks-routing-commands.js +13 -24
- package/dist/src/commands/hooks-routing-commands.js.map +1 -1
- package/dist/src/commands/hooks-workers.d.ts.map +1 -1
- package/dist/src/commands/hooks-workers.js +8 -8
- package/dist/src/commands/hooks-workers.js.map +1 -1
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +9 -16
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/monograph.d.ts.map +1 -1
- package/dist/src/commands/monograph.js +24 -2
- package/dist/src/commands/monograph.js.map +1 -1
- package/dist/src/commands/org.d.ts.map +1 -1
- package/dist/src/commands/org.js +29 -1
- package/dist/src/commands/org.js.map +1 -1
- package/dist/src/commands/platforms.js +2 -1
- package/dist/src/commands/platforms.js.map +1 -1
- package/dist/src/init/asset-maps.d.ts +46 -0
- package/dist/src/init/asset-maps.d.ts.map +1 -0
- package/dist/src/init/asset-maps.js +177 -0
- package/dist/src/init/asset-maps.js.map +1 -0
- package/dist/src/init/copy-assets.d.ts.map +1 -1
- package/dist/src/init/copy-assets.js +4 -1
- package/dist/src/init/copy-assets.js.map +1 -1
- package/dist/src/init/executor.d.ts.map +1 -1
- package/dist/src/init/executor.js +5 -3
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/init/file-guard.d.ts +6 -0
- package/dist/src/init/file-guard.d.ts.map +1 -1
- package/dist/src/init/file-guard.js +22 -8
- package/dist/src/init/file-guard.js.map +1 -1
- package/dist/src/init/fs-helpers.d.ts +63 -0
- package/dist/src/init/fs-helpers.d.ts.map +1 -0
- package/dist/src/init/fs-helpers.js +198 -0
- package/dist/src/init/fs-helpers.js.map +1 -0
- package/dist/src/init/init-manifest.d.ts +106 -0
- package/dist/src/init/init-manifest.d.ts.map +1 -0
- package/dist/src/init/init-manifest.js +222 -0
- package/dist/src/init/init-manifest.js.map +1 -0
- package/dist/src/init/shared.d.ts +3 -201
- package/dist/src/init/shared.d.ts.map +1 -1
- package/dist/src/init/shared.js +7 -573
- package/dist/src/init/shared.js.map +1 -1
- package/dist/src/init/upgrade.d.ts.map +1 -1
- package/dist/src/init/upgrade.js +3 -1
- package/dist/src/init/upgrade.js.map +1 -1
- package/dist/src/init/write-antigravity.d.ts.map +1 -1
- package/dist/src/init/write-antigravity.js +2 -1
- package/dist/src/init/write-antigravity.js.map +1 -1
- package/dist/src/init/write-capabilities.js +2 -1
- package/dist/src/init/write-capabilities.js.map +1 -1
- package/dist/src/init/write-claude.d.ts +3 -5
- package/dist/src/init/write-claude.d.ts.map +1 -1
- package/dist/src/init/write-claude.js +6 -210
- package/dist/src/init/write-claude.js.map +1 -1
- package/dist/src/init/write-codex.js +1 -1
- package/dist/src/init/write-codex.js.map +1 -1
- package/dist/src/init/write-kimicode.d.ts.map +1 -1
- package/dist/src/init/write-kimicode.js +6 -2
- package/dist/src/init/write-kimicode.js.map +1 -1
- package/dist/src/init/write-opencode.d.ts.map +1 -1
- package/dist/src/init/write-opencode.js +5 -4
- package/dist/src/init/write-opencode.js.map +1 -1
- package/dist/src/init/write-runtime-config.d.ts.map +1 -1
- package/dist/src/init/write-runtime-config.js +2 -1
- package/dist/src/init/write-runtime-config.js.map +1 -1
- package/dist/src/init/write-settings.d.ts +9 -0
- package/dist/src/init/write-settings.d.ts.map +1 -0
- package/dist/src/init/write-settings.js +217 -0
- package/dist/src/init/write-settings.js.map +1 -0
- package/dist/src/mcp-tools/hooks-embedding.d.ts +2 -1
- package/dist/src/mcp-tools/hooks-embedding.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-embedding.js +3 -0
- package/dist/src/mcp-tools/hooks-embedding.js.map +1 -1
- package/dist/src/mcp-tools/hooks-intelligence.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-intelligence.js +11 -8
- package/dist/src/mcp-tools/hooks-intelligence.js.map +1 -1
- package/dist/src/mcp-tools/hooks-routing.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-routing.js +31 -38
- package/dist/src/mcp-tools/hooks-routing.js.map +1 -1
- package/dist/src/mcp-tools/platforms-tools.js +1 -1
- package/dist/src/mcp-tools/platforms-tools.js.map +1 -1
- package/dist/src/memory/memory-bridge.d.ts +13 -0
- package/dist/src/memory/memory-bridge.d.ts.map +1 -1
- package/dist/src/memory/memory-bridge.js +68 -20
- package/dist/src/memory/memory-bridge.js.map +1 -1
- package/dist/src/monovector/command-outcomes.d.ts +2 -1
- package/dist/src/monovector/command-outcomes.d.ts.map +1 -1
- package/dist/src/monovector/command-outcomes.js +2 -2
- package/dist/src/monovector/command-outcomes.js.map +1 -1
- package/dist/src/monovector/model-outcomes.d.ts +4 -2
- package/dist/src/monovector/model-outcomes.d.ts.map +1 -1
- package/dist/src/monovector/model-outcomes.js +11 -3
- package/dist/src/monovector/model-outcomes.js.map +1 -1
- package/dist/src/orgrt/approvals.d.ts +25 -0
- package/dist/src/orgrt/approvals.d.ts.map +1 -1
- package/dist/src/orgrt/approvals.js +51 -2
- package/dist/src/orgrt/approvals.js.map +1 -1
- package/dist/src/orgrt/budget-closure.d.ts +39 -0
- package/dist/src/orgrt/budget-closure.d.ts.map +1 -0
- package/dist/src/orgrt/budget-closure.js +380 -0
- package/dist/src/orgrt/budget-closure.js.map +1 -0
- package/dist/src/orgrt/daemon.d.ts +21 -2
- package/dist/src/orgrt/daemon.d.ts.map +1 -1
- package/dist/src/orgrt/daemon.js +39 -45
- package/dist/src/orgrt/daemon.js.map +1 -1
- package/dist/src/orgrt/decisions.d.ts +8 -0
- package/dist/src/orgrt/decisions.d.ts.map +1 -1
- package/dist/src/orgrt/decisions.js +7 -1
- package/dist/src/orgrt/decisions.js.map +1 -1
- package/dist/src/orgrt/policy.d.ts +6 -0
- package/dist/src/orgrt/policy.d.ts.map +1 -1
- package/dist/src/orgrt/policy.js +5 -0
- package/dist/src/orgrt/policy.js.map +1 -1
- package/dist/src/orgrt/runner-registry.d.ts +11 -2
- package/dist/src/orgrt/runner-registry.d.ts.map +1 -1
- package/dist/src/orgrt/runner-registry.js +11 -34
- package/dist/src/orgrt/runner-registry.js.map +1 -1
- package/dist/src/orgrt/task-dag.d.ts +13 -0
- package/dist/src/orgrt/task-dag.d.ts.map +1 -1
- package/dist/src/orgrt/task-dag.js +29 -0
- package/dist/src/orgrt/task-dag.js.map +1 -1
- package/dist/src/orgrt/version-probe.d.ts +43 -0
- package/dist/src/orgrt/version-probe.d.ts.map +1 -0
- package/dist/src/orgrt/version-probe.js +136 -0
- package/dist/src/orgrt/version-probe.js.map +1 -0
- package/dist/src/platform-adapters/locations.d.ts +12 -0
- package/dist/src/platform-adapters/locations.d.ts.map +1 -0
- package/dist/src/platform-adapters/locations.js +57 -0
- package/dist/src/platform-adapters/locations.js.map +1 -0
- package/dist/src/platform-adapters/merge.d.ts +2 -0
- package/dist/src/platform-adapters/merge.d.ts.map +1 -1
- package/dist/src/platform-adapters/merge.js +7 -0
- package/dist/src/platform-adapters/merge.js.map +1 -1
- package/dist/src/platform-adapters/migration.js +1 -1
- package/dist/src/platform-adapters/migration.js.map +1 -1
- package/dist/src/platform-adapters/mutation.js +1 -1
- package/dist/src/platform-adapters/mutation.js.map +1 -1
- package/dist/src/platform-adapters/operations.d.ts +3 -16
- package/dist/src/platform-adapters/operations.d.ts.map +1 -1
- package/dist/src/platform-adapters/operations.js +25 -168
- package/dist/src/platform-adapters/operations.js.map +1 -1
- package/dist/src/platform-adapters/owned-files.js +1 -1
- package/dist/src/platform-adapters/owned-files.js.map +1 -1
- package/dist/src/platform-adapters/platform-doctor.d.ts +9 -0
- package/dist/src/platform-adapters/platform-doctor.d.ts.map +1 -0
- package/dist/src/platform-adapters/platform-doctor.js +117 -0
- package/dist/src/platform-adapters/platform-doctor.js.map +1 -0
- package/dist/src/platform-adapters/shared-surface.d.ts.map +1 -1
- package/dist/src/platform-adapters/shared-surface.js +2 -1
- package/dist/src/platform-adapters/shared-surface.js.map +1 -1
- package/dist/src/platform-adapters/types.d.ts +14 -1
- package/dist/src/platform-adapters/types.d.ts.map +1 -1
- package/dist/src/protocol-capabilities.d.ts +4 -1
- package/dist/src/protocol-capabilities.d.ts.map +1 -1
- package/dist/src/protocol-capabilities.js +4 -0
- package/dist/src/protocol-capabilities.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/org-skills/api-designer/SKILL.md +1 -1
- package/org-skills/code-documenter/SKILL.md +1 -1
- package/package.json +3 -3
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: monoswarm-multi-repo
|
|
3
|
-
description: Rolls one change out across many repositories
|
|
4
|
-
when_to_use: Use when one change must land in many repos
|
|
3
|
+
description: Rolls one change out across many GitHub repositories — repo discovery, synchronized edits, linked PRs, and cross-repo dependency updates
|
|
4
|
+
when_to_use: Use when one change must land in many GitHub repos with linked PRs; for one repo's layout use repo-architect, for versions use sync-coordinator
|
|
5
5
|
tags: [github, multi-repo, automation, dependencies]
|
|
6
6
|
category: github
|
|
7
7
|
---
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sync-coordinator
|
|
3
3
|
description: Keeps packages aligned — versions, dependencies, cross-package integration tests, and docs — across a monorepo or related repositories
|
|
4
|
-
when_to_use: Use when package versions or dependencies drift across a monorepo or related repos and need aligning; not for repo layout or
|
|
4
|
+
when_to_use: Use when package versions or dependencies drift across a monorepo or related repos and need aligning; not for repo layout or multi-repo rollouts
|
|
5
5
|
tags: [github, monorepo, versioning, dependencies, sync]
|
|
6
6
|
category: github
|
|
7
7
|
---
|
|
@@ -18,9 +18,6 @@ Matrix of agent capabilities and their specializations.
|
|
|
18
18
|
|
|
19
19
|
## Querying Capabilities
|
|
20
20
|
```bash
|
|
21
|
-
#
|
|
22
|
-
npx monomind
|
|
23
|
-
|
|
24
|
-
# For specific agent
|
|
25
|
-
npx monomind agent capabilities --type coder
|
|
21
|
+
# Rank installed agents whose capabilities fit a task
|
|
22
|
+
npx monomind pick -t "write integration tests" --agents
|
|
26
23
|
```
|
|
@@ -41,7 +41,7 @@ npx monomind hooks post-edit -f src/utils.ts --format json
|
|
|
41
41
|
|
|
42
42
|
## Output
|
|
43
43
|
|
|
44
|
-
-
|
|
44
|
+
- Whether the outcome was recorded (the learning-feedback write), and which store took it
|
|
45
45
|
|
|
46
46
|
## Claude Code Integration
|
|
47
47
|
|
|
@@ -41,9 +41,8 @@ npx monomind hooks post-task -i task-123 --success true --format json
|
|
|
41
41
|
|
|
42
42
|
## Output
|
|
43
43
|
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
- Trajectory ID (for intelligence system tracking)
|
|
44
|
+
- Whether the learning feedback was recorded, and which store took it
|
|
45
|
+
- Whether the routing outcome was saved
|
|
47
46
|
|
|
48
47
|
## MCP Tool
|
|
49
48
|
|
|
@@ -42,8 +42,6 @@ npx monomind hooks pre-edit -f src/utils.ts --format json
|
|
|
42
42
|
|
|
43
43
|
- **File context** — file type, exists/not-exists, operation
|
|
44
44
|
- **Suggested agents** — which agent types are best for this file
|
|
45
|
-
- **Related files** — files likely affected by the edit
|
|
46
|
-
- **Learned patterns** — matching patterns from past edits with confidence scores
|
|
47
45
|
- **Potential risks** — warnings about the edit
|
|
48
46
|
|
|
49
47
|
## Claude Code Integration
|
|
@@ -36,10 +36,10 @@ npx monomind hooks session-end --format json
|
|
|
36
36
|
## Output
|
|
37
37
|
|
|
38
38
|
Session summary including:
|
|
39
|
-
- Session ID
|
|
40
|
-
- Tasks executed
|
|
41
|
-
-
|
|
42
|
-
-
|
|
39
|
+
- Session ID
|
|
40
|
+
- Tasks executed, agents spawned, patterns learned, trajectories recorded
|
|
41
|
+
- Pending insights and memory entries
|
|
42
|
+
- Whether the session state was saved, and which store took it
|
|
43
43
|
|
|
44
44
|
## Restore Later
|
|
45
45
|
|
|
@@ -8,7 +8,7 @@ description: Propose or vote on a threshold-based decision — vote-count bookke
|
|
|
8
8
|
Propose or vote on a threshold-based decision — vote-count bookkeeping over one
|
|
9
9
|
JSON state file. See `doc/concepts/monoswarm.md` for how the mechanism works.
|
|
10
10
|
|
|
11
|
-
There is no `
|
|
11
|
+
There is no `vote` subcommand of `monomind monoswarm` — this is invoked
|
|
12
12
|
directly as an MCP tool call (see below).
|
|
13
13
|
|
|
14
14
|
## Parameters
|
|
@@ -8,7 +8,7 @@ description: Access and manage monoswarm shared memory — a key-value blob on t
|
|
|
8
8
|
Access and manage monoswarm shared memory — a key-value blob on the run's
|
|
9
9
|
state file, readable/writable by all agents coordinating in the current run.
|
|
10
10
|
|
|
11
|
-
There is no `
|
|
11
|
+
There is no `memory` subcommand of `monomind monoswarm` — this is invoked
|
|
12
12
|
directly as an MCP tool call (see below).
|
|
13
13
|
|
|
14
14
|
## Parameters
|
|
@@ -76,7 +76,7 @@ mcp__monomind__swarm_shutdown({ swarmId: "current" })
|
|
|
76
76
|
|
|
77
77
|
## Vote-Based Consensus (Optional)
|
|
78
78
|
|
|
79
|
-
There is no `
|
|
79
|
+
There is no `consensus` subcommand of `monomind monoswarm` — vote/decision
|
|
80
80
|
functionality is available **exclusively via MCP tools**
|
|
81
81
|
(`mcp__monomind__monoswarm_*`). Invoke the tools directly, or use one of the
|
|
82
82
|
slash commands in this directory, which call the tools for you.
|
|
@@ -8,7 +8,7 @@ description: Write worker agent records into the agent store and register their
|
|
|
8
8
|
Write worker agent records into the agent store and register their ids on
|
|
9
9
|
the monoswarm state file (combines `agent_spawn` + `monoswarm_join`).
|
|
10
10
|
|
|
11
|
-
There is no `
|
|
11
|
+
There is no `spawn` subcommand of `monomind monoswarm`, and no `--claude`
|
|
12
12
|
flag that launches Claude Code as a lead process — this tool creates
|
|
13
13
|
bookkeeping entries only. No process, thread, or agent is started; real
|
|
14
14
|
concurrency comes from Claude Code's Task tool.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: optimization:auto-topology
|
|
3
|
-
description: Automatically select the optimal monoswarm topology based on task complexity — use pre-task hook recommendations, monoswarm init flags, and
|
|
3
|
+
description: Automatically select the optimal monoswarm topology based on task complexity — use pre-task hook recommendations, monoswarm init flags, and the performance_optimize MCP tool
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Auto Topology Selection
|
|
@@ -50,14 +50,11 @@ mcp__monomind__coordination_topology({
|
|
|
50
50
|
})
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
-
Or
|
|
53
|
+
Or get system-level recommendations from the performance MCP tool:
|
|
54
54
|
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
# Apply recommended optimizations
|
|
60
|
-
npx monomind performance optimize --target all --apply
|
|
55
|
+
```javascript
|
|
56
|
+
// Analyze and recommend optimizations
|
|
57
|
+
mcp__monomind__performance_optimize({ target: "all" })
|
|
61
58
|
```
|
|
62
59
|
|
|
63
60
|
## Hook Integration
|
|
@@ -81,5 +78,5 @@ npx monomind performance optimize --target all --apply
|
|
|
81
78
|
## See Also
|
|
82
79
|
|
|
83
80
|
- `monoswarm init` — initialize monoswarm with explicit topology
|
|
84
|
-
- `
|
|
81
|
+
- `mcp__monomind__performance_optimize` — system-level performance recommendations
|
|
85
82
|
- `hooks pre-task` — get routing and topology recommendations
|
|
@@ -1,52 +1,45 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: optimization:performance-optimize
|
|
3
|
-
description: Analyze
|
|
3
|
+
description: Analyze system-level performance and get optimization recommendations — memory, latency, and throughput — using the mcp__monomind__performance_optimize MCP tool
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# performance optimize
|
|
7
7
|
|
|
8
|
-
Analyze
|
|
8
|
+
Analyze system-level performance and get optimization recommendations — memory, latency, and throughput.
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
There is no `optimize` subcommand of `monomind performance` — this is invoked
|
|
11
|
+
directly as an MCP tool call. It is a rule-based recommendation engine over
|
|
12
|
+
real CPU, memory, and disk readings: only garbage collection and probe-file
|
|
13
|
+
cleanup are applied automatically (with `aggressive: true`); everything else is
|
|
14
|
+
returned as a recommendation.
|
|
11
15
|
|
|
12
|
-
|
|
13
|
-
npx monomind performance optimize [options]
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## Options
|
|
16
|
+
## Parameters
|
|
17
17
|
|
|
18
|
-
|
|
|
19
|
-
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
| `--dry-run` | `-d` | boolean | `false` | Show recommended changes without applying |
|
|
18
|
+
| Parameter | Type | Default | Description |
|
|
19
|
+
|---|---|---|---|
|
|
20
|
+
| `target` | string | `all` | Optimization target: `memory`, `latency`, `throughput`, `all` |
|
|
21
|
+
| `aggressive` | boolean | `false` | Force GC (needs `--expose-gc`) and clear perf probe files |
|
|
23
22
|
|
|
24
23
|
## Examples
|
|
25
24
|
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
# Optimize everything and apply
|
|
31
|
-
npx monomind performance optimize --target all --apply
|
|
32
|
-
|
|
33
|
-
# Memory-specific optimization
|
|
34
|
-
npx monomind performance optimize --target memory --apply
|
|
25
|
+
```javascript
|
|
26
|
+
// Analyze and show recommendations
|
|
27
|
+
mcp__monomind__performance_optimize({ target: "all" })
|
|
35
28
|
|
|
36
|
-
|
|
37
|
-
|
|
29
|
+
// Memory-specific recommendations, forcing a GC pass
|
|
30
|
+
mcp__monomind__performance_optimize({ target: "memory", aggressive: true })
|
|
38
31
|
|
|
39
|
-
|
|
40
|
-
|
|
32
|
+
// Latency recommendations (disk I/O)
|
|
33
|
+
mcp__monomind__performance_optimize({ target: "latency" })
|
|
41
34
|
```
|
|
42
35
|
|
|
43
36
|
## Optimization Targets
|
|
44
37
|
|
|
45
|
-
| Target | What It
|
|
38
|
+
| Target | What It Checks |
|
|
46
39
|
|---|---|
|
|
47
|
-
| `memory` |
|
|
48
|
-
| `
|
|
49
|
-
| `
|
|
40
|
+
| `memory` | System memory pressure, HNSW rebuild recommendation, forced GC (aggressive) |
|
|
41
|
+
| `latency` | Disk I/O latency, batching of file operations |
|
|
42
|
+
| `throughput` | Batch size for the CPU core count, CPU load throttling |
|
|
50
43
|
| `all` | All of the above |
|
|
51
44
|
|
|
52
45
|
## Related Commands
|
|
@@ -62,15 +55,6 @@ npx monomind performance benchmark --suite all
|
|
|
62
55
|
npx monomind performance metrics
|
|
63
56
|
```
|
|
64
57
|
|
|
65
|
-
## MCP Tool
|
|
66
|
-
|
|
67
|
-
```javascript
|
|
68
|
-
mcp__monomind__performance_optimize({
|
|
69
|
-
target: "all",
|
|
70
|
-
apply: false
|
|
71
|
-
})
|
|
72
|
-
```
|
|
73
|
-
|
|
74
58
|
## See Also
|
|
75
59
|
|
|
76
60
|
- `performance bottleneck` — diagnose what to optimize first
|
|
@@ -428,8 +428,9 @@ function mtime(p) {
|
|
|
428
428
|
try { return fs.statSync(p).mtimeMs; } catch (e) { return 0; }
|
|
429
429
|
}
|
|
430
430
|
|
|
431
|
-
/** Newest mtime across every source the index is built from
|
|
432
|
-
*
|
|
431
|
+
/** Newest mtime across every source the index is built from: each skill's
|
|
432
|
+
* SKILL.md and each command file, so an in-place edit counts (a stat scan,
|
|
433
|
+
* a few ms for ~500 skills). */
|
|
433
434
|
function sourcesMtime(root, opts) {
|
|
434
435
|
var newest = Math.max(
|
|
435
436
|
skillTreeMtime(path.join(root, '.claude', 'skills')),
|
|
@@ -442,7 +443,7 @@ function sourcesMtime(root, opts) {
|
|
|
442
443
|
});
|
|
443
444
|
if (!opts || opts.user !== false) newest = Math.max(newest, skillTreeMtime(path.join(homeDir(opts), '.claude', 'skills')));
|
|
444
445
|
orgIndex.orgSkillRoots(root, opts).forEach(function (r) {
|
|
445
|
-
newest = Math.max(newest,
|
|
446
|
+
newest = Math.max(newest, skillTreeMtime(r.dir));
|
|
446
447
|
});
|
|
447
448
|
return newest;
|
|
448
449
|
}
|
|
@@ -14,6 +14,14 @@
|
|
|
14
14
|
* `pick: low` frontmatter) keeps LOW_PICK_FACTOR of its score, so it surfaces
|
|
15
15
|
* only when the task names it. Equal scores keep catalog order.
|
|
16
16
|
*
|
|
17
|
+
* The task's head outweighs its modifiers (English only): in "write developer
|
|
18
|
+
* documentation for the REST API" or "create a new org that monitors
|
|
19
|
+
* competitors" the words after "for" / "that" say what the work is about, not
|
|
20
|
+
* what it is, and count MODIFIER_WEIGHT (queryTerms). On the catalog side, a
|
|
21
|
+
* description opening shared by a large share of the catalog ("Use when an
|
|
22
|
+
* org role acts as ...") is template and is not indexed, and an id word that
|
|
23
|
+
* joins two other id words ("createorg") names both.
|
|
24
|
+
*
|
|
17
25
|
* Exclusions in the task (English only): words the task explicitly
|
|
18
26
|
* rules out do not count ("anything pending rather than release" must not
|
|
19
27
|
* pick release-manager). withoutExclusions() drops each cue and the words in
|
|
@@ -51,7 +59,7 @@ var STOPWORDS = new Set(
|
|
|
51
59
|
'a about above after again against all also am an and any anything are as at be because been before being below ' +
|
|
52
60
|
'between both but by can could did do does doing down during each else etc every everything few for from further had has ' +
|
|
53
61
|
'have having he her here hers him his how i if in into is it its itself just me more most must my no nor ' +
|
|
54
|
-
'not nothing now of off on once only or other our ours out over own per please same she should so some something such than ' +
|
|
62
|
+
'new not nothing now of off on once only or other our ours out over own per please same she should so some something such than ' +
|
|
55
63
|
'that the their theirs them then there these they this those through to too under until up upon us very ' +
|
|
56
64
|
'via was we were what when where which while who whom why will with within without would you your yours'
|
|
57
65
|
).split(' '),
|
|
@@ -205,6 +213,41 @@ function queryTokens(text) {
|
|
|
205
213
|
return tokens(withoutExclusions(text));
|
|
206
214
|
}
|
|
207
215
|
|
|
216
|
+
// Weight of a word in a modifier of the task's head (see queryTerms).
|
|
217
|
+
var MODIFIER_WEIGHT = 0.5;
|
|
218
|
+
var MODIFIER_ENDS = new Set('and then but also'.split(' '));
|
|
219
|
+
var RELATIVES = new Set('that which who'.split(' '));
|
|
220
|
+
|
|
221
|
+
/** A task's query terms as a Map of stemmed word -> weight. Words of the
|
|
222
|
+
* head (what the task asks for: "write developer documentation", "create a
|
|
223
|
+
* new org") weigh 1; words in a modifier of it weigh MODIFIER_WEIGHT: a
|
|
224
|
+
* purpose phrase ("for the REST API") after a head word, or a relative
|
|
225
|
+
* clause ("that monitors competitors") after a head of two or more words
|
|
226
|
+
* ending in a content word ("fix that bug" has no relative clause). A
|
|
227
|
+
* modifier ends at a clause break or "and"/"then"/"but"/"also". */
|
|
228
|
+
function queryTerms(text) {
|
|
229
|
+
var terms = new Map();
|
|
230
|
+
withoutExclusions(text)
|
|
231
|
+
.split('. ')
|
|
232
|
+
.forEach(function (clause) {
|
|
233
|
+
var ws = words(clause);
|
|
234
|
+
var head = 0;
|
|
235
|
+
var inModifier = false;
|
|
236
|
+
for (var i = 0; i < ws.length; i++) {
|
|
237
|
+
var w = ws[i];
|
|
238
|
+
if (inModifier && MODIFIER_ENDS.has(w)) inModifier = false;
|
|
239
|
+
else if (!inModifier && head > 0 && (w === 'for' || (RELATIVES.has(w) && head > 1 && isContent(ws[i - 1]))))
|
|
240
|
+
inModifier = true;
|
|
241
|
+
if (!isContent(w)) continue;
|
|
242
|
+
if (!inModifier) head++;
|
|
243
|
+
var t = stem(w);
|
|
244
|
+
var weight = inModifier ? MODIFIER_WEIGHT : 1;
|
|
245
|
+
if (!(terms.get(t) >= weight)) terms.set(t, weight);
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
return terms;
|
|
249
|
+
}
|
|
250
|
+
|
|
208
251
|
// A description clause: sentence punctuation, brackets or dashes end it.
|
|
209
252
|
var DOC_CLAUSE_SPLIT = /[.;:!?()[\]{}<>|\n\r\u2013\u2014]+|\s-+\s/;
|
|
210
253
|
var DOC_NOT_FOR = /\b(?:not|never)\s+(?:intended\s+|meant\s+)?for\s+(.+)$|\b(?:do\s+not|don't|dont|never)\s+use\s+(?:it\s+|this\s+)?for\s+(.+)$/;
|
|
@@ -253,15 +296,43 @@ function categoryPrefixes(items) {
|
|
|
253
296
|
|
|
254
297
|
/** Name/id words that identify the item: the id minus a category prefix (kept
|
|
255
298
|
* when it is the whole id) plus the name, minus family words. */
|
|
256
|
-
function strongTerms(item, isPrefix) {
|
|
299
|
+
function strongTerms(item, isPrefix, joined) {
|
|
257
300
|
var segments = String(item.id).toLowerCase().split(/[-:_/]/);
|
|
258
301
|
var idPart = segments.length > 1 && isPrefix(item, segments[0]) ? segments.slice(1) : segments;
|
|
259
302
|
var list = words(idPart.join(' ') + ' ' + (item.name || '')).filter(function (w) {
|
|
260
303
|
return isContent(w) && !GENERIC_WORDS.has(w);
|
|
261
304
|
});
|
|
305
|
+
idPart.forEach(function (seg) {
|
|
306
|
+
if (joined.has(seg)) list.push.apply(list, joined.get(seg));
|
|
307
|
+
});
|
|
262
308
|
return new Set(list.map(stem));
|
|
263
309
|
}
|
|
264
310
|
|
|
311
|
+
// Shortest part of a compound id segment (see compoundSegments).
|
|
312
|
+
var COMPOUND_MIN_PART = 3;
|
|
313
|
+
|
|
314
|
+
/** Id segments that join two other id segments ("createorg" = "create" +
|
|
315
|
+
* "org", "devops" = "dev" + "ops"), mapped to their parts: such an id names
|
|
316
|
+
* both words. */
|
|
317
|
+
function compoundSegments(items) {
|
|
318
|
+
var segs = new Set();
|
|
319
|
+
items.forEach(function (item) {
|
|
320
|
+
String(item.id).toLowerCase().split(/[-:_/]/).forEach(function (seg) { segs.add(seg); });
|
|
321
|
+
});
|
|
322
|
+
var joined = new Map();
|
|
323
|
+
segs.forEach(function (seg) {
|
|
324
|
+
for (var j = COMPOUND_MIN_PART; j <= seg.length - COMPOUND_MIN_PART; j++) {
|
|
325
|
+
var a = seg.slice(0, j);
|
|
326
|
+
var b = seg.slice(j);
|
|
327
|
+
if (segs.has(a) && segs.has(b)) {
|
|
328
|
+
joined.set(seg, [a, b]);
|
|
329
|
+
return;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
});
|
|
333
|
+
return joined;
|
|
334
|
+
}
|
|
335
|
+
|
|
265
336
|
function termCounts(list) {
|
|
266
337
|
var m = new Map();
|
|
267
338
|
list.forEach(function (t) {
|
|
@@ -270,14 +341,49 @@ function termCounts(list) {
|
|
|
270
341
|
return m;
|
|
271
342
|
}
|
|
272
343
|
|
|
344
|
+
// A description opening of this many words or more, shared by this share of
|
|
345
|
+
// the catalog, is a template ("Use when an org role acts as ..."), not content.
|
|
346
|
+
var TEMPLATE_MIN_WORDS = 4;
|
|
347
|
+
var TEMPLATE_MIN_SHARE = 0.05;
|
|
348
|
+
var TEMPLATE_MAX_WORDS = 8;
|
|
349
|
+
|
|
350
|
+
/** Each description minus the longest template opening it starts with: words
|
|
351
|
+
* that open a large share of the catalog's descriptions say nothing about
|
|
352
|
+
* one item, and their document frequency would sink the IDF of those words
|
|
353
|
+
* where they do matter ("org" for the org-management skills). */
|
|
354
|
+
function withoutTemplates(items) {
|
|
355
|
+
var descs = items.map(function (item) { return String(item.description || ''); });
|
|
356
|
+
var lists = descs.map(function (d) { return d.toLowerCase().match(/[\p{L}\p{N}]+/gu) || []; });
|
|
357
|
+
var counts = new Map();
|
|
358
|
+
lists.forEach(function (ws) {
|
|
359
|
+
for (var n = TEMPLATE_MIN_WORDS; n <= Math.min(TEMPLATE_MAX_WORDS, ws.length - 1); n++) {
|
|
360
|
+
var key = ws.slice(0, n).join(' ');
|
|
361
|
+
counts.set(key, (counts.get(key) || 0) + 1);
|
|
362
|
+
}
|
|
363
|
+
});
|
|
364
|
+
var min = Math.max(PREFIX_MIN_SHARED, items.length * TEMPLATE_MIN_SHARE);
|
|
365
|
+
return descs.map(function (d, i) {
|
|
366
|
+
var ws = lists[i];
|
|
367
|
+
for (var n = Math.min(TEMPLATE_MAX_WORDS, ws.length - 1); n >= TEMPLATE_MIN_WORDS; n--) {
|
|
368
|
+
if ((counts.get(ws.slice(0, n).join(' ')) || 0) < min) continue;
|
|
369
|
+
var re = /[\p{L}\p{N}]+/gu;
|
|
370
|
+
for (var k = 0; k < n; k++) re.exec(d);
|
|
371
|
+
return d.slice(re.lastIndex);
|
|
372
|
+
}
|
|
373
|
+
return d;
|
|
374
|
+
});
|
|
375
|
+
}
|
|
376
|
+
|
|
273
377
|
/** Per-catalog index: strong/weak term maps, lengths and document frequency. */
|
|
274
378
|
function indexFor(items) {
|
|
275
379
|
var isPrefix = categoryPrefixes(items);
|
|
380
|
+
var joined = compoundSegments(items);
|
|
381
|
+
var descriptions = withoutTemplates(items);
|
|
276
382
|
var df = new Map();
|
|
277
383
|
var total = 0;
|
|
278
|
-
var docs = items.map(function (item) {
|
|
279
|
-
var strong = strongTerms(item, isPrefix);
|
|
280
|
-
var ex = docExclusions(
|
|
384
|
+
var docs = items.map(function (item, i) {
|
|
385
|
+
var strong = strongTerms(item, isPrefix, joined);
|
|
386
|
+
var ex = docExclusions(descriptions[i]);
|
|
281
387
|
var keptList = tokens(ex.kept);
|
|
282
388
|
var own = new Set(keptList);
|
|
283
389
|
// `text` repeats description words (derived keywords): a word only an
|
|
@@ -316,16 +422,17 @@ function namesRuledOut(doc, query) {
|
|
|
316
422
|
});
|
|
317
423
|
}
|
|
318
424
|
|
|
319
|
-
function scoreDoc(index, doc, query) {
|
|
425
|
+
function scoreDoc(index, doc, query, weights) {
|
|
320
426
|
var score = 0;
|
|
321
427
|
var matched = 0;
|
|
322
428
|
for (var i = 0; i < query.length; i++) {
|
|
323
429
|
var t = query[i];
|
|
430
|
+
var w = weights.get(t);
|
|
324
431
|
var tf = doc.weak.get(t) || 0;
|
|
325
432
|
var hit = doc.strong.has(t) ? STRONG_WEIGHT : 0;
|
|
326
433
|
if (tf) hit += (tf * (K1 + 1)) / (tf + K1 * (1 - B + (B * doc.len) / index.avg));
|
|
327
434
|
if (hit) {
|
|
328
|
-
score += idf(index, t) * hit;
|
|
435
|
+
score += idf(index, t) * hit * w;
|
|
329
436
|
matched++;
|
|
330
437
|
}
|
|
331
438
|
}
|
|
@@ -341,9 +448,10 @@ function scoreDoc(index, doc, query) {
|
|
|
341
448
|
* overlap). Equal scores keep catalog order. */
|
|
342
449
|
function shortlist(query, items, limit, include) {
|
|
343
450
|
var index = indexFor(items);
|
|
344
|
-
var
|
|
451
|
+
var weights = queryTerms(query);
|
|
452
|
+
var q = Array.from(weights.keys());
|
|
345
453
|
var scored = items.map(function (item, i) {
|
|
346
|
-
return { item: item, index: i, score: scoreDoc(index, index.docs[i], q) };
|
|
454
|
+
return { item: item, index: i, score: scoreDoc(index, index.docs[i], q, weights) };
|
|
347
455
|
});
|
|
348
456
|
scored.sort(function (a, b) {
|
|
349
457
|
return b.score - a.score || a.index - b.index;
|
|
@@ -393,6 +501,7 @@ module.exports = {
|
|
|
393
501
|
stem: stem,
|
|
394
502
|
tokens: tokens,
|
|
395
503
|
queryTokens: queryTokens,
|
|
504
|
+
queryTerms: queryTerms,
|
|
396
505
|
withoutExclusions: withoutExclusions,
|
|
397
506
|
docExclusions: docExclusions,
|
|
398
507
|
shortlist: shortlist,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../../src/catalog/projection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../../src/catalog/projection.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,cAAc,EAA8B,MAAM,+BAA+B,CAAC;AAIhG,OAAO,EAAiB,KAAK,YAAY,EAAY,MAAM,eAAe,CAAC;AAG3E,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AACtE,eAAO,MAAM,mBAAmB,EAAE,SAAS,iBAAiB,EAG3D,CAAC;AAQF,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,8DAA8D;IAC9D,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,aAAa,SAAU,MAAM,KAAG,MAAiC,CAAC;AAE/E,+FAA+F;AAC/F,eAAO,MAAM,iBAAiB,MAAO,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,QAAQ,GAAG,SAAS,CAAC,KAAG,MACQ,CAAC;AA4KhG;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAU/E;AAED,qEAAqE;AACrE,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,EAC1B,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,cAAc,CAAC,CAEzB;AA0BD;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,iBAAiB,GAAG;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GAC5C,OAAO,CAAC,gBAAgB,CAAC,CA4B3B"}
|
|
@@ -9,8 +9,9 @@ import { existsSync, lstatSync, readdirSync, readFileSync } from 'node:fs';
|
|
|
9
9
|
import { createRequire } from 'node:module';
|
|
10
10
|
import { dirname, join, relative } from 'node:path';
|
|
11
11
|
import { fileURLToPath } from 'node:url';
|
|
12
|
+
import { resolveArtifactLocation } from '../platform-adapters/locations.js';
|
|
12
13
|
import { atomicWrite, removeManagedSkillPackage, symlinkedComponent, withMutationLock, } from '../platform-adapters/mutation.js';
|
|
13
|
-
import { applyIntents
|
|
14
|
+
import { applyIntents } from '../platform-adapters/operations.js';
|
|
14
15
|
import { PLATFORM_REGISTRY } from '../platform-adapters/registry.js';
|
|
15
16
|
import { verifyEntry } from './digest.js';
|
|
16
17
|
import { frontmatterViolations } from './frontmatter.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projection.js","sourceRoot":"","sources":["../../../src/catalog/projection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"projection.js","sourceRoot":"","sources":["../../../src/catalog/projection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-exec.d.ts","sourceRoot":"","sources":["../../../src/commands/agent-exec.ts"],"names":[],"mappings":"AACA;;;;;;;;;GASG;AAOH,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,aAAa,CAAC;AAM1E,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAgB5E;AAED,gFAAgF;AAChF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAOxE;AAED,kDAAkD;AAClD,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUlE;AA4JD,eAAO,MAAM,WAAW,EAAE,OA+EzB,CAAC;AAIF,eAAO,MAAM,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"agent-exec.d.ts","sourceRoot":"","sources":["../../../src/commands/agent-exec.ts"],"names":[],"mappings":"AACA;;;;;;;;;GASG;AAOH,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,aAAa,CAAC;AAM1E,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAgB5E;AAED,gFAAgF;AAChF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAOxE;AAED,kDAAkD;AAClD,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUlE;AA4JD,eAAO,MAAM,WAAW,EAAE,OA+EzB,CAAC;AAIF,eAAO,MAAM,WAAW,EAAE,OA0DzB,CAAC;AAIF,eAAO,MAAM,WAAW,EAAE,OAyBzB,CAAC"}
|
|
@@ -289,13 +289,22 @@ export const scanCommand = {
|
|
|
289
289
|
type: 'boolean',
|
|
290
290
|
},
|
|
291
291
|
{ name: 'installed', description: 'Only list installed runtimes', type: 'boolean' },
|
|
292
|
+
{
|
|
293
|
+
name: 'probe',
|
|
294
|
+
description: 'Run --version (in a scratch HOME) for runtimes whose version is not in their install files; some download or write state',
|
|
295
|
+
type: 'boolean',
|
|
296
|
+
},
|
|
292
297
|
],
|
|
293
298
|
examples: [
|
|
294
299
|
{ command: 'monomind agent scan --json', description: 'Full detection report as JSON' },
|
|
300
|
+
{
|
|
301
|
+
command: 'monomind agent scan --probe --json',
|
|
302
|
+
description: 'Also run --version for runtimes not known to be side-effect free',
|
|
303
|
+
},
|
|
295
304
|
{ command: 'monomind agent scan --installed --json', description: 'Installed-only view' },
|
|
296
305
|
],
|
|
297
306
|
action: async (ctx) => {
|
|
298
|
-
const result = await scanInstalled({});
|
|
307
|
+
const result = await scanInstalled({ probe: Boolean(ctx.flags.probe) });
|
|
299
308
|
const agents = ctx.flags.installed ? result.agents.filter((a) => a.installed) : result.agents;
|
|
300
309
|
const payload = { v: 1, agents };
|
|
301
310
|
if (ctx.flags.json || ctx.flags.format === 'json') {
|