@mrpatronz/nexusflow 2.2.0 → 2.3.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.
Files changed (135) hide show
  1. package/README.md +80 -17
  2. package/dist/commands/ui.d.ts +1 -0
  3. package/dist/commands/ui.d.ts.map +1 -1
  4. package/dist/commands/ui.js +24 -13
  5. package/dist/commands/ui.js.map +1 -1
  6. package/dist/commands/ui.test.d.ts +2 -0
  7. package/dist/commands/ui.test.d.ts.map +1 -0
  8. package/dist/commands/ui.test.js +58 -0
  9. package/dist/commands/ui.test.js.map +1 -0
  10. package/dist/core/workspace-skills-workflow.integration.test.d.ts +2 -0
  11. package/dist/core/workspace-skills-workflow.integration.test.d.ts.map +1 -0
  12. package/dist/core/workspace-skills-workflow.integration.test.js +162 -0
  13. package/dist/core/workspace-skills-workflow.integration.test.js.map +1 -0
  14. package/dist/core/worktree.test.js +1 -1
  15. package/dist/core/worktree.test.js.map +1 -1
  16. package/dist/generators/index.d.ts.map +1 -1
  17. package/dist/generators/index.js +4 -8
  18. package/dist/generators/index.js.map +1 -1
  19. package/dist/generators/skills-generator.d.ts +2 -2
  20. package/dist/generators/skills-generator.d.ts.map +1 -1
  21. package/dist/generators/skills-generator.js +84 -89
  22. package/dist/generators/skills-generator.js.map +1 -1
  23. package/dist/generators/skills-generator.test.d.ts +2 -0
  24. package/dist/generators/skills-generator.test.d.ts.map +1 -0
  25. package/dist/generators/skills-generator.test.js +79 -0
  26. package/dist/generators/skills-generator.test.js.map +1 -0
  27. package/dist/gui/assets/AgentsPage-BtrTgIyU.js +3 -0
  28. package/dist/gui/assets/{DashboardPage-CUspfCap.js → DashboardPage-CeUkMdxc.js} +1 -1
  29. package/dist/gui/assets/{GettingStartedPage-BqtgARZW.js → GettingStartedPage-YwJXpsc6.js} +1 -1
  30. package/dist/gui/assets/ProjectsPage-D8kEHb-m.js +1 -0
  31. package/dist/gui/assets/ScaffoldRepoInline-ij7JLzmx.js +1 -0
  32. package/dist/gui/assets/SettingsPage-BQhAP4go.js +1 -0
  33. package/dist/gui/assets/SkillsPage-DJ-dXfcC.js +6 -0
  34. package/dist/gui/assets/StartWorkPage-DGWZzF4H.js +1 -0
  35. package/dist/gui/assets/{StrategiesPage-D0Y6A4Tw.js → StrategiesPage-CLOjDRbX.js} +2 -2
  36. package/dist/gui/assets/WorkspaceLauncher-CjNI4vqn.js +1 -0
  37. package/dist/gui/assets/WorkspacesPage-MDzm2JUh.js +6 -0
  38. package/dist/gui/assets/alert-dialog-DjwFcE6b.js +1 -0
  39. package/dist/gui/assets/bot-wH0FKlic.js +1 -0
  40. package/dist/gui/assets/chevron-down-DDmhvRLr.js +1 -0
  41. package/dist/gui/assets/code-xml-Chu1p81J.js +1 -0
  42. package/dist/gui/assets/index-CfQEnn52.js +52 -0
  43. package/dist/gui/assets/index-k7inKaui.css +2 -0
  44. package/dist/gui/assets/{spinner-DXt6mnJk.js → spinner-BCEaGbib.js} +1 -1
  45. package/dist/gui/assets/terminal-gK6BMl3E.js +1 -0
  46. package/dist/gui/assets/{textarea-BLU5HXmZ.js → textarea-D3-elOAa.js} +1 -1
  47. package/dist/gui/assets/{useAriaLabelledBy-CjNlctb9.js → useAriaLabelledBy-DmwmZIqb.js} +1 -1
  48. package/dist/gui/assets/useCompositeListItem-CZnlZ-eF.js +1 -0
  49. package/dist/gui/assets/useValueChanged-BfI2s7NX.js +1 -0
  50. package/dist/gui/assets/zap-FQrDnrgb.js +1 -0
  51. package/dist/gui/index.html +6 -4
  52. package/dist/resources/agents-catalog.d.ts +7 -0
  53. package/dist/resources/agents-catalog.d.ts.map +1 -0
  54. package/dist/resources/agents-catalog.js +141 -0
  55. package/dist/resources/agents-catalog.js.map +1 -0
  56. package/dist/resources/agents-catalog.test.d.ts +2 -0
  57. package/dist/resources/agents-catalog.test.d.ts.map +1 -0
  58. package/dist/resources/agents-catalog.test.js +50 -0
  59. package/dist/resources/agents-catalog.test.js.map +1 -0
  60. package/dist/resources/codex-agent.d.ts +6 -0
  61. package/dist/resources/codex-agent.d.ts.map +1 -0
  62. package/dist/resources/codex-agent.js +55 -0
  63. package/dist/resources/codex-agent.js.map +1 -0
  64. package/dist/resources/codex-agent.test.d.ts +2 -0
  65. package/dist/resources/codex-agent.test.d.ts.map +1 -0
  66. package/dist/resources/codex-agent.test.js +27 -0
  67. package/dist/resources/codex-agent.test.js.map +1 -0
  68. package/dist/resources/contracts.d.ts +116 -0
  69. package/dist/resources/contracts.d.ts.map +1 -0
  70. package/dist/resources/contracts.js +103 -0
  71. package/dist/resources/contracts.js.map +1 -0
  72. package/dist/resources/fs-safety.d.ts +11 -0
  73. package/dist/resources/fs-safety.d.ts.map +1 -0
  74. package/dist/resources/fs-safety.js +77 -0
  75. package/dist/resources/fs-safety.js.map +1 -0
  76. package/dist/resources/materializer.d.ts +17 -0
  77. package/dist/resources/materializer.d.ts.map +1 -0
  78. package/dist/resources/materializer.js +439 -0
  79. package/dist/resources/materializer.js.map +1 -0
  80. package/dist/resources/materializer.test.d.ts +2 -0
  81. package/dist/resources/materializer.test.d.ts.map +1 -0
  82. package/dist/resources/materializer.test.js +149 -0
  83. package/dist/resources/materializer.test.js.map +1 -0
  84. package/dist/resources/service.d.ts +8 -0
  85. package/dist/resources/service.d.ts.map +1 -0
  86. package/dist/resources/service.js +45 -0
  87. package/dist/resources/service.js.map +1 -0
  88. package/dist/resources/service.test.d.ts +2 -0
  89. package/dist/resources/service.test.d.ts.map +1 -0
  90. package/dist/resources/service.test.js +58 -0
  91. package/dist/resources/service.test.js.map +1 -0
  92. package/dist/server.d.ts +5 -0
  93. package/dist/server.d.ts.map +1 -1
  94. package/dist/server.js +310 -4
  95. package/dist/server.js.map +1 -1
  96. package/dist/server.test.js +365 -5
  97. package/dist/server.test.js.map +1 -1
  98. package/dist/types.d.ts +107 -0
  99. package/dist/types.d.ts.map +1 -1
  100. package/dist/utils/resources.d.ts +2 -1
  101. package/dist/utils/resources.d.ts.map +1 -1
  102. package/dist/utils/resources.js +4 -3
  103. package/dist/utils/resources.js.map +1 -1
  104. package/dist/utils/session-finder.d.ts +6 -0
  105. package/dist/utils/session-finder.d.ts.map +1 -1
  106. package/dist/utils/session-finder.js +56 -0
  107. package/dist/utils/session-finder.js.map +1 -1
  108. package/dist/utils/session-finder.test.js +34 -1
  109. package/dist/utils/session-finder.test.js.map +1 -1
  110. package/dist/utils/skills-catalog.d.ts +77 -0
  111. package/dist/utils/skills-catalog.d.ts.map +1 -0
  112. package/dist/utils/skills-catalog.js +871 -0
  113. package/dist/utils/skills-catalog.js.map +1 -0
  114. package/dist/utils/skills-catalog.test.d.ts +2 -0
  115. package/dist/utils/skills-catalog.test.d.ts.map +1 -0
  116. package/dist/utils/skills-catalog.test.js +281 -0
  117. package/dist/utils/skills-catalog.test.js.map +1 -0
  118. package/dist/utils/workspace-launch.d.ts.map +1 -1
  119. package/dist/utils/workspace-launch.js +22 -1
  120. package/dist/utils/workspace-launch.js.map +1 -1
  121. package/dist/utils/workspace-launch.test.js +36 -2
  122. package/dist/utils/workspace-launch.test.js.map +1 -1
  123. package/package.json +4 -1
  124. package/dist/gui/assets/ProjectsPage-UBoQxI2G.js +0 -1
  125. package/dist/gui/assets/ScaffoldRepoInline-DqoourJe.js +0 -1
  126. package/dist/gui/assets/SettingsPage-BZl24tqD.js +0 -1
  127. package/dist/gui/assets/StartWorkPage-BGNFdBfj.js +0 -1
  128. package/dist/gui/assets/WorkspaceLauncher-Cxv0O_wt.js +0 -1
  129. package/dist/gui/assets/WorkspacesPage-Cvb1rOeh.js +0 -6
  130. package/dist/gui/assets/index-CllPiiFL.js +0 -52
  131. package/dist/gui/assets/index-DGCBhMAn.css +0 -2
  132. package/dist/gui/assets/useCompositeListItem-DWGFLKqA.js +0 -1
  133. /package/dist/{resources → static-resources}/workflows/plan-implement-review.md +0 -0
  134. /package/dist/{resources → static-resources}/workflows/research-verify.md +0 -0
  135. /package/dist/{resources → static-resources}/workflows/solo-developer.md +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills-catalog.js","sourceRoot":"","sources":["../../src/utils/skills-catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=skills-catalog.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills-catalog.test.d.ts","sourceRoot":"","sources":["../../src/utils/skills-catalog.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,281 @@
1
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
2
+ import * as fs from 'node:fs/promises';
3
+ import * as path from 'node:path';
4
+ import * as os from 'node:os';
5
+ import fse from 'fs-extra';
6
+ import { parseSkillMarkdown, serializeSkillMarkdown, getSkillCategories, saveSkillCategory, deleteSkillCategory, getAllSkills, saveSkill, deleteSkill, getWorkspaceSkillsConfig, saveWorkspaceSkillsConfig, DEFAULT_CATEGORIES, DEFAULT_SKILLS, } from './skills-catalog.js';
7
+ describe('Skills Catalog & Frontmatter Utils', () => {
8
+ let tempHome;
9
+ const originalEnv = process.env.NEXUSFLOW_HOME;
10
+ beforeEach(async () => {
11
+ tempHome = await fs.mkdtemp(path.join(os.tmpdir(), 'nexusflow-skills-test-home-'));
12
+ process.env.NEXUSFLOW_HOME = tempHome;
13
+ });
14
+ afterEach(async () => {
15
+ if (originalEnv !== undefined) {
16
+ process.env.NEXUSFLOW_HOME = originalEnv;
17
+ }
18
+ else {
19
+ delete process.env.NEXUSFLOW_HOME;
20
+ }
21
+ await fse.remove(tempHome);
22
+ });
23
+ describe('parseSkillMarkdown & serializeSkillMarkdown', () => {
24
+ it('should parse simple frontmatter, CRLF line endings, and markdown body', () => {
25
+ const raw = `---\r\nname: test-skill\r\ntitle: Test Skill\r\ncategory: pull-requests\r\ndescription: "A test skill for testing."\r\ntags:\r\n - git\r\n - test\r\nallowed-tools:\r\n - run_command\r\n - view_file\r\n---\r\n\r\n# Test Playbook\r\n\r\nSome instructions here.`;
26
+ const { metadata, content } = parseSkillMarkdown(raw);
27
+ expect(metadata.name).toBe('test-skill');
28
+ expect(metadata.title).toBe('Test Skill');
29
+ expect(metadata.category).toBe('pull-requests');
30
+ expect(metadata.description).toBe('A test skill for testing.');
31
+ expect(metadata.tags).toEqual(['git', 'test']);
32
+ expect(metadata['allowed-tools']).toEqual(['run_command', 'view_file']);
33
+ expect(content).toContain('# Test Playbook');
34
+ expect(content).toContain('Some instructions here.');
35
+ });
36
+ it('should serialize metadata with objects/parameters and markdown body into valid frontmatter markdown', () => {
37
+ const metadata = {
38
+ name: 'custom-skill',
39
+ title: 'Custom Skill',
40
+ category: 'custom-category',
41
+ description: 'Testing multiline\ndescription with "quotes"',
42
+ tags: ['alpha', 'beta'],
43
+ parameters: [
44
+ { name: 'target_env', type: 'string', default: 'staging' },
45
+ ],
46
+ };
47
+ const content = '# Custom Playbook\n\nSteps to follow.';
48
+ const output = serializeSkillMarkdown(metadata, content);
49
+ expect(output).toContain('name: custom-skill');
50
+ expect(output).toContain('title: Custom Skill');
51
+ expect(output).toContain('category: custom-category');
52
+ expect(output).toContain('# Custom Playbook');
53
+ // Roundtrip verification
54
+ const parsed = parseSkillMarkdown(output);
55
+ expect(parsed.metadata.name).toBe('custom-skill');
56
+ expect(parsed.metadata.title).toBe('Custom Skill');
57
+ expect(parsed.metadata.category).toBe('custom-category');
58
+ expect(parsed.metadata.tags).toEqual(['alpha', 'beta']);
59
+ expect(parsed.metadata.parameters).toEqual([
60
+ { name: 'target_env', type: 'string', default: 'staging' },
61
+ ]);
62
+ expect(parsed.content).toContain('# Custom Playbook');
63
+ });
64
+ });
65
+ describe('Categories Management', () => {
66
+ it('should return default template categories when no custom categories exist', async () => {
67
+ const categories = await getSkillCategories();
68
+ expect(categories.length).toBe(DEFAULT_CATEGORIES.length);
69
+ const prCat = categories.find((c) => c.id === 'pull-requests');
70
+ expect(prCat).toBeDefined();
71
+ expect(prCat?.name).toBe('Pull Requests & Review');
72
+ expect(prCat?.isTemplate).toBe(true);
73
+ });
74
+ it('should create, save, and delete a new user custom category', async () => {
75
+ const newCat = await saveSkillCategory({
76
+ name: 'DevOps & Cloud',
77
+ description: 'Kubernetes, Terraform, and Docker workflows',
78
+ icon: 'zap',
79
+ color: '#10b981',
80
+ });
81
+ expect(newCat.id).toBe('devops-cloud');
82
+ expect(newCat.name).toBe('DevOps & Cloud');
83
+ expect(newCat.custom).toBe(true);
84
+ const all = await getSkillCategories();
85
+ const found = all.find((c) => c.id === 'devops-cloud');
86
+ expect(found).toBeDefined();
87
+ expect(found?.description).toBe('Kubernetes, Terraform, and Docker workflows');
88
+ // Clean up
89
+ await deleteSkillCategory('devops-cloud');
90
+ const afterDelete = await getSkillCategories();
91
+ expect(afterDelete.find((c) => c.id === 'devops-cloud')).toBeUndefined();
92
+ });
93
+ it('should allow customizing a template category and deleting the override to reset to defaults', async () => {
94
+ // 1. Customize a template category
95
+ const overridden = await saveSkillCategory({
96
+ id: 'pull-requests',
97
+ name: 'Customized PR Workflow',
98
+ description: 'Company-specific PR flow',
99
+ });
100
+ expect(overridden.name).toBe('Customized PR Workflow');
101
+ let current = await getSkillCategories();
102
+ expect(current.find((c) => c.id === 'pull-requests')?.name).toBe('Customized PR Workflow');
103
+ // 2. Delete override (resets back to default built-in template)
104
+ await deleteSkillCategory('pull-requests');
105
+ current = await getSkillCategories();
106
+ expect(current.find((c) => c.id === 'pull-requests')?.name).toBe('Pull Requests & Review');
107
+ });
108
+ it('should reject deleting un-customized built-in template categories', async () => {
109
+ await expect(deleteSkillCategory('database-migrations')).rejects.toThrow(/Cannot delete built-in/i);
110
+ });
111
+ });
112
+ describe('Skills Management', () => {
113
+ it('should list all default built-in template skills', async () => {
114
+ const skills = await getAllSkills();
115
+ expect(skills.length).toBe(DEFAULT_SKILLS.length);
116
+ const prSkill = skills.find((s) => s.id === 'pr-review-toolkit');
117
+ expect(prSkill).toBeDefined();
118
+ expect(prSkill?.category).toBe('pull-requests');
119
+ expect(prSkill?.allowedTools).toContain('run_command');
120
+ });
121
+ it('should save and delete a custom skill package with references and scripts', async () => {
122
+ const customSkill = await saveSkill({
123
+ name: 'unit-test-generator',
124
+ title: 'Unit Test Generator',
125
+ category: 'testing-qa',
126
+ description: 'Auto-generates unit tests with mocks',
127
+ tags: ['test', 'generator'],
128
+ content: '# Unit Test Generator\n\nGenerate tests with Vitest.',
129
+ references: [{ name: 'checklist.md', relativePath: 'references/checklist.md', content: '# Checklist' }],
130
+ scripts: [{ name: 'gen.sh', relativePath: 'scripts/gen.sh', content: '#!/bin/bash\necho "generating"' }],
131
+ });
132
+ expect(customSkill.id).toBe('unit-test-generator');
133
+ expect(customSkill.custom).toBe(true);
134
+ const all = await getAllSkills();
135
+ const found = all.find((s) => s.id === 'unit-test-generator');
136
+ expect(found).toBeDefined();
137
+ expect(found?.title).toBe('Unit Test Generator');
138
+ expect(found?.references?.length).toBe(1);
139
+ expect(found?.scripts?.length).toBe(1);
140
+ // Clean up
141
+ await deleteSkill('unit-test-generator');
142
+ const afterDelete = await getAllSkills();
143
+ expect(afterDelete.find((s) => s.id === 'unit-test-generator')).toBeUndefined();
144
+ });
145
+ it('should reject path traversal in skill ID and references', async () => {
146
+ await expect(saveSkill({
147
+ name: '../../evil-skill',
148
+ content: 'evil',
149
+ })).rejects.toThrow();
150
+ await expect(deleteSkill('../../evil-skill')).rejects.toThrow();
151
+ });
152
+ it('rejects personal packages that would shadow a built-in skill', async () => {
153
+ await expect(saveSkill({
154
+ name: 'pr-review-toolkit',
155
+ description: 'Attempted override.',
156
+ content: '# Override',
157
+ })).rejects.toThrow(/built-in skills cannot be overwritten/i);
158
+ expect(await fse.pathExists(path.join(tempHome, 'skills', 'pr-review-toolkit'))).toBe(false);
159
+ });
160
+ it('rejects mismatched skill identities', async () => {
161
+ await expect(saveSkill({
162
+ id: 'stable-id',
163
+ name: 'different-name',
164
+ description: 'Mismatched identity.',
165
+ content: '# Mismatch',
166
+ })).rejects.toThrow(/id and name must match/i);
167
+ expect(await fse.pathExists(path.join(tempHome, 'skills', 'stable-id'))).toBe(false);
168
+ });
169
+ it('rejects persisted metadata identities that do not match their directory', async () => {
170
+ const skillDir = path.join(tempHome, 'skills', 'safe-directory');
171
+ await fse.ensureDir(skillDir);
172
+ await fs.writeFile(path.join(skillDir, 'SKILL.md'), '---\nname: ../../outside\ndescription: malicious\n---\n\nDo something.\n', 'utf-8');
173
+ const skills = await getAllSkills();
174
+ expect(skills.some((skill) => skill.sourcePath === skillDir)).toBe(false);
175
+ expect(await fse.pathExists(path.join(tempHome, 'outside'))).toBe(false);
176
+ });
177
+ it('preserves support folders on metadata edits and removes them only when explicitly cleared', async () => {
178
+ await saveSkill({
179
+ name: 'snapshot-skill',
180
+ description: 'Initial snapshot.',
181
+ content: '# Initial',
182
+ scripts: [{ name: 'old.sh', relativePath: 'scripts/old.sh', content: 'echo old' }],
183
+ });
184
+ await saveSkill({
185
+ name: 'snapshot-skill',
186
+ description: 'Updated snapshot.',
187
+ content: '# Updated',
188
+ });
189
+ expect(await fs.readFile(path.join(tempHome, 'skills', 'snapshot-skill', 'scripts', 'old.sh'), 'utf-8')).toBe('echo old');
190
+ await saveSkill({
191
+ name: 'snapshot-skill',
192
+ description: 'Updated snapshot.',
193
+ content: '# Updated',
194
+ scripts: [],
195
+ });
196
+ expect(await fse.pathExists(path.join(tempHome, 'skills', 'snapshot-skill', 'scripts', 'old.sh'))).toBe(false);
197
+ });
198
+ it('preserves portable frontmatter owned by other tools during edits', async () => {
199
+ const skillDir = path.join(tempHome, 'skills', 'portable-metadata');
200
+ await fse.ensureDir(skillDir);
201
+ await fs.writeFile(path.join(skillDir, 'SKILL.md'), '---\nname: portable-metadata\ndescription: Original trigger.\nlicense: Apache-2.0\ncompatibility: Requires git.\nmetadata:\n owner: platform-team\n nexusflow:\n custom-field: keep\n---\n\n# Original\n', 'utf-8');
202
+ const existing = (await getAllSkills()).find((item) => item.id === 'portable-metadata');
203
+ expect(existing).toBeDefined();
204
+ await saveSkill({
205
+ id: existing.id,
206
+ name: existing.name,
207
+ title: 'Updated title',
208
+ category: 'general',
209
+ description: 'Updated trigger.',
210
+ content: '# Updated',
211
+ });
212
+ const written = parseSkillMarkdown(await fs.readFile(path.join(skillDir, 'SKILL.md'), 'utf-8'));
213
+ expect(written.metadata).toMatchObject({
214
+ license: 'Apache-2.0',
215
+ compatibility: 'Requires git.',
216
+ metadata: {
217
+ owner: 'platform-team',
218
+ nexusflow: { 'custom-field': 'keep', title: 'Updated title' },
219
+ },
220
+ });
221
+ });
222
+ });
223
+ describe('Workspace Skills Config', () => {
224
+ it('should load an empty workspace configuration when file does not exist', async () => {
225
+ const tempDir = await fs.mkdtemp(path.join(os.tmpdir(), 'nexusflow-ws-skills-test-'));
226
+ try {
227
+ const config = await getWorkspaceSkillsConfig(tempDir);
228
+ expect(config.enabledSkills).toEqual([]);
229
+ expect(config.enabledAgents).toEqual([]);
230
+ expect(config.revision).toBe(0);
231
+ }
232
+ finally {
233
+ await fse.remove(tempDir);
234
+ }
235
+ });
236
+ it('should save and load workspace skill assignments', async () => {
237
+ const tempDir = await fs.mkdtemp(path.join(os.tmpdir(), 'nexusflow-ws-skills-test-'));
238
+ try {
239
+ await saveWorkspaceSkillsConfig(tempDir, {
240
+ enabledSkills: ['pr-review-toolkit', 'verifier-workspace'],
241
+ enabledAgents: ['docs_researcher'],
242
+ enabledCategories: ['pull-requests', 'testing-qa'],
243
+ });
244
+ const loaded = await getWorkspaceSkillsConfig(tempDir);
245
+ expect(loaded.enabledSkills).toEqual(['pr-review-toolkit', 'verifier-workspace']);
246
+ expect(loaded.enabledAgents).toEqual(['docs_researcher']);
247
+ expect(loaded.enabledCategories).toEqual(['pull-requests', 'testing-qa']);
248
+ expect(loaded.revision).toBe(1);
249
+ }
250
+ finally {
251
+ await fse.remove(tempDir);
252
+ }
253
+ });
254
+ it('rejects stale assignment revisions', async () => {
255
+ const tempDir = await fs.mkdtemp(path.join(os.tmpdir(), 'nexusflow-ws-skills-test-'));
256
+ try {
257
+ await saveWorkspaceSkillsConfig(tempDir, { enabledSkills: ['pr-review-toolkit'] }, 0);
258
+ await expect(saveWorkspaceSkillsConfig(tempDir, { enabledSkills: ['verifier-workspace'] }, 0)).rejects.toThrow(/expected revision 0, current 1/i);
259
+ }
260
+ finally {
261
+ await fse.remove(tempDir);
262
+ }
263
+ });
264
+ it('serializes concurrent writes so only one request can claim a revision', async () => {
265
+ const tempDir = await fs.mkdtemp(path.join(os.tmpdir(), 'nexusflow-ws-skills-test-'));
266
+ try {
267
+ const results = await Promise.allSettled([
268
+ saveWorkspaceSkillsConfig(tempDir, { enabledSkills: ['pr-review-toolkit'] }, 0),
269
+ saveWorkspaceSkillsConfig(tempDir, { enabledSkills: ['verifier-workspace'] }, 0),
270
+ ]);
271
+ expect(results.filter((result) => result.status === 'fulfilled')).toHaveLength(1);
272
+ expect(results.filter((result) => result.status === 'rejected')).toHaveLength(1);
273
+ expect((await getWorkspaceSkillsConfig(tempDir)).revision).toBe(1);
274
+ }
275
+ finally {
276
+ await fse.remove(tempDir);
277
+ }
278
+ });
279
+ });
280
+ });
281
+ //# sourceMappingURL=skills-catalog.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills-catalog.test.js","sourceRoot":"","sources":["../../src/utils/skills-catalog.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-launch.d.ts","sourceRoot":"","sources":["../../src/utils/workspace-launch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACV,OAAO,EACP,mBAAmB,EACnB,qBAAqB,EAEtB,MAAM,aAAa,CAAC;AAarB,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5D,cAAc,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5C;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAiBlD,6EAA6E;AAC7E,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,MAAM,CAOxF;AA0DD,6EAA6E;AAC7E,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,aAAa,CAAC,EAC7D,QAAQ,kBAAmB,GAC1B,OAAO,CAAC,OAAO,CAAC,CAiClB;AAED,mFAAmF;AACnF,wBAAsB,4BAA4B,CAChD,QAAQ,kBAAmB,GAC1B,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAsClC;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,kBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAc5F;AAED,4EAA4E;AAC5E,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,MAAM,GAAE,qBAAiD,EACzD,QAAQ,kBAAmB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAoCf;AAED,+DAA+D;AAC/D,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE7E"}
1
+ {"version":3,"file":"workspace-launch.d.ts","sourceRoot":"","sources":["../../src/utils/workspace-launch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACV,OAAO,EACP,mBAAmB,EACnB,qBAAqB,EAEtB,MAAM,aAAa,CAAC;AAarB,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5D,cAAc,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5C;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAmBlD,6EAA6E;AAC7E,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,MAAM,CAOxF;AA0DD,6EAA6E;AAC7E,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,aAAa,CAAC,EAC7D,QAAQ,kBAAmB,GAC1B,OAAO,CAAC,OAAO,CAAC,CAiClB;AAED,mFAAmF;AACnF,wBAAsB,4BAA4B,CAChD,QAAQ,kBAAmB,GAC1B,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAsClC;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,kBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC5F;AAED,4EAA4E;AAC5E,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,MAAM,GAAE,qBAAiD,EACzD,QAAQ,kBAAmB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAoCf;AAED,+DAA+D;AAC/D,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE7E"}
@@ -10,6 +10,8 @@ import { isValidSessionUuid } from '../agent/session.js';
10
10
  import { detectEditors } from './detect-editors.js';
11
11
  import { openInEditor } from './open-editor.js';
12
12
  const DESKTOP_PROMPT_MAX_LENGTH = 1_600;
13
+ const WINDOWS_DESKTOP_URI_ENV = 'NEXUSFLOW_DESKTOP_URI';
14
+ const WINDOWS_DESKTOP_URI_COMMAND = `start "" "%${WINDOWS_DESKTOP_URI_ENV}%"`;
13
15
  const DEFAULT_WORKSPACE_PROMPT = 'Read the workspace instructions and implementation plan, inspect the repository state, then begin the task described for this workspace. Ask before making a decision that materially changes scope.';
14
16
  function truncateWellFormed(value, maxCodeUnits) {
15
17
  let result = '';
@@ -144,7 +146,26 @@ export async function detectWorkspaceLaunchTargets(platform = process.platform)
144
146
  }
145
147
  export async function openDesktopUri(uri, platform = process.platform) {
146
148
  if (platform === 'win32') {
147
- await execa('explorer.exe', [uri], { shell: false });
149
+ const parsed = new URL(uri);
150
+ if (!['claude:', 'codex:'].includes(parsed.protocol) || /["\r\n\0]/.test(uri)) {
151
+ throw new Error('Unsupported desktop URI.');
152
+ }
153
+ // Anthropic documents `start "" "claude://..."` as the Windows launcher.
154
+ // Pass the URI through one environment expansion so cmd.exe cannot reinterpret
155
+ // its percent-encoded values as environment-variable references.
156
+ try {
157
+ await execa('cmd.exe', ['/d', '/v:off', '/s', '/c', WINDOWS_DESKTOP_URI_COMMAND], {
158
+ env: { [WINDOWS_DESKTOP_URI_ENV]: uri },
159
+ shell: false,
160
+ windowsHide: true,
161
+ windowsVerbatimArguments: true,
162
+ });
163
+ }
164
+ catch {
165
+ // Do not return execa's command string: it contains the local workspace
166
+ // path and the task kickoff embedded in the deep link.
167
+ throw new Error('Windows could not open the selected desktop app. Update or reinstall the app, then try again.');
168
+ }
148
169
  return;
149
170
  }
150
171
  if (platform === 'darwin') {
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-launch.js","sourceRoot":"","sources":["../../src/utils/workspace-launch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-launch.js","sourceRoot":"","sources":["../../src/utils/workspace-launch.ts"],"names":[],"mappings":"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"}
@@ -51,7 +51,36 @@ describe('workspace launch catalog', () => {
51
51
  const workspacePath = path.resolve('work spaces', 'one & two');
52
52
  const prompt = buildWorkspaceLaunchPrompt({ description: 'Fix launch & resume' });
53
53
  await launchWorkspaceTarget('codex-desktop', workspacePath, { kind: 'new-workspace', prompt }, 'win32');
54
- expect(execa).toHaveBeenCalledWith('explorer.exe', [`codex://threads/new?path=${encodeURIComponent(workspacePath)}&prompt=${encodeURIComponent(prompt)}`], { shell: false });
54
+ expect(execa).toHaveBeenCalledWith('cmd.exe', ['/d', '/v:off', '/s', '/c', 'start "" "%NEXUSFLOW_DESKTOP_URI%"'], {
55
+ env: {
56
+ NEXUSFLOW_DESKTOP_URI: `codex://threads/new?path=${encodeURIComponent(workspacePath)}&prompt=${encodeURIComponent(prompt)}`,
57
+ },
58
+ shell: false,
59
+ windowsHide: true,
60
+ windowsVerbatimArguments: true,
61
+ });
62
+ });
63
+ it('uses the documented Windows URI dispatcher without reparsing encoded values', async () => {
64
+ vi.mocked(execa).mockResolvedValue({ exitCode: 0 });
65
+ const uri = 'claude://code/new?folder=C%3A%5Cwork%5Cnexus&q=Fix%20one%20%26%20two';
66
+ await openDesktopUri(uri, 'win32');
67
+ expect(execa).toHaveBeenCalledWith('cmd.exe', ['/d', '/v:off', '/s', '/c', 'start "" "%NEXUSFLOW_DESKTOP_URI%"'], {
68
+ env: { NEXUSFLOW_DESKTOP_URI: uri },
69
+ shell: false,
70
+ windowsHide: true,
71
+ windowsVerbatimArguments: true,
72
+ });
73
+ });
74
+ it('rejects an unsafe Windows desktop URI before invoking cmd.exe', async () => {
75
+ await expect(openDesktopUri('https://example.com', 'win32')).rejects.toThrow('Unsupported desktop URI');
76
+ expect(execa).not.toHaveBeenCalled();
77
+ });
78
+ it('does not expose a Windows desktop URI when activation fails', async () => {
79
+ const uri = 'claude://code/new?folder=C%3A%5Cprivate-workspace&q=Private%20task';
80
+ vi.mocked(execa).mockRejectedValue(new Error(`Command failed: cmd.exe ${uri}`));
81
+ const result = openDesktopUri(uri, 'win32');
82
+ await expect(result).rejects.toThrow('Windows could not open the selected desktop app');
83
+ await expect(result).rejects.not.toThrow(/claude:\/\/|private-workspace|Private%20task/);
55
84
  });
56
85
  it('builds a once-encoded Claude URI with the workspace kickoff', async () => {
57
86
  vi.mocked(execa).mockResolvedValue({ exitCode: 0, stdout: 'claude.desktop\n' });
@@ -75,7 +104,12 @@ describe('workspace launch catalog', () => {
75
104
  const workspacePath = path.resolve('workspace');
76
105
  const sessionId = '0199a213-81c0-7800-8aa1-bbab2a035a53';
77
106
  await launchWorkspaceTarget('codex-desktop', workspacePath, { kind: 'resume-session', sessionId }, 'win32');
78
- expect(execa).toHaveBeenCalledWith('explorer.exe', [`codex://threads/${sessionId}`], { shell: false });
107
+ expect(execa).toHaveBeenCalledWith('cmd.exe', ['/d', '/v:off', '/s', '/c', 'start "" "%NEXUSFLOW_DESKTOP_URI%"'], {
108
+ env: { NEXUSFLOW_DESKTOP_URI: `codex://threads/${sessionId}` },
109
+ shell: false,
110
+ windowsHide: true,
111
+ windowsVerbatimArguments: true,
112
+ });
79
113
  });
80
114
  it('does not claim that Claude Desktop can resume a local Code session', async () => {
81
115
  vi.mocked(execa).mockResolvedValue({ exitCode: 0, stdout: 'claude.desktop\n' });
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-launch.test.js","sourceRoot":"","sources":["../../src/utils/workspace-launch.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-launch.test.js","sourceRoot":"","sources":["../../src/utils/workspace-launch.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mrpatronz/nexusflow",
3
- "version": "2.2.0",
3
+ "version": "2.3.0",
4
4
  "description": "Combine multiple repos into a workspace with rich AI assistant context",
5
5
  "type": "module",
6
6
  "repository": {
@@ -60,9 +60,11 @@
60
60
  "fs-extra": "^11.3.6",
61
61
  "globby": "^16.2.0",
62
62
  "hono": "^4.12.27",
63
+ "js-yaml": "^5.2.3",
63
64
  "openai": "^6.45.0",
64
65
  "ora": "^9.4.1",
65
66
  "pm2": "^7.0.3",
67
+ "smol-toml": "^1.8.0",
66
68
  "zod": "^4.4.3"
67
69
  },
68
70
  "overrides": {
@@ -72,6 +74,7 @@
72
74
  },
73
75
  "devDependencies": {
74
76
  "@types/fs-extra": "^11.0.4",
77
+ "@types/js-yaml": "^4.0.9",
75
78
  "@types/node": "^26.1.0",
76
79
  "rimraf": "^6.1.3",
77
80
  "typescript": "^6.0.3",
@@ -1 +0,0 @@
1
- import{_ as e,b as t,g as n,h as r,m as i,t as a}from"./button-cPldH5S4.js";import{St as o,t as s}from"./spinner-DXt6mnJk.js";import{n as c,t as l}from"./ScaffoldRepoInline-DqoourJe.js";import{t as u}from"./trash-2-Da8F2gKd.js";import{$ as d,B as f,C as p,D as m,E as h,G as g,T as _,U as v,Y as y,b,d as x,dt as ee,f as S,g as C,h as te,lt as w,m as T,p as E,q as D,rt as O,u as k,ut as A,w as j,x as M,y as N}from"./index-CllPiiFL.js";import{a as P,i as F,n as I,r as L,t as R}from"./empty-DWyDwDYB.js";import{t as z}from"./badge-BnkhqVEF.js";var ne=r(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]);function B(e){return M(e,`alert-dialog`)}var V=t(e(),1),H=n(),U=B,W=p;function G({className:e,...t}){return(0,H.jsx)(m,{forceRender:!0,className:i(`fixed inset-0 z-50 bg-background/60 backdrop-blur-xs transition-all duration-200 data-ending-style:opacity-0 data-starting-style:opacity-0`,e),"data-slot":`alert-dialog-backdrop`,...t})}function K({className:e,...t}){return(0,H.jsx)(b,{className:i(`fixed inset-0 z-50 grid grid-rows-[1fr_auto_1fr] justify-items-center p-4`,e),"data-slot":`alert-dialog-viewport`,...t})}function q({className:e,bottomStickOnMobile:t=!0,...n}){return(0,H.jsxs)(W,{children:[(0,H.jsx)(G,{}),(0,H.jsx)(K,{className:i(t&&`max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12`),children:(0,H.jsx)(j,{className:i(`-translate-y-[calc(1.25rem*var(--nested-dialogs))] relative row-start-2 flex max-h-full min-h-0 w-full min-w-0 max-w-lg scale-[calc(1-0.1*var(--nested-dialogs))] flex-col rounded-2xl border bg-popover not-dark:bg-clip-padding text-popover-foreground opacity-[calc(1-0.1*var(--nested-dialogs))] shadow-lg/5 transition-[scale,opacity,translate] duration-200 ease-in-out will-change-transform before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] data-nested:data-ending-style:translate-y-8 data-nested:data-starting-style:translate-y-8 data-nested-dialog-open:origin-top data-ending-style:scale-98 data-starting-style:scale-98 data-ending-style:opacity-0 data-starting-style:opacity-0 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]`,t&&`max-sm:max-w-none max-sm:rounded-none max-sm:border-x-0 max-sm:border-t max-sm:border-b-0 max-sm:opacity-[calc(1-min(var(--nested-dialogs),1))] max-sm:data-ending-style:translate-y-4 max-sm:data-starting-style:translate-y-4 max-sm:before:hidden max-sm:before:rounded-none`,e),"data-slot":`alert-dialog-popup`,...n})})]})}function J({className:e,...t}){return(0,H.jsx)(`div`,{className:i(`flex flex-col gap-2 p-6 text-center max-sm:pb-4 sm:text-left`,e),"data-slot":`alert-dialog-header`,...t})}function Y({className:e,variant:t=`default`,...n}){return(0,H.jsx)(`div`,{className:i(`flex flex-col-reverse gap-2 px-6 sm:flex-row sm:justify-end sm:rounded-b-[calc(var(--radius-2xl)-1px)]`,t==="default"&&`border-t bg-muted/72 py-4`,t===`bare`&&`pb-6`,e),"data-slot":`alert-dialog-footer`,...n})}function X({className:e,...t}){return(0,H.jsx)(N,{className:i(`font-heading font-semibold text-xl leading-none`,e),"data-slot":`alert-dialog-title`,...t})}function Z({className:e,...t}){return(0,H.jsx)(_,{className:i(`text-muted-foreground text-sm`,e),"data-slot":`alert-dialog-description`,...t})}function re(e){return(0,H.jsx)(h,{"data-slot":`alert-dialog-close`,...e})}var ie={editingId:null,name:``,description:``,repoPaths:[]};function Q(){let e=O(),t=g(),n=D(),r=d(),i=f(),p=y(),m=v(),[h,_]=(0,V.useState)(null),[b,j]=(0,V.useState)(null),[M,N]=(0,V.useState)(null),B=(0,V.useMemo)(()=>{let e={};for(let t of r.data??[])t.projectId&&(e[t.projectId]=(e[t.projectId]??0)+1);return e},[r.data]),W=()=>{j(null),_(ie)},G=e=>{j(null),_({editingId:e.id,name:e.name,description:e.description??``,repoPaths:e.repos.map(e=>e.path)})},K=e=>{_(t=>t&&{...t,repoPaths:t.repoPaths.includes(e.path)?t.repoPaths.filter(t=>t!==e.path):[...t.repoPaths,e.path]})},Q=async()=>{if(h){j(null);try{h.editingId?await p.mutateAsync({id:h.editingId,name:h.name,description:h.description||null,repos:h.repoPaths}):await i.mutateAsync({name:h.name,description:h.description||void 0,repos:h.repoPaths}),_(null)}catch(e){j(e instanceof Error?e.message:String(e))}}},ae=async()=>{if(M)try{await m.mutateAsync(M.id)}finally{N(null)}},oe=!!(h&&h.name.trim()&&h.repoPaths.length>0),$=i.isPending||p.isPending;return(0,H.jsxs)(`div`,{className:`mx-auto max-w-4xl animate-fade-in`,children:[(0,H.jsxs)(`header`,{className:`mb-6 flex items-center justify-between gap-4`,children:[(0,H.jsxs)(`div`,{children:[(0,H.jsx)(`h1`,{className:`text-xl font-semibold`,children:`Projects`}),(0,H.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Named groups of repositories you start work from. Registered once, reused for every feature.`})]}),(0,H.jsxs)(a,{onClick:W,children:[(0,H.jsx)(w,{}),` New project`]})]}),t.isLoading?(0,H.jsx)(`div`,{className:`flex justify-center py-20`,children:(0,H.jsx)(s,{className:`size-6`})}):(t.data??[]).length===0?(0,H.jsxs)(R,{className:`border border-border border-dashed`,children:[(0,H.jsxs)(L,{children:[(0,H.jsx)(F,{variant:`icon`,children:(0,H.jsx)(ee,{})}),(0,H.jsx)(P,{children:`No projects yet`}),(0,H.jsx)(I,{children:`Register your first project to start work without re-picking repositories every time.`})]}),(0,H.jsxs)(a,{onClick:W,children:[(0,H.jsx)(w,{}),` New project`]})]}):(0,H.jsx)(`ul`,{className:`flex flex-col gap-3`,children:(t.data??[]).map(t=>(0,H.jsx)(`li`,{className:`rounded-xl border border-border bg-card p-4 transition-colors hover:border-foreground/15`,children:(0,H.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,H.jsxs)(`div`,{className:`min-w-0`,children:[(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,H.jsx)(`h2`,{className:`truncate text-sm font-semibold`,children:t.name}),(B[t.id]??0)>0&&(0,H.jsxs)(z,{variant:`secondary`,children:[B[t.id],` workspace`,B[t.id]===1?``:`s`]})]}),t.description&&(0,H.jsx)(`p`,{className:`mt-0.5 truncate text-sm text-muted-foreground`,children:t.description}),(0,H.jsx)(`ul`,{className:`mt-2 flex flex-col gap-0.5`,children:t.repos.map(e=>(0,H.jsxs)(`li`,{className:`truncate font-mono text-xs text-muted-foreground`,children:[e.path,(0,H.jsxs)(`span`,{className:`ml-2 text-muted-foreground/60`,children:[`[`,e.defaultBranch,`]`]})]},e.path))})]}),(0,H.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:[(0,H.jsxs)(a,{size:`sm`,onClick:()=>e(`/new?project=${encodeURIComponent(t.id)}`),children:[(0,H.jsx)(A,{}),` Start work`]}),(0,H.jsx)(a,{size:`icon-sm`,variant:`ghost`,"aria-label":`Edit ${t.name}`,onClick:()=>G(t),children:(0,H.jsx)(ne,{})}),(0,H.jsx)(a,{size:`icon-sm`,variant:`ghost`,"aria-label":`Remove ${t.name}`,onClick:()=>N(t),children:(0,H.jsx)(u,{})})]})]})},t.id))}),(0,H.jsx)(k,{open:h!==null,onOpenChange:e=>!e&&_(null),children:(0,H.jsxs)(te,{className:`max-w-lg`,children:[(0,H.jsxs)(E,{children:[(0,H.jsx)(C,{children:h?.editingId?`Edit project`:`New project`}),(0,H.jsx)(x,{children:`A project is a reusable group of source repositories. Removing one later never touches disk.`})]}),(0,H.jsxs)(T,{className:`space-y-4`,children:[(0,H.jsxs)(`label`,{className:`block`,children:[(0,H.jsx)(`span`,{className:`mb-1 block text-sm font-medium`,children:`Name`}),(0,H.jsx)(o,{value:h?.name??``,onChange:e=>_(t=>t&&{...t,name:e.target.value}),placeholder:`e.g. Hogia Billing`,autoFocus:!0})]}),(0,H.jsxs)(`label`,{className:`block`,children:[(0,H.jsxs)(`span`,{className:`mb-1 block text-sm font-medium`,children:[`Description `,(0,H.jsx)(`span`,{className:`font-normal text-muted-foreground`,children:`(optional)`})]}),(0,H.jsx)(o,{value:h?.description??``,onChange:e=>_(t=>t&&{...t,description:e.target.value}),placeholder:`What this group of repos is for`})]}),(0,H.jsxs)(`div`,{children:[(0,H.jsx)(`span`,{className:`mb-1 block text-sm font-medium`,children:`Repositories`}),(0,H.jsx)(c,{repos:n.data??[],selectedPaths:h?.repoPaths??[],onToggle:K,loading:n.isLoading,emptyHint:`No repositories found in your dev directory.`}),(0,H.jsx)(l,{onCreated:e=>_(t=>t&&{...t,repoPaths:[...t.repoPaths,e.path]})})]}),b&&(0,H.jsx)(`p`,{className:`text-sm text-destructive-foreground`,children:b})]}),(0,H.jsxs)(S,{children:[(0,H.jsx)(a,{variant:`outline`,onClick:()=>_(null),children:`Cancel`}),(0,H.jsxs)(a,{onClick:Q,disabled:!oe||$,children:[$?(0,H.jsx)(s,{}):null,h?.editingId?`Save changes`:`Create project`]})]})]})}),(0,H.jsx)(U,{open:M!==null,onOpenChange:e=>!e&&N(null),children:(0,H.jsxs)(q,{children:[(0,H.jsxs)(J,{children:[(0,H.jsxs)(X,{children:[`Remove “`,M?.name,`”?`]}),(0,H.jsx)(Z,{children:`This only removes the project from the registry — repositories and workspaces on disk are not touched.`})]}),(0,H.jsxs)(Y,{children:[(0,H.jsx)(re,{render:(0,H.jsx)(a,{variant:`outline`,children:`Cancel`})}),(0,H.jsxs)(a,{variant:`destructive`,onClick:ae,disabled:m.isPending,children:[m.isPending?(0,H.jsx)(s,{}):null,`Remove project`]})]})]})})]})}export{Q as ProjectsPage};