@mrpatronz/nexusflow 2.4.1 → 2.5.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/dist/commands/isolate.d.ts +12 -0
- package/dist/commands/isolate.d.ts.map +1 -0
- package/dist/commands/isolate.js +78 -0
- package/dist/commands/isolate.js.map +1 -0
- package/dist/commands/isolate.test.d.ts +2 -0
- package/dist/commands/isolate.test.d.ts.map +1 -0
- package/dist/commands/isolate.test.js +59 -0
- package/dist/commands/isolate.test.js.map +1 -0
- package/dist/commands/ui.d.ts +1 -1
- package/dist/commands/ui.d.ts.map +1 -1
- package/dist/commands/ui.js +26 -6
- package/dist/commands/ui.js.map +1 -1
- package/dist/core/config-schema.d.ts +17 -0
- package/dist/core/config-schema.d.ts.map +1 -0
- package/dist/core/config-schema.js +24 -0
- package/dist/core/config-schema.js.map +1 -0
- package/dist/core/doctor.d.ts.map +1 -1
- package/dist/core/doctor.js +19 -5
- package/dist/core/doctor.js.map +1 -1
- package/dist/core/isolate.d.ts +31 -0
- package/dist/core/isolate.d.ts.map +1 -0
- package/dist/core/isolate.js +175 -0
- package/dist/core/isolate.js.map +1 -0
- package/dist/core/isolate.test.d.ts +2 -0
- package/dist/core/isolate.test.d.ts.map +1 -0
- package/dist/core/isolate.test.js +290 -0
- package/dist/core/isolate.test.js.map +1 -0
- package/dist/core/refresh.d.ts.map +1 -1
- package/dist/core/refresh.js +19 -16
- package/dist/core/refresh.js.map +1 -1
- package/dist/core/sync.d.ts.map +1 -1
- package/dist/core/sync.js +21 -7
- package/dist/core/sync.js.map +1 -1
- package/dist/core/workspace.d.ts +6 -0
- package/dist/core/workspace.d.ts.map +1 -1
- package/dist/core/workspace.js +27 -4
- package/dist/core/workspace.js.map +1 -1
- package/dist/core/worktree.d.ts.map +1 -1
- package/dist/core/worktree.js +7 -0
- package/dist/core/worktree.js.map +1 -1
- package/dist/desktop-server.js +2 -1
- package/dist/desktop-server.js.map +1 -1
- package/dist/generators/base.d.ts.map +1 -1
- package/dist/generators/base.js +13 -5
- package/dist/generators/base.js.map +1 -1
- package/dist/generators/base.test.js +1 -1
- package/dist/generators/base.test.js.map +1 -1
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +47 -1
- package/dist/mcp/tools.js.map +1 -1
- package/dist/mcp/tools.test.d.ts +2 -0
- package/dist/mcp/tools.test.d.ts.map +1 -0
- package/dist/mcp/tools.test.js +70 -0
- package/dist/mcp/tools.test.js.map +1 -0
- package/dist/orchestration/orchestrator.js +2 -2
- package/dist/orchestration/orchestrator.js.map +1 -1
- package/dist/orchestration/orchestrator.test.js +1 -1
- package/dist/orchestration/orchestrator.test.js.map +1 -1
- package/dist/orchestration/runner.d.ts +5 -1
- package/dist/orchestration/runner.d.ts.map +1 -1
- package/dist/orchestration/runner.js +14 -4
- package/dist/orchestration/runner.js.map +1 -1
- package/dist/orchestration/runner.test.js +22 -16
- package/dist/orchestration/runner.test.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +67 -5
- package/dist/server.js.map +1 -1
- package/dist/server.test.js +73 -1
- package/dist/server.test.js.map +1 -1
- package/dist/types.d.ts +16 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/feature.d.ts +10 -1
- package/dist/utils/feature.d.ts.map +1 -1
- package/dist/utils/feature.js +36 -4
- package/dist/utils/feature.js.map +1 -1
- package/dist/utils/session-finder.d.ts +2 -0
- package/dist/utils/session-finder.d.ts.map +1 -1
- package/dist/utils/session-finder.js +13 -0
- package/dist/utils/session-finder.js.map +1 -1
- package/package.json +5 -3
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module commands/isolate
|
|
3
|
+
* `nexusflow isolate` — on-demand worktree isolation for in-place workspaces.
|
|
4
|
+
*/
|
|
5
|
+
interface IsolateCommandOptions {
|
|
6
|
+
branch?: string;
|
|
7
|
+
base?: string;
|
|
8
|
+
workspace?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function isolateCommand(repoArg?: string, branchArg?: string, options?: IsolateCommandOptions): Promise<void>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=isolate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isolate.d.ts","sourceRoot":"","sources":["../../src/commands/isolate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,UAAU,qBAAqB;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,cAAc,CAClC,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,IAAI,CAAC,CA2Ef"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module commands/isolate
|
|
3
|
+
* `nexusflow isolate` — on-demand worktree isolation for in-place workspaces.
|
|
4
|
+
*/
|
|
5
|
+
import chalk from 'chalk';
|
|
6
|
+
import ora from 'ora';
|
|
7
|
+
import { input, select } from '@inquirer/prompts';
|
|
8
|
+
import * as path from 'node:path';
|
|
9
|
+
import { loadFeatureConfig, isolateWorkspaceRepo } from '../core/workspace.js';
|
|
10
|
+
import { isInPlace, isRepoIsolated } from '../utils/feature.js';
|
|
11
|
+
import { resolveWorkspaceInteractive } from '../utils/resolve-workspace.js';
|
|
12
|
+
export async function isolateCommand(repoArg, branchArg, options = {}) {
|
|
13
|
+
console.log(chalk.bold.cyan('\n⚡ NexusFlow — Isolate Repository\n'));
|
|
14
|
+
const workspacePath = await resolveWorkspaceInteractive(options.workspace, 'Select an in-place workspace to isolate a repository in:');
|
|
15
|
+
if (!workspacePath)
|
|
16
|
+
return;
|
|
17
|
+
const feature = await loadFeatureConfig(workspacePath);
|
|
18
|
+
if (!feature) {
|
|
19
|
+
console.error(chalk.red('✖ Failed to load workspace configuration.'));
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
if (!isInPlace(feature)) {
|
|
23
|
+
console.log(chalk.yellow(`Workspace "${feature.id}" is already in worktree mode — all repositories are already isolated.`));
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
// 1. Resolve repository to isolate
|
|
27
|
+
let repoName = repoArg;
|
|
28
|
+
if (!repoName) {
|
|
29
|
+
const unisolated = feature.repos.filter((r) => !isRepoIsolated(feature, r));
|
|
30
|
+
if (unisolated.length === 0) {
|
|
31
|
+
console.log(chalk.green('✔ All repositories in this workspace are already isolated into dedicated worktrees.\n'));
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
repoName = await select({
|
|
35
|
+
message: 'Select repository to isolate into a worktree:',
|
|
36
|
+
choices: unisolated.map((r) => ({
|
|
37
|
+
name: `${path.basename(r)} ${chalk.dim(`(${r})`)}`,
|
|
38
|
+
value: path.basename(r),
|
|
39
|
+
})),
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
// 2. Resolve branch name
|
|
43
|
+
let branchName = branchArg || options.branch;
|
|
44
|
+
if (!branchName) {
|
|
45
|
+
const defaultBranchName = feature.branchName && feature.branchName !== feature.id
|
|
46
|
+
? feature.branchName
|
|
47
|
+
: `feat/${repoName}-${feature.id}`;
|
|
48
|
+
if (!process.stdin.isTTY) {
|
|
49
|
+
branchName = defaultBranchName;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
branchName = await input({
|
|
53
|
+
message: `Feature branch name for "${repoName}":`,
|
|
54
|
+
default: defaultBranchName,
|
|
55
|
+
validate: (v) => v.trim().length > 0 || 'Branch name cannot be empty',
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const spinner = ora(`Isolating repository "${repoName}" into a worktree...`).start();
|
|
60
|
+
try {
|
|
61
|
+
const result = await isolateWorkspaceRepo(workspacePath, repoName, {
|
|
62
|
+
branchName,
|
|
63
|
+
baseBranch: options.base,
|
|
64
|
+
});
|
|
65
|
+
if (result.alreadyIsolated) {
|
|
66
|
+
spinner.succeed(`Repository "${repoName}" is already isolated at ${chalk.bold(result.worktreePath)} on branch "${result.branchName}".`);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
spinner.succeed(`Isolated ${chalk.bold(repoName)} into dedicated worktree at:\n ${chalk.dim(result.worktreePath)}\n Branch: ${chalk.green(result.branchName)} (from ${result.baseBranch})`);
|
|
70
|
+
console.log(chalk.green('\n✔ Context files (.code-workspace, AGENTS.md) refreshed successfully.\n'));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
spinner.fail(`Failed to isolate repository: ${error instanceof Error ? error.message : String(error)}`);
|
|
75
|
+
process.exitCode = 1;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=isolate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isolate.js","sourceRoot":"","sources":["../../src/commands/isolate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isolate.test.d.ts","sourceRoot":"","sources":["../../src/commands/isolate.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
|
2
|
+
import { isolateCommand } from './isolate.js';
|
|
3
|
+
import * as workspace from '../core/workspace.js';
|
|
4
|
+
import * as resolveWs from '../utils/resolve-workspace.js';
|
|
5
|
+
vi.mock('../core/workspace.js');
|
|
6
|
+
vi.mock('../utils/resolve-workspace.js');
|
|
7
|
+
vi.mock('@inquirer/prompts');
|
|
8
|
+
describe('isolateCommand', () => {
|
|
9
|
+
beforeEach(() => {
|
|
10
|
+
vi.clearAllMocks();
|
|
11
|
+
});
|
|
12
|
+
it('exits early if no workspace is resolved', async () => {
|
|
13
|
+
vi.mocked(resolveWs.resolveWorkspaceInteractive).mockResolvedValue(null);
|
|
14
|
+
await isolateCommand();
|
|
15
|
+
expect(workspace.loadFeatureConfig).not.toHaveBeenCalled();
|
|
16
|
+
});
|
|
17
|
+
it('warns and exits if workspace is already in worktree mode', async () => {
|
|
18
|
+
vi.mocked(resolveWs.resolveWorkspaceInteractive).mockResolvedValue('/ws');
|
|
19
|
+
vi.mocked(workspace.loadFeatureConfig).mockResolvedValue({
|
|
20
|
+
id: 'ws-worktree',
|
|
21
|
+
mode: 'worktree',
|
|
22
|
+
branchName: 'ws-worktree',
|
|
23
|
+
description: 'test',
|
|
24
|
+
repos: ['/ws/repo1'],
|
|
25
|
+
assistants: ['antigravity'],
|
|
26
|
+
workspacePath: '/ws',
|
|
27
|
+
createdAt: '2026-08-22T00:00:00Z',
|
|
28
|
+
});
|
|
29
|
+
await isolateCommand('repo1');
|
|
30
|
+
expect(workspace.isolateWorkspaceRepo).not.toHaveBeenCalled();
|
|
31
|
+
});
|
|
32
|
+
it('isolates a repo successfully in an in-place workspace', async () => {
|
|
33
|
+
vi.mocked(resolveWs.resolveWorkspaceInteractive).mockResolvedValue('/ws');
|
|
34
|
+
vi.mocked(workspace.loadFeatureConfig).mockResolvedValue({
|
|
35
|
+
id: 'ws-inplace',
|
|
36
|
+
mode: 'in-place',
|
|
37
|
+
branchName: 'ws-inplace',
|
|
38
|
+
description: 'test',
|
|
39
|
+
repos: ['/dev/repo1', '/dev/repo2'],
|
|
40
|
+
assistants: ['antigravity'],
|
|
41
|
+
workspacePath: '/ws',
|
|
42
|
+
createdAt: '2026-08-22T00:00:00Z',
|
|
43
|
+
});
|
|
44
|
+
vi.mocked(workspace.isolateWorkspaceRepo).mockResolvedValue({
|
|
45
|
+
repoName: 'repo1',
|
|
46
|
+
sourcePath: '/dev/repo1',
|
|
47
|
+
worktreePath: '/ws/repo1',
|
|
48
|
+
branchName: 'feat/repo1-ws',
|
|
49
|
+
baseBranch: 'main',
|
|
50
|
+
alreadyIsolated: false,
|
|
51
|
+
});
|
|
52
|
+
await isolateCommand('repo1', 'feat/repo1-ws');
|
|
53
|
+
expect(workspace.isolateWorkspaceRepo).toHaveBeenCalledWith('/ws', 'repo1', {
|
|
54
|
+
branchName: 'feat/repo1-ws',
|
|
55
|
+
baseBranch: undefined,
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
//# sourceMappingURL=isolate.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isolate.test.js","sourceRoot":"","sources":["../../src/commands/isolate.test.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/ui.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Starts the Hono dashboard server (the backend the desktop app embeds).
|
|
4
4
|
* Opening a browser is opt-in via --open.
|
|
5
5
|
*/
|
|
6
|
-
export declare function findAvailablePort(startPort: number): Promise<number>;
|
|
6
|
+
export declare function findAvailablePort(startPort: number, attempts?: number): Promise<number>;
|
|
7
7
|
/**
|
|
8
8
|
* Starts the local dashboard server. Pass `open: true` to also launch the
|
|
9
9
|
* default browser. `serverOnly` is deprecated (server-only is the default)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/commands/ui.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/commands/ui.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA2CH,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,SAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAU1F;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmFvJ"}
|
package/dist/commands/ui.js
CHANGED
|
@@ -20,6 +20,9 @@ function isPortActive(port) {
|
|
|
20
20
|
});
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
|
+
function sleep(ms) {
|
|
24
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
25
|
+
}
|
|
23
26
|
function openBrowser(url) {
|
|
24
27
|
let openCmd = '';
|
|
25
28
|
if (process.platform === 'win32') {
|
|
@@ -37,16 +40,16 @@ function openBrowser(url) {
|
|
|
37
40
|
}
|
|
38
41
|
});
|
|
39
42
|
}
|
|
40
|
-
export async function findAvailablePort(startPort) {
|
|
43
|
+
export async function findAvailablePort(startPort, attempts = 100) {
|
|
41
44
|
let p = startPort;
|
|
42
|
-
|
|
45
|
+
for (let i = 0; i < attempts; i++) {
|
|
43
46
|
const active = await isPortActive(p);
|
|
44
47
|
if (!active) {
|
|
45
48
|
return p;
|
|
46
49
|
}
|
|
47
50
|
p++;
|
|
48
51
|
}
|
|
49
|
-
|
|
52
|
+
throw new Error(`No available port found after ${attempts} attempts (starting at ${startPort})`);
|
|
50
53
|
}
|
|
51
54
|
/**
|
|
52
55
|
* Starts the local dashboard server. Pass `open: true` to also launch the
|
|
@@ -82,11 +85,28 @@ export async function uiCommand(options) {
|
|
|
82
85
|
stdio: 'ignore'
|
|
83
86
|
});
|
|
84
87
|
child.unref();
|
|
85
|
-
|
|
88
|
+
const deadline = Date.now() + 10_000;
|
|
89
|
+
let ready = false;
|
|
90
|
+
while (Date.now() < deadline) {
|
|
91
|
+
if (child.exitCode !== null && child.exitCode !== undefined) {
|
|
92
|
+
throw new Error(`Backend exited prematurely during startup (code ${child.exitCode})`);
|
|
93
|
+
}
|
|
94
|
+
if (await isPortActive(targetPort)) {
|
|
95
|
+
ready = true;
|
|
96
|
+
break;
|
|
97
|
+
}
|
|
98
|
+
await sleep(200);
|
|
99
|
+
}
|
|
100
|
+
if (!ready) {
|
|
101
|
+
try {
|
|
102
|
+
child.kill();
|
|
103
|
+
}
|
|
104
|
+
catch { }
|
|
105
|
+
throw new Error(`Backend daemon failed to bind port ${targetPort} within 10s`);
|
|
106
|
+
}
|
|
107
|
+
console.log(chalk.green(` ✔ Dashboard daemon successfully running on port ${chalk.bold(targetPort)}.`));
|
|
86
108
|
if (options.open) {
|
|
87
109
|
console.log(chalk.dim(' Opening browser...'));
|
|
88
|
-
// Give the background process a brief moment to start listening
|
|
89
|
-
await new Promise((resolve) => setTimeout(resolve, 600));
|
|
90
110
|
openBrowser(url);
|
|
91
111
|
}
|
|
92
112
|
else {
|
package/dist/commands/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/commands/ui.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC9C,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACxB,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACtB,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,GAAG,SAAS,GAAG,EAAE,CAAC;IAC3B,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACzC,OAAO,GAAG,QAAQ,GAAG,EAAE,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,YAAY,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACpB,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+CAA+C,GAAG,YAAY,CAAC,CAAC,CAAC;QACzF,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,SAAiB;
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/commands/ui.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const configPatchSchema: z.ZodObject<{
|
|
3
|
+
devDir: z.ZodOptional<z.ZodString>;
|
|
4
|
+
workspacesDir: z.ZodOptional<z.ZodString>;
|
|
5
|
+
defaultAssistant: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
6
|
+
claude: "claude";
|
|
7
|
+
antigravity: "antigravity";
|
|
8
|
+
codex: "codex";
|
|
9
|
+
copilot: "copilot";
|
|
10
|
+
cursor: "cursor";
|
|
11
|
+
}>>>;
|
|
12
|
+
defaultEditor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
13
|
+
scanDepth: z.ZodOptional<z.ZodNumber>;
|
|
14
|
+
storageProvider: z.ZodOptional<z.ZodString>;
|
|
15
|
+
latestDownloadUrl: z.ZodOptional<z.ZodUnion<[z.ZodNullable<z.ZodString>, z.ZodLiteral<"">]>>;
|
|
16
|
+
}, z.core.$loose>;
|
|
17
|
+
//# sourceMappingURL=config-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-schema.d.ts","sourceRoot":"","sources":["../../src/core/config-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;iBAUd,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
const absDir = z
|
|
4
|
+
.string()
|
|
5
|
+
.trim()
|
|
6
|
+
.min(1)
|
|
7
|
+
.refine((v) => path.isAbsolute(v), { message: 'must be an absolute path' })
|
|
8
|
+
.refine((v) => {
|
|
9
|
+
const resolved = path.resolve(v);
|
|
10
|
+
const parsed = path.parse(resolved);
|
|
11
|
+
return resolved !== parsed.root;
|
|
12
|
+
}, { message: 'must not be a filesystem root' });
|
|
13
|
+
export const configPatchSchema = z
|
|
14
|
+
.object({
|
|
15
|
+
devDir: absDir.optional(),
|
|
16
|
+
workspacesDir: absDir.optional(),
|
|
17
|
+
defaultAssistant: z.enum(['claude', 'antigravity', 'codex', 'copilot', 'cursor']).nullable().optional(),
|
|
18
|
+
defaultEditor: z.string().nullable().optional(),
|
|
19
|
+
scanDepth: z.number().int().min(1).max(10).optional(),
|
|
20
|
+
storageProvider: z.string().min(1).optional(),
|
|
21
|
+
latestDownloadUrl: z.string().url().nullable().or(z.literal('')).optional(),
|
|
22
|
+
})
|
|
23
|
+
.passthrough();
|
|
24
|
+
//# sourceMappingURL=config-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-schema.js","sourceRoot":"","sources":["../../src/core/config-schema.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,GAAG,CAAC;KACb,MAAM,EAAE;KACR,IAAI,EAAE;KACN,GAAG,CAAC,CAAC,CAAC;KACN,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;KAC1E,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;IACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpC,OAAO,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC;AAClC,CAAC,EAAE,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,CAAC;IACN,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;IACzB,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE;IAChC,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACvG,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7C,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC5E,CAAC;KACD,WAAW,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/core/doctor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAElE,kCAAkC;AAClC,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;CAClB;AAGD;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/core/doctor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAElE,kCAAkC;AAClC,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;CAClB;AAGD;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CA8N5E"}
|
package/dist/core/doctor.js
CHANGED
|
@@ -8,7 +8,7 @@ import * as fs from 'node:fs/promises';
|
|
|
8
8
|
import { execa } from 'execa';
|
|
9
9
|
import { globby } from 'globby';
|
|
10
10
|
import { loadFeatureConfig, resolveRepoInfos } from './workspace.js';
|
|
11
|
-
import { isInPlace } from '../utils/feature.js';
|
|
11
|
+
import { isInPlace, resolveFeatureRepoPath } from '../utils/feature.js';
|
|
12
12
|
import { getConventionalTestCommand } from '../utils/test-command.js';
|
|
13
13
|
import { getRepoStatus } from '../utils/multi-git.js';
|
|
14
14
|
import { workspaceFileExists } from './storage.js';
|
|
@@ -24,7 +24,8 @@ export async function runDoctor(workspacePath) {
|
|
|
24
24
|
if (!feature) {
|
|
25
25
|
throw new Error('Failed to load workspace configuration. Ensure nexusflow.json exists.');
|
|
26
26
|
}
|
|
27
|
-
const
|
|
27
|
+
const resolvedPaths = feature.repos.map((r) => resolveFeatureRepoPath(feature, workspacePath, r));
|
|
28
|
+
const allRepos = await resolveRepoInfos(resolvedPaths);
|
|
28
29
|
const checks = [];
|
|
29
30
|
const warnings = [];
|
|
30
31
|
const errors = [];
|
|
@@ -73,9 +74,22 @@ export async function runDoctor(workspacePath) {
|
|
|
73
74
|
// Detached HEAD or git failure — leave as 'unknown'.
|
|
74
75
|
}
|
|
75
76
|
if (isInPlace(feature)) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
const isolated = feature.isolatedRepos?.[repo.name] ?? feature.isolatedRepos?.[repo.path];
|
|
78
|
+
if (isolated) {
|
|
79
|
+
const expectedBranch = isolated.branchName;
|
|
80
|
+
if (branch !== expectedBranch) {
|
|
81
|
+
warnings.push(`Repository "${repo.name}" is checked out on branch "${branch}", but isolated worktree branch is "${expectedBranch}".`);
|
|
82
|
+
checks.push({ category: 'Branch Alignment & Git Status', name: repo.name, status: 'warn', message: `Branch mismatch (${branch} vs expected ${expectedBranch} [isolated worktree])` });
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
checks.push({ category: 'Branch Alignment & Git Status', name: repo.name, status: 'pass', message: `Aligned on branch "${branch}" (isolated worktree)` });
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
// In-place workspaces have no expected branch — the user manages
|
|
90
|
+
// branches; a mismatch warning here would fire for every repo forever.
|
|
91
|
+
checks.push({ category: 'Branch Alignment & Git Status', name: repo.name, status: 'info', message: `On branch "${branch}" (in-place workspace — branches managed by you)` });
|
|
92
|
+
}
|
|
79
93
|
}
|
|
80
94
|
else {
|
|
81
95
|
// Per-repo existing-branch overrides are expected to differ from the
|
package/dist/core/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/core/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/core/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module core/isolate
|
|
3
|
+
* Provides on-demand worktree isolation for repositories in in-place workspaces.
|
|
4
|
+
*/
|
|
5
|
+
export interface IsolateRepoOptions {
|
|
6
|
+
/** Target feature branch name to create/checkout in the worktree. */
|
|
7
|
+
branchName?: string;
|
|
8
|
+
/** Base branch to branch off (defaults to repo's default branch). */
|
|
9
|
+
baseBranch?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface IsolateRepoResult {
|
|
12
|
+
repoName: string;
|
|
13
|
+
sourcePath: string;
|
|
14
|
+
worktreePath: string;
|
|
15
|
+
branchName: string;
|
|
16
|
+
baseBranch: string;
|
|
17
|
+
alreadyIsolated: boolean;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Dynamically isolates a repository in an in-place workspace into a dedicated
|
|
21
|
+
* worktree directory inside the workspace.
|
|
22
|
+
*
|
|
23
|
+
* If the workspace is in worktree mode, or the repository is already isolated,
|
|
24
|
+
* this is a safe no-op that returns existing isolation details.
|
|
25
|
+
*
|
|
26
|
+
* @param workspacePath - Absolute path to the workspace directory.
|
|
27
|
+
* @param repoNameOrPath - Name or absolute path of the repository to isolate.
|
|
28
|
+
* @param options - Branch and base branch options.
|
|
29
|
+
*/
|
|
30
|
+
export declare function isolateWorkspaceRepo(workspacePath: string, repoNameOrPath: string, options?: IsolateRepoOptions): Promise<IsolateRepoResult>;
|
|
31
|
+
//# sourceMappingURL=isolate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isolate.d.ts","sourceRoot":"","sources":["../../src/core/isolate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,MAAM,WAAW,kBAAkB;IACjC,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAWD;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CACxC,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CA+J5B"}
|