skill-flow 1.0.5 → 1.0.7

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 (53) hide show
  1. package/README.md +1 -1
  2. package/dist/cli.js +45 -11
  3. package/dist/cli.js.map +1 -1
  4. package/dist/domain/types.d.ts +13 -0
  5. package/dist/services/config-coordinator.js +3 -1
  6. package/dist/services/config-coordinator.js.map +1 -1
  7. package/dist/services/inventory-service.d.ts +1 -0
  8. package/dist/services/inventory-service.js +42 -21
  9. package/dist/services/inventory-service.js.map +1 -1
  10. package/dist/services/skill-flow.d.ts +19 -2
  11. package/dist/services/skill-flow.js +177 -25
  12. package/dist/services/skill-flow.js.map +1 -1
  13. package/dist/services/source-service.d.ts +4 -1
  14. package/dist/services/source-service.js +83 -17
  15. package/dist/services/source-service.js.map +1 -1
  16. package/dist/tests/add-flow-model.test.d.ts +1 -0
  17. package/dist/tests/add-flow-model.test.js +108 -0
  18. package/dist/tests/add-flow-model.test.js.map +1 -0
  19. package/dist/tests/add-flow-ui.test.d.ts +1 -0
  20. package/dist/tests/add-flow-ui.test.js +16 -0
  21. package/dist/tests/add-flow-ui.test.js.map +1 -0
  22. package/dist/tests/add-prepare-flow.test.d.ts +1 -0
  23. package/dist/tests/add-prepare-flow.test.js +166 -0
  24. package/dist/tests/add-prepare-flow.test.js.map +1 -0
  25. package/dist/tests/add-selection-and-find-command.test.d.ts +1 -0
  26. package/dist/tests/add-selection-and-find-command.test.js +89 -0
  27. package/dist/tests/add-selection-and-find-command.test.js.map +1 -0
  28. package/dist/tests/config-coordinator.test.js +47 -0
  29. package/dist/tests/config-coordinator.test.js.map +1 -1
  30. package/dist/tests/config-integration.test.js +2 -0
  31. package/dist/tests/config-integration.test.js.map +1 -1
  32. package/dist/tests/config-ui-utils.test.js +142 -8
  33. package/dist/tests/config-ui-utils.test.js.map +1 -1
  34. package/dist/tests/inventory-service-precedence.test.d.ts +1 -0
  35. package/dist/tests/inventory-service-precedence.test.js +42 -0
  36. package/dist/tests/inventory-service-precedence.test.js.map +1 -0
  37. package/dist/tests/source-parsing-compatibility.test.d.ts +1 -0
  38. package/dist/tests/source-parsing-compatibility.test.js +71 -0
  39. package/dist/tests/source-parsing-compatibility.test.js.map +1 -0
  40. package/dist/tui/add-flow-model.d.ts +62 -0
  41. package/dist/tui/add-flow-model.js +206 -0
  42. package/dist/tui/add-flow-model.js.map +1 -0
  43. package/dist/tui/add-flow.d.ts +25 -0
  44. package/dist/tui/add-flow.js +533 -0
  45. package/dist/tui/add-flow.js.map +1 -0
  46. package/dist/tui/config-app.d.ts +11 -3
  47. package/dist/tui/config-app.js +78 -73
  48. package/dist/tui/config-app.js.map +1 -1
  49. package/dist/tui/find-app.js +44 -43
  50. package/dist/tui/find-app.js.map +1 -1
  51. package/dist/utils/find-command.js +10 -2
  52. package/dist/utils/find-command.js.map +1 -1
  53. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-flow-model.test.js","sourceRoot":"","sources":["../../src/tests/add-flow-model.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ import { describe, expect, test } from "vitest";
2
+ import { ADD_BADGE_TEXT, getAddLoadingLabel } from "../tui/add-flow.js";
3
+ describe("add flow ui", () => {
4
+ test("uses the skill flow badge title", () => {
5
+ expect(ADD_BADGE_TEXT).toBe(" skill flow ");
6
+ });
7
+ test("maps loading phases to visible progress labels", () => {
8
+ expect(getAddLoadingLabel("loading")).toBe("Preparing source and discovering skills...");
9
+ expect(getAddLoadingLabel("agents-loading")).toBe("Loading available agents...");
10
+ expect(getAddLoadingLabel("applying")).toBe("Applying selected skills and agents...");
11
+ expect(getAddLoadingLabel("rolling-back")).toBe("Rolling back imported source...");
12
+ expect(getAddLoadingLabel("skills")).toBeUndefined();
13
+ expect(getAddLoadingLabel("done")).toBeUndefined();
14
+ });
15
+ });
16
+ //# sourceMappingURL=add-flow-ui.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-flow-ui.test.js","sourceRoot":"","sources":["../../src/tests/add-flow-ui.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExE,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gDAAgD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QACzF,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACjF,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QACtF,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACnF,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACrD,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,166 @@
1
+ import { describe, expect, test } from "vitest";
2
+ import { SkillFlowApp } from "../services/skill-flow.js";
3
+ import { createRepo, skillDoc, useSkillFlowSandbox } from "./test-helpers.js";
4
+ describe.sequential("add prepare flow", () => {
5
+ const sandbox = useSkillFlowSandbox();
6
+ test("prepareAddSource imports the source without binding all detected agents", async () => {
7
+ const repoPath = await createRepo(sandbox.sandboxRoot, {
8
+ "browse/SKILL.md": skillDoc("browse", "Browser flow."),
9
+ "review/SKILL.md": skillDoc("review", "Review flow."),
10
+ });
11
+ const app = new SkillFlowApp();
12
+ const result = await app.prepareAddSource(repoPath);
13
+ expect(result.ok).toBe(true);
14
+ if (!result.ok) {
15
+ return;
16
+ }
17
+ expect(result.data.projected).toBe(false);
18
+ expect(result.data.availableTargets).toContain("claude-code");
19
+ expect(result.data.draft.enabledTargets).toContain("claude-code");
20
+ expect(result.data.draft.selectedLeafIds).toEqual([
21
+ `${result.data.sourceId}:browse`,
22
+ `${result.data.sourceId}:review`,
23
+ ]);
24
+ const manifest = await app.store.readManifest();
25
+ expect(manifest.bindings[result.data.sourceId]?.targets).toEqual({});
26
+ });
27
+ test("prepareAddSource keeps path as a preselection boundary only", async () => {
28
+ const repoPath = await createRepo(sandbox.sandboxRoot, {
29
+ "skills/find-skills/SKILL.md": skillDoc("find-skills", "Find skills."),
30
+ "skills/review/SKILL.md": skillDoc("review", "Review code."),
31
+ });
32
+ const app = new SkillFlowApp();
33
+ const result = await app.prepareAddSource(repoPath, { path: "./skills/find-skills/" });
34
+ expect(result.ok).toBe(true);
35
+ if (!result.ok) {
36
+ return;
37
+ }
38
+ expect(result.data.leafs.map((leaf) => leaf.relativePath)).toEqual([
39
+ "skills/find-skills",
40
+ "skills/review",
41
+ ]);
42
+ expect(result.data.draft.selectedLeafIds).toEqual([
43
+ `${result.data.sourceId}:skills/find-skills`,
44
+ ]);
45
+ });
46
+ test("prepareAddSource supports explicit skill and agent preselection", async () => {
47
+ const repoPath = await createRepo(sandbox.sandboxRoot, {
48
+ "skills/find-skills/SKILL.md": skillDoc("find-skills", "Find skills."),
49
+ "skills/review/SKILL.md": skillDoc("review", "Review code."),
50
+ });
51
+ const app = new SkillFlowApp();
52
+ const result = await app.prepareAddSource(repoPath, {
53
+ skillNames: ["review"],
54
+ agentTargets: ["codex", "openclaw"],
55
+ });
56
+ expect(result.ok).toBe(true);
57
+ if (!result.ok) {
58
+ return;
59
+ }
60
+ expect(result.data.draft.enabledTargets).toEqual(["codex", "openclaw"]);
61
+ expect(result.data.draft.selectedLeafIds).toEqual([
62
+ `${result.data.sourceId}:skills/review`,
63
+ ]);
64
+ });
65
+ test("rollbackPreparedSource removes a prepared source before any deployment exists", async () => {
66
+ const repoPath = await createRepo(sandbox.sandboxRoot, {
67
+ "browse/SKILL.md": skillDoc("browse", "Browser flow."),
68
+ });
69
+ const app = new SkillFlowApp();
70
+ const prepared = await app.prepareAddSource(repoPath);
71
+ expect(prepared.ok).toBe(true);
72
+ if (!prepared.ok) {
73
+ return;
74
+ }
75
+ const rollback = await app.rollbackPreparedSource(prepared.data.sourceId);
76
+ expect(rollback.ok).toBe(true);
77
+ if (!rollback.ok) {
78
+ return;
79
+ }
80
+ const manifest = await app.store.readManifest();
81
+ expect(manifest.sources).toHaveLength(0);
82
+ expect(manifest.bindings[prepared.data.sourceId]).toBeUndefined();
83
+ });
84
+ test("prepareAddSource rejects ambiguous skill selectors", async () => {
85
+ const repoPath = await createRepo(sandbox.sandboxRoot, {
86
+ "skills/review/SKILL.md": skillDoc("review", "Review flow."),
87
+ "nested/review/SKILL.md": skillDoc("review", "Another review flow."),
88
+ });
89
+ const app = new SkillFlowApp();
90
+ const result = await app.prepareAddSource(repoPath, {
91
+ skillNames: ["review"],
92
+ });
93
+ expect(result.ok).toBe(false);
94
+ if (result.ok) {
95
+ return;
96
+ }
97
+ expect(result.errors[0]?.code).toBe("ADD_SKILL_SELECTOR_AMBIGUOUS");
98
+ });
99
+ test("prepareAddSource rejects unavailable agent selectors", async () => {
100
+ const repoPath = await createRepo(sandbox.sandboxRoot, {
101
+ "review/SKILL.md": skillDoc("review", "Review flow."),
102
+ });
103
+ const app = new SkillFlowApp();
104
+ const result = await app.prepareAddSource(repoPath, {
105
+ agentTargets: ["not-real"],
106
+ });
107
+ expect(result.ok).toBe(false);
108
+ if (result.ok) {
109
+ return;
110
+ }
111
+ expect(result.errors[0]?.code).toBe("ADD_AGENT_NOT_AVAILABLE");
112
+ });
113
+ test("applyDraft keeps imported source when no skills or agents are selected", async () => {
114
+ const repoPath = await createRepo(sandbox.sandboxRoot, {
115
+ "review/SKILL.md": skillDoc("review", "Review flow."),
116
+ });
117
+ const app = new SkillFlowApp();
118
+ const prepared = await app.prepareAddSource(repoPath, { skipTargetDetection: true });
119
+ expect(prepared.ok).toBe(true);
120
+ if (!prepared.ok) {
121
+ return;
122
+ }
123
+ const applied = await app.applyDraft(prepared.data.sourceId, {
124
+ selectedLeafIds: [],
125
+ enabledTargets: [],
126
+ });
127
+ expect(applied.ok).toBe(true);
128
+ if (!applied.ok) {
129
+ return;
130
+ }
131
+ const { manifest, lockFile } = await app.store.readState();
132
+ expect(manifest.sources.some((source) => source.id === prepared.data.sourceId)).toBe(true);
133
+ expect(manifest.bindings[prepared.data.sourceId]?.targets).toEqual({});
134
+ expect(lockFile.deployments.some((deployment) => deployment.sourceId === prepared.data.sourceId)).toBe(false);
135
+ });
136
+ test("config bootstrap keeps selected skills when add is saved with no enabled agents", async () => {
137
+ const repoPath = await createRepo(sandbox.sandboxRoot, {
138
+ "browse/SKILL.md": skillDoc("browse", "Browser flow."),
139
+ "review/SKILL.md": skillDoc("review", "Review flow."),
140
+ });
141
+ const app = new SkillFlowApp();
142
+ const prepared = await app.prepareAddSource(repoPath, { skipTargetDetection: true });
143
+ expect(prepared.ok).toBe(true);
144
+ if (!prepared.ok) {
145
+ return;
146
+ }
147
+ const applied = await app.applyDraft(prepared.data.sourceId, {
148
+ selectedLeafIds: [...prepared.data.draft.selectedLeafIds],
149
+ enabledTargets: [],
150
+ });
151
+ expect(applied.ok).toBe(true);
152
+ if (!applied.ok) {
153
+ return;
154
+ }
155
+ const boot = await app.configCoordinator.bootstrapWorkspaceState();
156
+ expect(boot.ok).toBe(true);
157
+ if (!boot.ok) {
158
+ return;
159
+ }
160
+ expect(boot.data.initialDrafts[prepared.data.sourceId]).toEqual({
161
+ enabledTargets: [],
162
+ selectedLeafIds: [...prepared.data.draft.selectedLeafIds].sort(),
163
+ });
164
+ });
165
+ });
166
+ //# sourceMappingURL=add-prepare-flow.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-prepare-flow.test.js","sourceRoot":"","sources":["../../src/tests/add-prepare-flow.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ import { describe, expect, test } from "vitest";
2
+ import { SkillFlowApp } from "../services/skill-flow.js";
3
+ import { buildFindCommand } from "../utils/find-command.js";
4
+ import { createRepo, skillDoc, useSkillFlowSandbox } from "./test-helpers.js";
5
+ describe.sequential("add selection and find command regression", () => {
6
+ const sandbox = useSkillFlowSandbox();
7
+ test("normalizes subpath imports and warns when only part of a group is preselected", async () => {
8
+ const repoPath = await createRepo(sandbox.sandboxRoot, {
9
+ "skills/find-skills/SKILL.md": skillDoc("find-skills", "Find skills."),
10
+ "skills/review/SKILL.md": skillDoc("review", "Review code."),
11
+ });
12
+ const app = new SkillFlowApp();
13
+ const result = await app.addSource(repoPath, { path: "./skills/find-skills/" });
14
+ expect(result.ok).toBe(true);
15
+ if (!result.ok) {
16
+ return;
17
+ }
18
+ expect(result.data.manifest.requestedPath).toBe("skills/find-skills");
19
+ expect(result.data.manifest.selectionMode).toBe("partial");
20
+ expect(result.data.leafCount).toBe(2);
21
+ expect(result.warnings).toEqual([
22
+ {
23
+ code: "ADD_SELECTION_PRESELECTED",
24
+ message: "Preselected 1 of 2 skills under 'skills/find-skills'; the full skills group was imported.",
25
+ },
26
+ ]);
27
+ const manifest = await app.store.readManifest();
28
+ expect(manifest.sources[0]?.requestedPath).toBe("skills/find-skills");
29
+ expect(manifest.sources[0]?.selectionMode).toBe("partial");
30
+ expect(manifest.bindings[result.data.manifest.id]?.targets["claude-code"]?.leafIds).toEqual([
31
+ `${result.data.manifest.id}:skills/find-skills`,
32
+ ]);
33
+ });
34
+ test("treats no-op root paths as a full-group import", async () => {
35
+ const repoPath = await createRepo(sandbox.sandboxRoot, {
36
+ "SKILL.md": skillDoc("root", "Root skill."),
37
+ });
38
+ const app = new SkillFlowApp();
39
+ const result = await app.addSource(repoPath, { path: "." });
40
+ expect(result.ok).toBe(true);
41
+ if (!result.ok) {
42
+ return;
43
+ }
44
+ expect(result.data.manifest.requestedPath).toBeUndefined();
45
+ expect(result.data.manifest.selectionMode).toBe("all");
46
+ expect(result.warnings.some((warning) => warning.code === "ADD_SELECTION_PRESELECTED")).toBe(false);
47
+ const manifest = await app.store.readManifest();
48
+ expect(manifest.sources[0]?.requestedPath).toBeUndefined();
49
+ expect(manifest.sources[0]?.selectionMode).toBe("all");
50
+ expect(manifest.bindings[result.data.manifest.id]?.targets["claude-code"]?.leafIds).toEqual([
51
+ `${result.data.manifest.id}:.`,
52
+ ]);
53
+ });
54
+ test("builds predictable follow-up add commands from search candidates", () => {
55
+ expect(buildFindCommand({
56
+ id: "builtin:root",
57
+ title: "skills",
58
+ description: "Root skills",
59
+ source: "builtin-git",
60
+ sourceLabel: "skills(@anthropics)",
61
+ sourceId: "anthropics-skills",
62
+ sourceKind: "git",
63
+ locator: "https://github.com/anthropics/skills.git",
64
+ installed: false,
65
+ action: {
66
+ type: "add-git",
67
+ locator: "https://github.com/anthropics/skills.git",
68
+ requestedPath: ".",
69
+ },
70
+ })).toBe("skill-flow add https://github.com/anthropics/skills.git");
71
+ expect(buildFindCommand({
72
+ id: "builtin:path",
73
+ title: "find-skills",
74
+ description: "Find skills",
75
+ source: "builtin-git",
76
+ sourceLabel: "skills(@anthropics)",
77
+ sourceId: "anthropics-skills",
78
+ sourceKind: "git",
79
+ locator: "https://github.com/anthropics/skills.git",
80
+ installed: false,
81
+ action: {
82
+ type: "add-git",
83
+ locator: "https://github.com/anthropics/skills.git",
84
+ requestedPath: "./skills/find-skills/",
85
+ },
86
+ })).toBe("skill-flow add https://github.com/anthropics/skills.git --path skills/find-skills");
87
+ });
88
+ });
89
+ //# sourceMappingURL=add-selection-and-find-command.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-selection-and-find-command.test.js","sourceRoot":"","sources":["../../src/tests/add-selection-and-find-command.test.ts"],"names":[],"mappings":"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"}
@@ -168,5 +168,52 @@ describe("ConfigCoordinator", () => {
168
168
  message: "Removed 1 missing group from config state.",
169
169
  });
170
170
  });
171
+ test("restores selected skills from binding even when enabled targets are empty", async () => {
172
+ const summariesWithLocalOnly = [
173
+ {
174
+ ...summaries[0],
175
+ bindings: {
176
+ selectedLeafIds: ["alpha:browse"],
177
+ targets: {},
178
+ },
179
+ activeTargetCount: 0,
180
+ health: "INACTIVE",
181
+ },
182
+ ];
183
+ const coordinator = new ConfigCoordinator({
184
+ store: {
185
+ init: vi.fn().mockResolvedValue(undefined),
186
+ readManifest: vi.fn(),
187
+ },
188
+ doctorService: {
189
+ run: vi.fn().mockResolvedValue({ ok: true, data: audit, warnings: [], errors: [] }),
190
+ },
191
+ workflowService: {
192
+ getSummaries: vi.fn().mockReturnValue(summariesWithLocalOnly),
193
+ },
194
+ getAvailableTargets: vi.fn().mockResolvedValue(["codex"]),
195
+ pruneMissingCheckouts: vi.fn().mockResolvedValue({
196
+ ok: true,
197
+ data: { removedSourceIds: [] },
198
+ warnings: [],
199
+ errors: [],
200
+ }),
201
+ getConfigData: vi.fn().mockResolvedValue({
202
+ ok: true,
203
+ data: { manifest, lockFile, summaries: summariesWithLocalOnly },
204
+ warnings: [],
205
+ errors: [],
206
+ }),
207
+ });
208
+ const result = await coordinator.bootstrapWorkspaceState();
209
+ expect(result.ok).toBe(true);
210
+ if (!result.ok) {
211
+ return;
212
+ }
213
+ expect(result.data.initialDrafts.alpha).toEqual({
214
+ enabledTargets: [],
215
+ selectedLeafIds: ["alpha:browse"],
216
+ });
217
+ });
171
218
  });
172
219
  //# sourceMappingURL=config-coordinator.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-coordinator.test.js","sourceRoot":"","sources":["../../src/tests/config-coordinator.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-coordinator.test.js","sourceRoot":"","sources":["../../src/tests/config-coordinator.test.ts"],"names":[],"mappings":"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"}
@@ -138,6 +138,7 @@ describe.sequential("config integration", () => {
138
138
  }
139
139
  const normalizedManifest = await app.store.readManifest();
140
140
  expect(normalizedManifest.bindings[sourceId]).toEqual({
141
+ selectedLeafIds: [`${sourceId}:browse`, `${sourceId}:review`],
141
142
  targets: {
142
143
  "claude-code": {
143
144
  enabled: true,
@@ -205,6 +206,7 @@ describe.sequential("config integration", () => {
205
206
  expect(second.ok).toBe(true);
206
207
  const manifest = await app.store.readManifest();
207
208
  expect(manifest.bindings[sourceId]).toEqual({
209
+ selectedLeafIds: [leafId],
208
210
  targets: {
209
211
  codex: {
210
212
  enabled: true,
@@ -1 +1 @@
1
- {"version":3,"file":"config-integration.test.js","sourceRoot":"","sources":["../../src/tests/config-integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-integration.test.js","sourceRoot":"","sources":["../../src/tests/config-integration.test.ts"],"names":[],"mappings":"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"}