wicked-crew-api-types 0.33.0 → 0.34.0
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/index.d.ts +50 -4
- package/package.json +2 -2
package/index.d.ts
CHANGED
|
@@ -1785,6 +1785,40 @@ export interface SkillBaselineRecord {
|
|
|
1785
1785
|
venv: SkillVenvState;
|
|
1786
1786
|
}
|
|
1787
1787
|
|
|
1788
|
+
/**
|
|
1789
|
+
* Why a skill's text cannot be followed on a non-Claude CLI (F-079, api-types 0.34.0; design W4
|
|
1790
|
+
* §5.1 — the same tokens wicked-garden's own lint reports):
|
|
1791
|
+
*
|
|
1792
|
+
* - `plugin-root` — the text contains `${CLAUDE_PLUGIN_ROOT}` (only Claude Code substitutes it);
|
|
1793
|
+
* - `skill-dir-var` — the text contains `${CLAUDE_SKILL_DIR}` (likewise Claude-only);
|
|
1794
|
+
* - `cwd-script` — an interpreter invokes a plugin script by a path relative to the worktree cwd
|
|
1795
|
+
* (`python3 scripts/domain/extract_loop.py`) instead of the `wicked-garden run …` launcher;
|
|
1796
|
+
* - `relative-link` — a `../` link whose target exists in the bundle (the flat `<name>/SKILL.md`
|
|
1797
|
+
* layout of every non-Claude install cannot follow it);
|
|
1798
|
+
* - `cross-skill-path` — a path (plugin-root or `../`) that lands in ANOTHER skill's directory;
|
|
1799
|
+
* the portable form names that skill (`wicked-garden-<x>`) instead;
|
|
1800
|
+
* - `requires-harness:claude` — the author declared `metadata.requires-harness: claude` in the
|
|
1801
|
+
* frontmatter: the skill genuinely needs the Claude harness (not an authoring defect).
|
|
1802
|
+
*/
|
|
1803
|
+
export type SkillPortabilityReason =
|
|
1804
|
+
| 'plugin-root'
|
|
1805
|
+
| 'skill-dir-var'
|
|
1806
|
+
| 'cwd-script'
|
|
1807
|
+
| 'relative-link'
|
|
1808
|
+
| 'cross-skill-path'
|
|
1809
|
+
| 'requires-harness:claude';
|
|
1810
|
+
|
|
1811
|
+
/** Per-reason portability of a skill (F-079, api-types 0.34.0) — reported beside `portable`. */
|
|
1812
|
+
export interface SkillPortability {
|
|
1813
|
+
/** The same value as `SkillEntry.portable`: `reasons.length === 0`. */
|
|
1814
|
+
portable: boolean;
|
|
1815
|
+
/** Sorted, unique. Empty when portable. */
|
|
1816
|
+
reasons: SkillPortabilityReason[];
|
|
1817
|
+
/** Up to five anchors, `<plugin-relative file>:<line>`, one per hit in file order — where the
|
|
1818
|
+
* offending text sits (the drawer's "why" and the operator's path to the line). */
|
|
1819
|
+
evidence?: string[];
|
|
1820
|
+
}
|
|
1821
|
+
|
|
1788
1822
|
export interface SkillEntry {
|
|
1789
1823
|
/** Plugin-relative directory, nested layout preserved (`skills/engineering/frontend`). Never
|
|
1790
1824
|
* renamed — sibling `../` links depend on it. */
|
|
@@ -1794,11 +1828,17 @@ export interface SkillEntry {
|
|
|
1794
1828
|
* daemon knows (core drop-ins, crew-generated, user-registered) or a skill one of those names in
|
|
1795
1829
|
* its SKILL.md (repo-learn → search, mem). Disabling or renaming it is blocking. */
|
|
1796
1830
|
core: boolean;
|
|
1797
|
-
/** `false` when the skill's files
|
|
1798
|
-
* the
|
|
1799
|
-
*
|
|
1800
|
-
*
|
|
1831
|
+
/** `false` when the skill's files carry any `SkillPortabilityReason` — Claude-only: excluded from
|
|
1832
|
+
* the snapshot's `views/copilot/` and from the per-launch skill lists core builds for the other
|
|
1833
|
+
* CLIs. `portable` is the admission key for every non-Claude view (design v3.2); the reasons
|
|
1834
|
+
* are reported per token in `portability` (api-types 0.34.0). wicked-garden ≥ 12.33 authors
|
|
1835
|
+
* every skill portably, so a non-portable row there is either an older garden or a skill that
|
|
1836
|
+
* declares `requires-harness: claude`. */
|
|
1801
1837
|
portable: boolean;
|
|
1838
|
+
/** Per-reason portability (F-079, api-types 0.34.0): `portable` again, the sorted unique
|
|
1839
|
+
* `reasons`, and up to five `file:line` anchors. Absent on manifests written by a daemon older
|
|
1840
|
+
* than 0.7.30 — treat absence as "reasons unknown". */
|
|
1841
|
+
portability?: SkillPortability;
|
|
1802
1842
|
/** Manifest state, orthogonal to content: a disabled skill's files stay in `effective/` and are
|
|
1803
1843
|
* excluded from the next published snapshot. Reset never flips it. */
|
|
1804
1844
|
enabled: boolean;
|
|
@@ -1917,6 +1957,9 @@ export type SkillFindingKind =
|
|
|
1917
1957
|
| 'core-rename'
|
|
1918
1958
|
| 'core-missing'
|
|
1919
1959
|
| 'support-file-edit'
|
|
1960
|
+
/** A write made (or would make) the skill non-portable — a WARNING, one finding PER REASON per
|
|
1961
|
+
* file (api-types 0.34.0), anchored `file:line` at the first hit and carrying the token in
|
|
1962
|
+
* `portabilityReason`. The skill leaves every non-Claude delivery view. */
|
|
1920
1963
|
| 'non-portable'
|
|
1921
1964
|
/** A `${CLAUDE_PLUGIN_ROOT}/<p>` or `../<p>` reference in an enabled skill's files that does not
|
|
1922
1965
|
* resolve inside the would-be snapshot. Severity follows the TARGET (design v3.4 §1): a reference
|
|
@@ -2002,6 +2045,9 @@ export interface SkillConflictFinding {
|
|
|
2002
2045
|
evidence: string;
|
|
2003
2046
|
/** Why it matters. */
|
|
2004
2047
|
explanation: string;
|
|
2048
|
+
/** On a `non-portable` finding: WHICH reason this finding reports (one finding per reason per
|
|
2049
|
+
* file). Absent on every other kind (api-types 0.34.0). */
|
|
2050
|
+
portabilityReason?: SkillPortabilityReason;
|
|
2005
2051
|
}
|
|
2006
2052
|
|
|
2007
2053
|
/** `POST /skills/analyze` 200 body (a PURE dry run of the publish validation: nothing persisted,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wicked-crew-api-types",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "The wire contract of the wicked-crew daemon's /api/v1 REST surface and /ws CoreEvent frames
|
|
3
|
+
"version": "0.34.0",
|
|
4
|
+
"description": "The wire contract of the wicked-crew daemon's /api/v1 REST surface and /ws CoreEvent frames — types only, zero runtime",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./index.d.ts",
|
|
7
7
|
"exports": {
|