agents-inc 0.168.0 → 0.170.1
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/CHANGELOG.md +29 -0
- package/README.md +18 -15
- package/dist/{chunk-JIBCVXXL.js → chunk-3G7X2WKI.js} +4 -4
- package/dist/{chunk-JOEA52NR.js → chunk-44TE3RKH.js} +46 -2
- package/dist/chunk-44TE3RKH.js.map +1 -0
- package/dist/{chunk-NU2K5G54.js → chunk-52HDHJ7I.js} +11 -19
- package/dist/chunk-52HDHJ7I.js.map +1 -0
- package/dist/{chunk-EH2PGPLP.js → chunk-6HNXYYVF.js} +39 -22
- package/dist/chunk-6HNXYYVF.js.map +1 -0
- package/dist/{chunk-4UKMQUAU.js → chunk-6ZRH5RHC.js} +10 -11
- package/dist/chunk-6ZRH5RHC.js.map +1 -0
- package/dist/{chunk-5JUQKGCP.js → chunk-7RDMTR64.js} +14 -34
- package/dist/chunk-7RDMTR64.js.map +1 -0
- package/dist/{chunk-3LZNY46H.js → chunk-BMRUNMPV.js} +4 -4
- package/dist/{chunk-VVRI35SK.js → chunk-CLPUWOSA.js} +4 -4
- package/dist/{chunk-VVRI35SK.js.map → chunk-CLPUWOSA.js.map} +1 -1
- package/dist/{chunk-TW35AEB4.js → chunk-F2BHT5C4.js} +9 -7
- package/dist/chunk-F2BHT5C4.js.map +1 -0
- package/dist/{chunk-27AVGFXH.js → chunk-F5EBEATU.js} +2 -2
- package/dist/{chunk-GE7NUPMI.js → chunk-HED2DAXZ.js} +3 -3
- package/dist/{chunk-7PYXS2QU.js → chunk-KOLDW6SF.js} +3 -3
- package/dist/{chunk-7PYXS2QU.js.map → chunk-KOLDW6SF.js.map} +1 -1
- package/dist/{chunk-C2UISKIM.js → chunk-MQ6CGZNJ.js} +109 -422
- package/dist/chunk-MQ6CGZNJ.js.map +1 -0
- package/dist/{chunk-P6I72PR3.js → chunk-NCWDK6L7.js} +115 -196
- package/dist/chunk-NCWDK6L7.js.map +1 -0
- package/dist/{chunk-VRXX4D6K.js → chunk-NEZ4OAOL.js} +1 -1
- package/dist/chunk-NEZ4OAOL.js.map +1 -0
- package/dist/chunk-NIHUOWE4.js +106 -0
- package/dist/chunk-NIHUOWE4.js.map +1 -0
- package/dist/{chunk-OI2H6M5I.js → chunk-NQW25DCF.js} +2 -2
- package/dist/chunk-NQW25DCF.js.map +1 -0
- package/dist/{chunk-ZUGH4MQG.js → chunk-OYJQUA3D.js} +3 -3
- package/dist/{chunk-ZUGH4MQG.js.map → chunk-OYJQUA3D.js.map} +1 -1
- package/dist/{chunk-AG3ZVM3B.js → chunk-PJWGTNOX.js} +186 -210
- package/dist/chunk-PJWGTNOX.js.map +1 -0
- package/dist/{chunk-HR7TK2XW.js → chunk-RIPSGNLU.js} +3 -3
- package/dist/chunk-RIPSGNLU.js.map +1 -0
- package/dist/{chunk-4DRFEYCE.js → chunk-SZYQISA2.js} +7 -7
- package/dist/chunk-SZYQISA2.js.map +1 -0
- package/dist/{chunk-W6GO2CYX.js → chunk-USVBYQSQ.js} +2 -2
- package/dist/{chunk-H4ZKGGTE.js → chunk-V3KTSP3Q.js} +50 -42
- package/dist/chunk-V3KTSP3Q.js.map +1 -0
- package/dist/{chunk-KTLKR4YY.js → chunk-WTWMGH2C.js} +2 -2
- package/dist/commands/build/marketplace.js +23 -22
- package/dist/commands/build/marketplace.js.map +1 -1
- package/dist/commands/build/plugins.js +8 -9
- package/dist/commands/build/plugins.js.map +1 -1
- package/dist/commands/compile.js +19 -20
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/doctor.js +17 -18
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/edit.js +118 -297
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/eject.js +21 -33
- package/dist/commands/eject.js.map +1 -1
- package/dist/commands/init.js +17 -45
- package/dist/commands/list.js +19 -17
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/new/marketplace.js +11 -11
- package/dist/commands/new/marketplace.js.map +1 -1
- package/dist/commands/search.js +12 -13
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/share.js +11 -12
- package/dist/commands/share.js.map +1 -1
- package/dist/commands/uninstall.js +18 -20
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.js +8 -9
- package/dist/commands/update.js.map +1 -1
- package/dist/components/common/removal-plan-confirm.js +2 -2
- package/dist/components/common/scroll-affordance.js +9 -0
- package/dist/components/common/select-list.js +2 -3
- package/dist/components/common/skill-agent-summary.js +11 -0
- package/dist/components/common/spinner.js +1 -1
- package/dist/{chunk-QWFG7Y3R.js → components/common/summary-panel.js} +57 -31
- package/dist/components/common/summary-panel.js.map +1 -0
- package/dist/config-exports.js +1 -1
- package/dist/hooks/init.js +18 -46
- package/dist/hooks/init.js.map +1 -1
- package/dist/load-agent-defs-YMDWBFDP.js +14 -0
- package/dist/recompile-project-agents-SZ76WNTW.js +18 -0
- package/dist/{source-loader-FRJTCSDL.js → source-loader-C5SQXZXI.js} +5 -5
- package/dist/src/agents/meta/codex-keeper/playbook.md +2 -3
- package/package.json +2 -3
- package/src/agents/meta/codex-keeper/playbook.md +2 -3
- package/src/schemas/project-config.schema.json +1 -1
- package/assets/demo.tape +0 -266
- package/dist/chunk-23DNVNFP.js +0 -292
- package/dist/chunk-23DNVNFP.js.map +0 -1
- package/dist/chunk-3DIDV6H3.js +0 -268
- package/dist/chunk-3DIDV6H3.js.map +0 -1
- package/dist/chunk-4DRFEYCE.js.map +0 -1
- package/dist/chunk-4HWOYYY7.js +0 -92
- package/dist/chunk-4HWOYYY7.js.map +0 -1
- package/dist/chunk-4UKMQUAU.js.map +0 -1
- package/dist/chunk-5JUQKGCP.js.map +0 -1
- package/dist/chunk-6WGXTB2L.js +0 -28
- package/dist/chunk-6WGXTB2L.js.map +0 -1
- package/dist/chunk-AG3ZVM3B.js.map +0 -1
- package/dist/chunk-C2UISKIM.js.map +0 -1
- package/dist/chunk-CMJBKQUH.js +0 -23
- package/dist/chunk-CMJBKQUH.js.map +0 -1
- package/dist/chunk-DJEO3F2H.js +0 -230
- package/dist/chunk-DJEO3F2H.js.map +0 -1
- package/dist/chunk-EH2PGPLP.js.map +0 -1
- package/dist/chunk-GRL73YPF.js +0 -197
- package/dist/chunk-GRL73YPF.js.map +0 -1
- package/dist/chunk-H4ZKGGTE.js.map +0 -1
- package/dist/chunk-HI6YB7XP.js +0 -59
- package/dist/chunk-HI6YB7XP.js.map +0 -1
- package/dist/chunk-HL3GYRMR.js +0 -17
- package/dist/chunk-HL3GYRMR.js.map +0 -1
- package/dist/chunk-HR7TK2XW.js.map +0 -1
- package/dist/chunk-JOEA52NR.js.map +0 -1
- package/dist/chunk-JPMV4E4E.js +0 -118
- package/dist/chunk-JPMV4E4E.js.map +0 -1
- package/dist/chunk-JVUN6AOO.js +0 -237
- package/dist/chunk-JVUN6AOO.js.map +0 -1
- package/dist/chunk-KQ3PDARZ.js +0 -25
- package/dist/chunk-KQ3PDARZ.js.map +0 -1
- package/dist/chunk-L3W2JWBA.js +0 -168
- package/dist/chunk-L3W2JWBA.js.map +0 -1
- package/dist/chunk-LFUJCRCT.js +0 -27
- package/dist/chunk-LFUJCRCT.js.map +0 -1
- package/dist/chunk-NU2K5G54.js.map +0 -1
- package/dist/chunk-OI2H6M5I.js.map +0 -1
- package/dist/chunk-P6I72PR3.js.map +0 -1
- package/dist/chunk-PCFUXQJA.js +0 -317
- package/dist/chunk-PCFUXQJA.js.map +0 -1
- package/dist/chunk-PLX2FLEQ.js +0 -48
- package/dist/chunk-PLX2FLEQ.js.map +0 -1
- package/dist/chunk-QWFG7Y3R.js.map +0 -1
- package/dist/chunk-SLBL3WIP.js +0 -121
- package/dist/chunk-SLBL3WIP.js.map +0 -1
- package/dist/chunk-TSIU7DME.js +0 -43
- package/dist/chunk-TSIU7DME.js.map +0 -1
- package/dist/chunk-TW35AEB4.js.map +0 -1
- package/dist/chunk-VRXX4D6K.js.map +0 -1
- package/dist/chunk-W5KEYSOL.js +0 -51
- package/dist/chunk-W5KEYSOL.js.map +0 -1
- package/dist/chunk-WNLF5EDZ.js +0 -1170
- package/dist/chunk-WNLF5EDZ.js.map +0 -1
- package/dist/chunk-WTJ3AY33.js +0 -31
- package/dist/chunk-WTJ3AY33.js.map +0 -1
- package/dist/chunk-X6ZZEYO3.js +0 -53
- package/dist/chunk-X6ZZEYO3.js.map +0 -1
- package/dist/chunk-XQHZPINL.js +0 -89
- package/dist/chunk-XQHZPINL.js.map +0 -1
- package/dist/chunk-YN3SWF53.js +0 -35
- package/dist/chunk-YN3SWF53.js.map +0 -1
- package/dist/components/wizard/category-grid.js +0 -13
- package/dist/components/wizard/checkbox-grid.js +0 -12
- package/dist/components/wizard/domain-selection.js +0 -18
- package/dist/components/wizard/run-wizard-session.js +0 -40
- package/dist/components/wizard/run-wizard-session.js.map +0 -1
- package/dist/components/wizard/scroll-affordance.js +0 -9
- package/dist/components/wizard/skill-agent-summary.js +0 -13
- package/dist/components/wizard/source-grid.js +0 -16
- package/dist/components/wizard/source-grid.js.map +0 -1
- package/dist/components/wizard/stack-selection.js +0 -17
- package/dist/components/wizard/stack-selection.js.map +0 -1
- package/dist/components/wizard/step-agents.js +0 -18
- package/dist/components/wizard/step-agents.js.map +0 -1
- package/dist/components/wizard/step-build.js +0 -18
- package/dist/components/wizard/step-build.js.map +0 -1
- package/dist/components/wizard/step-confirm.js +0 -18
- package/dist/components/wizard/step-confirm.js.map +0 -1
- package/dist/components/wizard/step-sources.js +0 -19
- package/dist/components/wizard/step-sources.js.map +0 -1
- package/dist/components/wizard/step-stack.js +0 -18
- package/dist/components/wizard/step-stack.js.map +0 -1
- package/dist/components/wizard/summary-panel.js +0 -17
- package/dist/components/wizard/summary-panel.js.map +0 -1
- package/dist/components/wizard/toast.js +0 -9
- package/dist/components/wizard/toast.js.map +0 -1
- package/dist/components/wizard/wizard-layout.js +0 -22
- package/dist/components/wizard/wizard-layout.js.map +0 -1
- package/dist/components/wizard/wizard-tabs.js +0 -11
- package/dist/components/wizard/wizard-tabs.js.map +0 -1
- package/dist/components/wizard/wizard.js +0 -39
- package/dist/components/wizard/wizard.js.map +0 -1
- package/dist/load-agent-defs-5XMVB3MU.js +0 -14
- package/dist/load-agent-defs-5XMVB3MU.js.map +0 -1
- package/dist/recompile-project-agents-7PQWYQ6B.js +0 -18
- package/dist/recompile-project-agents-7PQWYQ6B.js.map +0 -1
- package/dist/source-loader-FRJTCSDL.js.map +0 -1
- package/dist/stores/wizard-store.js +0 -24
- package/dist/stores/wizard-store.js.map +0 -1
- /package/assets/{demo.gif → legacy-wizard.gif} +0 -0
- /package/dist/{chunk-JIBCVXXL.js.map → chunk-3G7X2WKI.js.map} +0 -0
- /package/dist/{chunk-3LZNY46H.js.map → chunk-BMRUNMPV.js.map} +0 -0
- /package/dist/{chunk-27AVGFXH.js.map → chunk-F5EBEATU.js.map} +0 -0
- /package/dist/{chunk-GE7NUPMI.js.map → chunk-HED2DAXZ.js.map} +0 -0
- /package/dist/{chunk-W6GO2CYX.js.map → chunk-USVBYQSQ.js.map} +0 -0
- /package/dist/{chunk-KTLKR4YY.js.map → chunk-WTWMGH2C.js.map} +0 -0
- /package/dist/components/{wizard → common}/scroll-affordance.js.map +0 -0
- /package/dist/components/{wizard → common}/skill-agent-summary.js.map +0 -0
- /package/dist/{components/wizard/category-grid.js.map → load-agent-defs-YMDWBFDP.js.map} +0 -0
- /package/dist/{components/wizard/checkbox-grid.js.map → recompile-project-agents-SZ76WNTW.js.map} +0 -0
- /package/dist/{components/wizard/domain-selection.js.map → source-loader-C5SQXZXI.js.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,35 @@ Each release has detailed notes in its own file under [`changelogs/`](./changelo
|
|
|
7
7
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
8
8
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
9
9
|
|
|
10
|
+
## [0.170.1] - 2026-10-17
|
|
11
|
+
|
|
12
|
+
**The built-in catalogue carries the skills repository's rewritten meta skills, and replaces the unpublished 0.170.0**
|
|
13
|
+
|
|
14
|
+
- The built-in matrix is regenerated from skills `4865dfd1`, so the rewritten reviewing and design skills show their new descriptions. Everything in 0.170.0 ships here.
|
|
15
|
+
|
|
16
|
+
See [changelogs/0.170.1.md](./changelogs/0.170.1.md) for full details.
|
|
17
|
+
|
|
18
|
+
## [0.170.0] - 2026-10-17
|
|
19
|
+
|
|
20
|
+
**The wizard's removal is finished: a stack installs every sub-agent it declares, `edit --from` names what it adds to the global install, and a global run says each warning once**
|
|
21
|
+
|
|
22
|
+
- CLI-926: a stack picked in the editor installs its skill-less sub-agents too. From a project, `edit --from` and `init --from` list the global sub-agents a new skill joins as "Added to sub-agents in the global install". A bare `edit` refuses unusable skill metadata before minting an id. `eject skills` writes the provider's own skills folder, so Codex gets `.agents/skills`. A failed `build marketplace` writes nothing. A global run says each warning once. The Install dialog says when a rate-limited id can be retried. `edit`'s summary, the unreadable-config remedy, `search`'s help and the docs no longer describe the wizard, and the wizard's leftover code is gone.
|
|
23
|
+
- CLI-927: the six e2e specs that failed under a long `TMPDIR` pass at any temp-folder length.
|
|
24
|
+
- CLI-928: the prompt bible is re-validated for Opus 5.5.
|
|
25
|
+
- CLI-929: the `composable-components` rule and the web-reviewing audit quote describe the current skills, and the built-in matrix is regenerated from the published skills commit.
|
|
26
|
+
|
|
27
|
+
See [changelogs/0.170.0.md](./changelogs/0.170.0.md) for full details.
|
|
28
|
+
|
|
29
|
+
## [0.169.0] - 2026-10-15
|
|
30
|
+
|
|
31
|
+
**The terminal wizard is gone: `init` and `edit` open the editor, and 0.168.0 is the last release with the wizard**
|
|
32
|
+
|
|
33
|
+
- CLI-923: a bare `init` opens agentsinc.sh/editor where nothing is installed, and shows the installation's dashboard where something is. The dashboard's first option is "Edit in the web editor". A bare `edit` does what `edit --ui` does: it mints an id for this installation and opens it in the editor. `init --marketplace <ref>` without `--from` opens the editor and says how to add the marketplace there. Beside `--from`, it still installs from that marketplace. A bare `init` or `edit` without a terminal, `init --ui --marketplace`, and `init --marketplace` over another marketplace's installation now exit 0. `zustand` is no longer a dependency. The wizard is still in 0.168.0: `npx agents-inc@0.168.0 init`.
|
|
34
|
+
- CLI-924: the user-journeys page describes the wizard-free product, and every journey was run by hand on it: 52 PASS, 13 PARTIAL, 2 FAIL and 1 N/A.
|
|
35
|
+
- The findings checks pass again after the 2026-10-14 prune. Older changelogs name pruned findings as text instead of linking them.
|
|
36
|
+
|
|
37
|
+
See [changelogs/0.169.0.md](./changelogs/0.169.0.md) for full details.
|
|
38
|
+
|
|
10
39
|
## [0.168.0] - 2026-10-14
|
|
11
40
|
|
|
12
41
|
**A sub-agent can pin a Codex model, share links are version 6 only, and the editor takes the v6 design with named saves**
|
package/README.md
CHANGED
|
@@ -9,22 +9,23 @@
|
|
|
9
9
|
|
|
10
10
|
An agent composition framework for [Claude Code](https://docs.anthropic.com/en/docs/claude-code). Compose specialized subagents from atomic skills:
|
|
11
11
|
|
|
12
|
-
1. Select a pre-built stack to customise or start from scratch
|
|
13
|
-
2. Select your skills from
|
|
12
|
+
1. Select a pre-built stack to customise or start from scratch in the [editor](https://agentsinc.sh/editor)
|
|
13
|
+
2. Select your skills from its grid, organized by domain with compatibility filtering and global/project scope
|
|
14
14
|
3. Choose to eject these skills or install them as plugins ([install modes guide](https://github.com/agents-inc/agents-inc/blob/main/apps/www/src/content/docs/docs/concepts/install-modes.md))
|
|
15
15
|
4. Select your subagents to compile with these skills
|
|
16
|
-
5.
|
|
17
|
-
6.
|
|
16
|
+
5. Install with the `npx agents-inc init --from <id>` command the editor hands you
|
|
17
|
+
6. Further customise skills and subagents in the generated `config.ts` ([editing config guide](https://github.com/agents-inc/agents-inc/blob/main/apps/www/src/content/docs/docs/guides/editing-config.md))
|
|
18
|
+
7. Compile subagents with `npx agents-inc compile` after changes
|
|
18
19
|
|
|
19
20
|
See the [Guides](#guides) section below for more.
|
|
20
21
|
|
|
21
22
|
<br />
|
|
22
23
|
|
|
23
|
-
|
|
24
|
+
### Legacy Wizard
|
|
24
25
|
|
|
25
|
-
|
|
26
|
+
The terminal wizard, last shipped in 0.168.0: `npx agents-inc@0.168.0 init`.
|
|
26
27
|
|
|
27
|
-
|
|
28
|
+
<img src="./assets/legacy-wizard.gif" alt="Legacy Wizard">
|
|
28
29
|
|
|
29
30
|
## Getting Started
|
|
30
31
|
|
|
@@ -57,7 +58,7 @@ npx agents-inc init
|
|
|
57
58
|
| Guide | Description |
|
|
58
59
|
| -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- |
|
|
59
60
|
| [Global-first setup](https://github.com/agents-inc/agents-inc/blob/main/apps/www/src/content/docs/docs/guides/global-first-setup.md) | Why global scope is the right default and when to use project scope |
|
|
60
|
-
| [Install modes](https://github.com/agents-inc/agents-inc/blob/main/apps/www/src/content/docs/docs/concepts/install-modes.md) | Plugin vs
|
|
61
|
+
| [Install modes](https://github.com/agents-inc/agents-inc/blob/main/apps/www/src/content/docs/docs/concepts/install-modes.md) | Plugin vs eject, global vs project scope |
|
|
61
62
|
| [Editing your config](https://github.com/agents-inc/agents-inc/blob/main/apps/www/src/content/docs/docs/guides/editing-config.md) | Skill mappings, preloaded vs dynamic loading, and config structure |
|
|
62
63
|
| [Customizing subagents](https://github.com/agents-inc/agents-inc/blob/main/apps/www/src/content/docs/docs/guides/customizing-subagents.md) | Eject and modify partials, templates, and skills |
|
|
63
64
|
| [Writing custom skills and subagents](https://github.com/agents-inc/agents-inc/blob/main/apps/www/src/content/docs/docs/guides/writing-custom-skills.md) | Author skills and subagents from scratch or iterate on existing ones |
|
|
@@ -100,13 +101,14 @@ Each subagent is composed from modular partials (role, workflow, output format)
|
|
|
100
101
|
|
|
101
102
|
### Core
|
|
102
103
|
|
|
103
|
-
| Command | Description
|
|
104
|
-
| --------- |
|
|
105
|
-
| `init` |
|
|
106
|
-
| `edit` |
|
|
107
|
-
| `compile` | Recompile subagents after changes
|
|
108
|
-
| `update` | Refresh the marketplaces this installation uses (ejected skills are yours)
|
|
109
|
-
| `search` | Search this installation's marketplace and your local skills
|
|
104
|
+
| Command | Description |
|
|
105
|
+
| --------- | ------------------------------------------------------------------------------------------------- |
|
|
106
|
+
| `init` | Build a configuration in agentsinc.sh/editor, or install one by id with `--from` |
|
|
107
|
+
| `edit` | Open this installation in agentsinc.sh/editor, or apply a configuration built there with `--from` |
|
|
108
|
+
| `compile` | Recompile subagents after changes |
|
|
109
|
+
| `update` | Refresh the marketplaces this installation uses (ejected skills are yours) |
|
|
110
|
+
| `search` | Search this installation's marketplace and your local skills |
|
|
111
|
+
| `share` | Share this installation as an id anyone can install |
|
|
110
112
|
|
|
111
113
|
### Customization
|
|
112
114
|
|
|
@@ -120,6 +122,7 @@ Each subagent is composed from modular partials (role, workflow, output format)
|
|
|
120
122
|
| ------------------- | ---------------------------------------------- |
|
|
121
123
|
| `build marketplace` | Generate `marketplace.json` from built plugins |
|
|
122
124
|
| `build plugins` | Build skill and agent plugins for distribution |
|
|
125
|
+
| `new marketplace` | Scaffold a marketplace of your own |
|
|
123
126
|
|
|
124
127
|
### Diagnostics
|
|
125
128
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
listAgentMdFiles
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-BMRUNMPV.js";
|
|
5
5
|
import {
|
|
6
6
|
agentFrontmatterValidationSchema,
|
|
7
7
|
computeStringHash,
|
|
@@ -23,11 +23,11 @@ import {
|
|
|
23
23
|
warn,
|
|
24
24
|
writeContentHash,
|
|
25
25
|
writePluginManifest
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-MQ6CGZNJ.js";
|
|
27
27
|
import {
|
|
28
28
|
DIRS,
|
|
29
29
|
PROJECT_ROOT
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-PJWGTNOX.js";
|
|
31
31
|
|
|
32
32
|
// src/cli/lib/agents/agent-fetcher.ts
|
|
33
33
|
import path from "path";
|
|
@@ -156,4 +156,4 @@ export {
|
|
|
156
156
|
compileAllAgentPlugins,
|
|
157
157
|
printAgentCompilationSummary
|
|
158
158
|
};
|
|
159
|
-
//# sourceMappingURL=chunk-
|
|
159
|
+
//# sourceMappingURL=chunk-3G7X2WKI.js.map
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
CLI_COLORS,
|
|
4
|
+
UI_SYMBOLS
|
|
5
|
+
} from "./chunk-PJWGTNOX.js";
|
|
6
|
+
|
|
7
|
+
// src/cli/components/common/select-list.tsx
|
|
8
|
+
import { useCallback as useCallback2 } from "react";
|
|
9
|
+
import { Box, Text } from "ink";
|
|
2
10
|
|
|
3
11
|
// src/cli/components/hooks/use-keyboard-navigation.ts
|
|
4
12
|
import { useState, useCallback, useRef } from "react";
|
|
@@ -55,7 +63,43 @@ function useKeyboardNavigation(itemCount, handlers = {}, options = {}) {
|
|
|
55
63
|
return { focusedIndex, setFocusedIndex };
|
|
56
64
|
}
|
|
57
65
|
|
|
66
|
+
// src/cli/components/common/select-list.tsx
|
|
67
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
68
|
+
function SelectList({
|
|
69
|
+
items,
|
|
70
|
+
onSelect,
|
|
71
|
+
onCancel,
|
|
72
|
+
renderItem,
|
|
73
|
+
active
|
|
74
|
+
}) {
|
|
75
|
+
const handleEnter = useCallback2(
|
|
76
|
+
(index) => {
|
|
77
|
+
const item = items[index];
|
|
78
|
+
if (item) {
|
|
79
|
+
onSelect(item.value);
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
[items, onSelect]
|
|
83
|
+
);
|
|
84
|
+
const { focusedIndex } = useKeyboardNavigation(
|
|
85
|
+
items.length,
|
|
86
|
+
{ onEnter: handleEnter, ...onCancel !== void 0 && { onEscape: onCancel } },
|
|
87
|
+
{ vimKeys: false, ...active !== void 0 && { active } }
|
|
88
|
+
);
|
|
89
|
+
return /* @__PURE__ */ jsx(Box, { flexDirection: "column", children: items.map((item, index) => {
|
|
90
|
+
const isFocused = index === focusedIndex;
|
|
91
|
+
const marker = isFocused ? UI_SYMBOLS.CHEVRON : UI_SYMBOLS.CHEVRON_SPACER;
|
|
92
|
+
return /* @__PURE__ */ jsxs(Box, { children: [
|
|
93
|
+
/* @__PURE__ */ jsxs(Text, { bold: isFocused, ...isFocused && { color: CLI_COLORS.PRIMARY }, children: [
|
|
94
|
+
marker,
|
|
95
|
+
" "
|
|
96
|
+
] }),
|
|
97
|
+
renderItem ? renderItem(item, isFocused) : /* @__PURE__ */ jsx(Text, { bold: isFocused, ...isFocused && { color: CLI_COLORS.PRIMARY }, children: item.label })
|
|
98
|
+
] }, index);
|
|
99
|
+
}) });
|
|
100
|
+
}
|
|
101
|
+
|
|
58
102
|
export {
|
|
59
|
-
|
|
103
|
+
SelectList
|
|
60
104
|
};
|
|
61
|
-
//# sourceMappingURL=chunk-
|
|
105
|
+
//# sourceMappingURL=chunk-44TE3RKH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/components/common/select-list.tsx","../src/cli/components/hooks/use-keyboard-navigation.ts"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { Box, Text } from \"ink\";\nimport { CLI_COLORS, UI_SYMBOLS } from \"../../consts.js\";\nimport { useKeyboardNavigation } from \"../hooks/use-keyboard-navigation.js\";\n\nexport type SelectListItem<T> = {\n value: T;\n label: string;\n};\n\nexport type SelectListProps<T> = {\n items: readonly SelectListItem<T>[];\n onSelect: (value: T) => void;\n onCancel?: (() => void) | undefined;\n renderItem?: ((item: SelectListItem<T>, isFocused: boolean) => React.ReactNode) | undefined;\n active?: boolean | undefined;\n};\n\nexport function SelectList<T>({\n items,\n onSelect,\n onCancel,\n renderItem,\n active,\n}: SelectListProps<T>): React.ReactElement {\n const handleEnter = useCallback(\n (index: number) => {\n const item = items[index];\n if (item) {\n onSelect(item.value);\n }\n },\n [items, onSelect],\n );\n\n const { focusedIndex } = useKeyboardNavigation(\n items.length,\n { onEnter: handleEnter, ...(onCancel !== undefined && { onEscape: onCancel }) },\n { vimKeys: false, ...(active !== undefined && { active }) },\n );\n\n return (\n <Box flexDirection=\"column\">\n {items.map((item, index) => {\n const isFocused = index === focusedIndex;\n const marker = isFocused ? UI_SYMBOLS.CHEVRON : UI_SYMBOLS.CHEVRON_SPACER;\n\n return (\n <Box key={index}>\n <Text bold={isFocused} {...(isFocused && { color: CLI_COLORS.PRIMARY })}>\n {marker}{\" \"}\n </Text>\n {renderItem ? (\n renderItem(item, isFocused)\n ) : (\n <Text bold={isFocused} {...(isFocused && { color: CLI_COLORS.PRIMARY })}>\n {item.label}\n </Text>\n )}\n </Box>\n );\n })}\n </Box>\n );\n}\n","import type { Dispatch, SetStateAction } from \"react\";\nimport { useState, useCallback, useRef } from \"react\";\nimport { useInput, type Key } from \"ink\";\n\ntype KeyboardNavigationHandlers = {\n onEnter?: (focusedIndex: number) => void;\n onEscape?: () => void;\n};\n\ntype KeyboardNavigationOptions = {\n wrap?: boolean;\n vimKeys?: boolean;\n active?: boolean;\n};\n\nexport function useKeyboardNavigation(\n itemCount: number,\n handlers: KeyboardNavigationHandlers = {},\n options: KeyboardNavigationOptions = {},\n): {\n focusedIndex: number;\n setFocusedIndex: Dispatch<SetStateAction<number>>;\n} {\n const { onEnter, onEscape } = handlers;\n const { wrap = true, vimKeys = true, active = true } = options;\n\n const [focusedIndex, setRenderedIndex] = useState(0);\n // The focus the handlers read, written the moment it moves rather than once the move renders.\n // Keys that arrive in one chunk — a fast typist, a paste — are handled one after another with no\n // render between them, so a copy synced by an effect still held the focus from before the burst\n // when Enter read it: Down, Down, Enter on the dashboard ran Edit.\n const focusedIndexRef = useRef(focusedIndex);\n\n const setFocusedIndex = useCallback<Dispatch<SetStateAction<number>>>((action) => {\n const next = typeof action === \"function\" ? action(focusedIndexRef.current) : action;\n focusedIndexRef.current = next;\n setRenderedIndex(next);\n }, []);\n\n const moveUp = useCallback(() => {\n setFocusedIndex((prev) => {\n if (wrap) {\n return (prev - 1 + itemCount) % itemCount;\n }\n return Math.max(0, prev - 1);\n });\n }, [itemCount, wrap, setFocusedIndex]);\n\n const moveDown = useCallback(() => {\n setFocusedIndex((prev) => {\n if (wrap) {\n return (prev + 1) % itemCount;\n }\n return Math.min(itemCount - 1, prev + 1);\n });\n }, [itemCount, wrap, setFocusedIndex]);\n\n useInput(\n useCallback(\n (input: string, key: Key) => {\n if (key.escape) {\n onEscape?.();\n return;\n }\n\n if (key.return) {\n onEnter?.(focusedIndexRef.current);\n return;\n }\n\n if (key.upArrow || (vimKeys && input === \"k\")) {\n moveUp();\n return;\n }\n\n if (key.downArrow || (vimKeys && input === \"j\")) {\n moveDown();\n }\n },\n [onEnter, onEscape, vimKeys, moveUp, moveDown],\n ),\n { isActive: active },\n );\n\n return { focusedIndex, setFocusedIndex };\n}\n"],"mappings":";;;;;;;AAAA,SAAgB,eAAAA,oBAAmB;AACnC,SAAS,KAAK,YAAY;;;ACA1B,SAAS,UAAU,aAAa,cAAc;AAC9C,SAAS,gBAA0B;AAa5B,SAAS,sBACd,WACA,WAAuC,CAAC,GACxC,UAAqC,CAAC,GAItC;AACA,QAAM,EAAE,SAAS,SAAS,IAAI;AAC9B,QAAM,EAAE,OAAO,MAAM,UAAU,MAAM,SAAS,KAAK,IAAI;AAEvD,QAAM,CAAC,cAAc,gBAAgB,IAAI,SAAS,CAAC;AAKnD,QAAM,kBAAkB,OAAO,YAAY;AAE3C,QAAM,kBAAkB,YAA8C,CAAC,WAAW;AAChF,UAAM,OAAO,OAAO,WAAW,aAAa,OAAO,gBAAgB,OAAO,IAAI;AAC9E,oBAAgB,UAAU;AAC1B,qBAAiB,IAAI;AAAA,EACvB,GAAG,CAAC,CAAC;AAEL,QAAM,SAAS,YAAY,MAAM;AAC/B,oBAAgB,CAAC,SAAS;AACxB,UAAI,MAAM;AACR,gBAAQ,OAAO,IAAI,aAAa;AAAA,MAClC;AACA,aAAO,KAAK,IAAI,GAAG,OAAO,CAAC;AAAA,IAC7B,CAAC;AAAA,EACH,GAAG,CAAC,WAAW,MAAM,eAAe,CAAC;AAErC,QAAM,WAAW,YAAY,MAAM;AACjC,oBAAgB,CAAC,SAAS;AACxB,UAAI,MAAM;AACR,gBAAQ,OAAO,KAAK;AAAA,MACtB;AACA,aAAO,KAAK,IAAI,YAAY,GAAG,OAAO,CAAC;AAAA,IACzC,CAAC;AAAA,EACH,GAAG,CAAC,WAAW,MAAM,eAAe,CAAC;AAErC;AAAA,IACE;AAAA,MACE,CAAC,OAAe,QAAa;AAC3B,YAAI,IAAI,QAAQ;AACd,qBAAW;AACX;AAAA,QACF;AAEA,YAAI,IAAI,QAAQ;AACd,oBAAU,gBAAgB,OAAO;AACjC;AAAA,QACF;AAEA,YAAI,IAAI,WAAY,WAAW,UAAU,KAAM;AAC7C,iBAAO;AACP;AAAA,QACF;AAEA,YAAI,IAAI,aAAc,WAAW,UAAU,KAAM;AAC/C,mBAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,CAAC,SAAS,UAAU,SAAS,QAAQ,QAAQ;AAAA,IAC/C;AAAA,IACA,EAAE,UAAU,OAAO;AAAA,EACrB;AAEA,SAAO,EAAE,cAAc,gBAAgB;AACzC;;;ADpCY,SAME,KANF;AA/BL,SAAS,WAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA2C;AACzC,QAAM,cAAcC;AAAA,IAClB,CAAC,UAAkB;AACjB,YAAM,OAAO,MAAM,KAAK;AACxB,UAAI,MAAM;AACR,iBAAS,KAAK,KAAK;AAAA,MACrB;AAAA,IACF;AAAA,IACA,CAAC,OAAO,QAAQ;AAAA,EAClB;AAEA,QAAM,EAAE,aAAa,IAAI;AAAA,IACvB,MAAM;AAAA,IACN,EAAE,SAAS,aAAa,GAAI,aAAa,UAAa,EAAE,UAAU,SAAS,EAAG;AAAA,IAC9E,EAAE,SAAS,OAAO,GAAI,WAAW,UAAa,EAAE,OAAO,EAAG;AAAA,EAC5D;AAEA,SACE,oBAAC,OAAI,eAAc,UAChB,gBAAM,IAAI,CAAC,MAAM,UAAU;AAC1B,UAAM,YAAY,UAAU;AAC5B,UAAM,SAAS,YAAY,WAAW,UAAU,WAAW;AAE3D,WACE,qBAAC,OACC;AAAA,2BAAC,QAAK,MAAM,WAAY,GAAI,aAAa,EAAE,OAAO,WAAW,QAAQ,GAClE;AAAA;AAAA,QAAQ;AAAA,SACX;AAAA,MACC,aACC,WAAW,MAAM,SAAS,IAE1B,oBAAC,QAAK,MAAM,WAAY,GAAI,aAAa,EAAE,OAAO,WAAW,QAAQ,GAClE,eAAK,OACR;AAAA,SATM,KAWV;AAAA,EAEJ,CAAC,GACH;AAEJ;","names":["useCallback","useCallback"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
seatCatalog
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-PJWGTNOX.js";
|
|
5
5
|
|
|
6
6
|
// src/cli/types/generated/matrix.ts
|
|
7
7
|
var BUILT_IN_MATRIX = {
|
|
@@ -3513,7 +3513,7 @@ var BUILT_IN_MATRIX = {
|
|
|
3513
3513
|
{
|
|
3514
3514
|
skillIds: ["web-framework-react"],
|
|
3515
3515
|
needsAny: false,
|
|
3516
|
-
reason: "Composition patterns are React surface \u2014
|
|
3516
|
+
reason: "Composition patterns are React surface \u2014 JSX parts sharing context, ref as a prop, asChild/render via cloneElement, useId"
|
|
3517
3517
|
}
|
|
3518
3518
|
],
|
|
3519
3519
|
alternatives: [],
|
|
@@ -3524,7 +3524,7 @@ var BUILT_IN_MATRIX = {
|
|
|
3524
3524
|
slug: "expressive-typescript",
|
|
3525
3525
|
displayName: "Expressive TypeScript",
|
|
3526
3526
|
description: "Readable functional patterns and named abstractions",
|
|
3527
|
-
usageGuidance: "Use when writing or refactoring TypeScript functions, data transformations, store actions, or any code that mixes logic levels. Apply the orchestrator pattern and extract until the code reads like prose.",
|
|
3527
|
+
usageGuidance: "Use when writing or refactoring TypeScript functions, data transformations, store actions, or any code that mixes logic levels; when deciding whether an expression should be extracted and named; or when modelling a fixed set of states for exhaustive handling. Apply the orchestrator pattern and extract until the code reads like prose.",
|
|
3528
3528
|
category: "meta-design",
|
|
3529
3529
|
author: "@vince",
|
|
3530
3530
|
conflictsWith: [],
|
|
@@ -3622,7 +3622,7 @@ var BUILT_IN_MATRIX = {
|
|
|
3622
3622
|
slug: "api-reviewing",
|
|
3623
3623
|
displayName: "API Reviewing",
|
|
3624
3624
|
description: "Injection, boundary validation, authorization, data exposure",
|
|
3625
|
-
usageGuidance: "Use when reviewing
|
|
3625
|
+
usageGuidance: "Use when reviewing a diff that adds or changes API routes or handlers, database queries, authentication or authorization middleware, or server code that reads files, starts processes or fetches URLs using request data.",
|
|
3626
3626
|
category: "meta-reviewing",
|
|
3627
3627
|
author: "@vince",
|
|
3628
3628
|
conflictsWith: [],
|
|
@@ -3635,8 +3635,8 @@ var BUILT_IN_MATRIX = {
|
|
|
3635
3635
|
id: "meta-reviewing-cli-reviewing",
|
|
3636
3636
|
slug: "cli-reviewing",
|
|
3637
3637
|
displayName: "CLI Reviewing",
|
|
3638
|
-
description: "
|
|
3639
|
-
usageGuidance: "Use when reviewing
|
|
3638
|
+
description: "Review exit codes, signals, streams and prompts in CLIs",
|
|
3639
|
+
usageGuidance: "Use when reviewing a command-line tool's commands, entry point, prompts, output or tests, whichever parser or prompt library it uses. Covers exit codes, cancellation and signals, non-TTY behaviour, the stdout/stderr split, error text, config precedence, subprocess safety and test adequacy.",
|
|
3640
3640
|
category: "meta-reviewing",
|
|
3641
3641
|
author: "@vince",
|
|
3642
3642
|
conflictsWith: [],
|
|
@@ -3650,7 +3650,7 @@ var BUILT_IN_MATRIX = {
|
|
|
3650
3650
|
slug: "infra-reviewing",
|
|
3651
3651
|
displayName: "Infra Reviewing",
|
|
3652
3652
|
description: "Supply-chain pinning, secret exposure, container hygiene",
|
|
3653
|
-
usageGuidance: "Use when reviewing diffs that touch CI/CD workflows, Dockerfiles, deployment configs, or IaC. Covers action and base-image pinning, secret handling, non-root containers, layer caching,
|
|
3653
|
+
usageGuidance: "Use when reviewing diffs that touch CI/CD workflows, Dockerfiles, deployment configs, or IaC. Covers action and base-image pinning, secret handling, privileged workflow triggers and script injection, least-privilege permissions, non-root containers, layer caching, and deployment safety.",
|
|
3654
3654
|
category: "meta-reviewing",
|
|
3655
3655
|
author: "@vince",
|
|
3656
3656
|
conflictsWith: [],
|
|
@@ -3664,7 +3664,7 @@ var BUILT_IN_MATRIX = {
|
|
|
3664
3664
|
slug: "reviewing",
|
|
3665
3665
|
displayName: "Code Review",
|
|
3666
3666
|
description: "Code review guidance",
|
|
3667
|
-
usageGuidance: "Use when reviewing
|
|
3667
|
+
usageGuidance: "Use when reviewing a diff or PR, writing review findings, or deciding whether to approve or request changes.",
|
|
3668
3668
|
category: "meta-reviewing",
|
|
3669
3669
|
author: "@vince",
|
|
3670
3670
|
conflictsWith: [],
|
|
@@ -3678,7 +3678,7 @@ var BUILT_IN_MATRIX = {
|
|
|
3678
3678
|
slug: "web-reviewing",
|
|
3679
3679
|
displayName: "Web Reviewing",
|
|
3680
3680
|
description: "React hooks, accessibility, and render performance",
|
|
3681
|
-
usageGuidance: "Use when reviewing
|
|
3681
|
+
usageGuidance: "Use when reviewing a diff that adds or changes React components or custom hooks \u2014 hook order and dependency arrays, effect and ref cleanup, derived state, list keys and component identity, controlled inputs, memoization claims, and keyboard and screen-reader access for the elements the diff adds.",
|
|
3682
3682
|
category: "meta-reviewing",
|
|
3683
3683
|
author: "@vince",
|
|
3684
3684
|
conflictsWith: [],
|
|
@@ -9335,15 +9335,9 @@ function getSkillById(id) {
|
|
|
9335
9335
|
function getSkillDisplayName(id) {
|
|
9336
9336
|
return matrix.skills[id]?.displayName ?? id;
|
|
9337
9337
|
}
|
|
9338
|
-
function allSkills() {
|
|
9339
|
-
return typedValues(matrix.skills);
|
|
9340
|
-
}
|
|
9341
9338
|
function getCategoryDomain(category) {
|
|
9342
9339
|
return matrix.categories[category]?.domain;
|
|
9343
9340
|
}
|
|
9344
|
-
function findStack(stackId) {
|
|
9345
|
-
return matrix.suggestedStacks.find((s) => s.id === stackId);
|
|
9346
|
-
}
|
|
9347
9341
|
|
|
9348
9342
|
export {
|
|
9349
9343
|
BUILT_IN_MATRIX,
|
|
@@ -9355,8 +9349,6 @@ export {
|
|
|
9355
9349
|
initializeMatrix,
|
|
9356
9350
|
getSkillById,
|
|
9357
9351
|
getSkillDisplayName,
|
|
9358
|
-
|
|
9359
|
-
getCategoryDomain,
|
|
9360
|
-
findStack
|
|
9352
|
+
getCategoryDomain
|
|
9361
9353
|
};
|
|
9362
|
-
//# sourceMappingURL=chunk-
|
|
9354
|
+
//# sourceMappingURL=chunk-52HDHJ7I.js.map
|