sync-worktrees 3.6.3 → 4.1.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/README.md +383 -261
- package/dist/components/App.d.ts +50 -0
- package/dist/components/App.d.ts.map +1 -0
- package/dist/components/BranchCreationWizard.d.ts +26 -0
- package/dist/components/BranchCreationWizard.d.ts.map +1 -0
- package/dist/components/HelpModal.d.ts +7 -0
- package/dist/components/HelpModal.d.ts.map +1 -0
- package/dist/components/LogPanel.d.ts +10 -0
- package/dist/components/LogPanel.d.ts.map +1 -0
- package/dist/components/LogViewer.d.ts +9 -0
- package/dist/components/LogViewer.d.ts.map +1 -0
- package/dist/components/OpenEditorWizard.d.ts +25 -0
- package/dist/components/OpenEditorWizard.d.ts.map +1 -0
- package/dist/components/StatusBar.d.ts +14 -0
- package/dist/components/StatusBar.d.ts.map +1 -0
- package/dist/components/WorktreeStatusView.d.ts +14 -0
- package/dist/components/WorktreeStatusView.d.ts.map +1 -0
- package/dist/constants.d.ts +112 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/errors/index.d.ts +59 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2523 -1106
- package/dist/index.js.map +4 -4
- package/dist/mcp/context.d.ts +143 -0
- package/dist/mcp/context.d.ts.map +1 -0
- package/dist/mcp/handlers.d.ts +46 -0
- package/dist/mcp/handlers.d.ts.map +1 -0
- package/dist/mcp/index.d.ts +2 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/server.d.ts +9 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/utils.d.ts +14 -0
- package/dist/mcp/utils.d.ts.map +1 -0
- package/dist/mcp/worktree-summary.d.ts +14 -0
- package/dist/mcp/worktree-summary.d.ts.map +1 -0
- package/dist/mcp-server.js +2347 -640
- package/dist/mcp-server.js.map +4 -4
- package/dist/services/InteractiveUIService.d.ts +85 -0
- package/dist/services/InteractiveUIService.d.ts.map +1 -0
- package/dist/services/branch-created-actions.service.d.ts +27 -0
- package/dist/services/branch-created-actions.service.d.ts.map +1 -0
- package/dist/services/clone-sync.service.d.ts +93 -0
- package/dist/services/clone-sync.service.d.ts.map +1 -0
- package/dist/services/config-loader.service.d.ts +28 -0
- package/dist/services/config-loader.service.d.ts.map +1 -0
- package/dist/services/file-copy.service.d.ts +19 -0
- package/dist/services/file-copy.service.d.ts.map +1 -0
- package/dist/services/git.service.d.ts +94 -0
- package/dist/services/git.service.d.ts.map +1 -0
- package/dist/services/hook-execution.service.d.ts +20 -0
- package/dist/services/hook-execution.service.d.ts.map +1 -0
- package/dist/services/logger.service.d.ts +24 -0
- package/dist/services/logger.service.d.ts.map +1 -0
- package/dist/services/path-resolution.service.d.ts +10 -0
- package/dist/services/path-resolution.service.d.ts.map +1 -0
- package/dist/services/progress-emitter.d.ts +14 -0
- package/dist/services/progress-emitter.d.ts.map +1 -0
- package/dist/services/repo-operation-lock.d.ts +16 -0
- package/dist/services/repo-operation-lock.d.ts.map +1 -0
- package/dist/services/sparse-checkout.service.d.ts +45 -0
- package/dist/services/sparse-checkout.service.d.ts.map +1 -0
- package/dist/services/sync-outcome.d.ts +47 -0
- package/dist/services/sync-outcome.d.ts.map +1 -0
- package/dist/services/sync-retry-policy.d.ts +18 -0
- package/dist/services/sync-retry-policy.d.ts.map +1 -0
- package/dist/services/worktree-metadata.service.d.ts +25 -0
- package/dist/services/worktree-metadata.service.d.ts.map +1 -0
- package/dist/services/worktree-mode-sync-runner.d.ts +36 -0
- package/dist/services/worktree-mode-sync-runner.d.ts.map +1 -0
- package/dist/services/worktree-status.service.d.ts +60 -0
- package/dist/services/worktree-status.service.d.ts.map +1 -0
- package/dist/services/worktree-sync-planner.d.ts +62 -0
- package/dist/services/worktree-sync-planner.d.ts.map +1 -0
- package/dist/services/worktree-sync.service.d.ts +49 -0
- package/dist/services/worktree-sync.service.d.ts.map +1 -0
- package/dist/types/index.d.ts +303 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/sync-metadata.d.ts +16 -0
- package/dist/types/sync-metadata.d.ts.map +1 -0
- package/dist/utils/app-events.d.ts +31 -0
- package/dist/utils/app-events.d.ts.map +1 -0
- package/dist/utils/branch-filter.d.ts +3 -0
- package/dist/utils/branch-filter.d.ts.map +1 -0
- package/dist/utils/cli.d.ts +21 -0
- package/dist/utils/cli.d.ts.map +1 -0
- package/dist/utils/clone-skip-format.d.ts +3 -0
- package/dist/utils/clone-skip-format.d.ts.map +1 -0
- package/dist/utils/config-generator.d.ts +10 -0
- package/dist/utils/config-generator.d.ts.map +1 -0
- package/dist/utils/date-filter.d.ts +10 -0
- package/dist/utils/date-filter.d.ts.map +1 -0
- package/dist/utils/disk-space.d.ts +23 -0
- package/dist/utils/disk-space.d.ts.map +1 -0
- package/dist/utils/file-exists.d.ts +2 -0
- package/dist/utils/file-exists.d.ts.map +1 -0
- package/dist/utils/git-progress.d.ts +25 -0
- package/dist/utils/git-progress.d.ts.map +1 -0
- package/dist/utils/git-url.d.ts +23 -0
- package/dist/utils/git-url.d.ts.map +1 -0
- package/dist/utils/git-validation.d.ts +5 -0
- package/dist/utils/git-validation.d.ts.map +1 -0
- package/dist/utils/interactive.d.ts +3 -0
- package/dist/utils/interactive.d.ts.map +1 -0
- package/dist/utils/lfs-error.d.ts +35 -0
- package/dist/utils/lfs-error.d.ts.map +1 -0
- package/dist/utils/lock-path.d.ts +9 -0
- package/dist/utils/lock-path.d.ts.map +1 -0
- package/dist/utils/path-compare.d.ts +16 -0
- package/dist/utils/path-compare.d.ts.map +1 -0
- package/dist/utils/repo-mode.d.ts +8 -0
- package/dist/utils/repo-mode.d.ts.map +1 -0
- package/dist/utils/retry.d.ts +24 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/sanitize-name.d.ts +2 -0
- package/dist/utils/sanitize-name.d.ts.map +1 -0
- package/dist/utils/shell-escape.d.ts +5 -0
- package/dist/utils/shell-escape.d.ts.map +1 -0
- package/dist/utils/signal-handlers.d.ts +14 -0
- package/dist/utils/signal-handlers.d.ts.map +1 -0
- package/dist/utils/timing.d.ts +24 -0
- package/dist/utils/timing.d.ts.map +1 -0
- package/dist/utils/worktree-list-parser.d.ts +10 -0
- package/dist/utils/worktree-list-parser.d.ts.map +1 -0
- package/package.json +5 -2
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { WorktreeSyncService } from "../services/worktree-sync.service";
|
|
2
|
+
import type { Config, RepositoryConfig } from "../types";
|
|
3
|
+
import type { Divergence, WorktreeLabel } from "./worktree-summary";
|
|
4
|
+
export interface CapabilityState {
|
|
5
|
+
available: boolean;
|
|
6
|
+
reason?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface Capabilities {
|
|
9
|
+
listWorktrees: CapabilityState;
|
|
10
|
+
getStatus: CapabilityState;
|
|
11
|
+
createWorktree: CapabilityState;
|
|
12
|
+
removeWorktree: CapabilityState;
|
|
13
|
+
updateWorktree: CapabilityState;
|
|
14
|
+
sync: CapabilityState;
|
|
15
|
+
initialize: CapabilityState;
|
|
16
|
+
}
|
|
17
|
+
export interface DiscoveredWorktree {
|
|
18
|
+
path: string;
|
|
19
|
+
branch: string;
|
|
20
|
+
isCurrent: boolean;
|
|
21
|
+
label?: WorktreeLabel;
|
|
22
|
+
divergence?: Divergence | null;
|
|
23
|
+
staleHint?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface SiblingRepository {
|
|
26
|
+
name: string;
|
|
27
|
+
bareRepoPath: string;
|
|
28
|
+
worktreeDir: string | null;
|
|
29
|
+
repoUrl: string | null;
|
|
30
|
+
sparseCheckout?: RepositoryConfig["sparseCheckout"];
|
|
31
|
+
present: boolean;
|
|
32
|
+
configMatched: boolean;
|
|
33
|
+
}
|
|
34
|
+
interface ConfiguredRepositorySummaryBase {
|
|
35
|
+
name: string;
|
|
36
|
+
isCurrent: boolean;
|
|
37
|
+
repoUrl?: string;
|
|
38
|
+
branch?: string;
|
|
39
|
+
sparseCheckout?: RepositoryConfig["sparseCheckout"];
|
|
40
|
+
localReady?: boolean;
|
|
41
|
+
}
|
|
42
|
+
export interface ConfiguredCloneRepositorySummary extends ConfiguredRepositorySummaryBase {
|
|
43
|
+
mode: "clone";
|
|
44
|
+
checkoutPath: string;
|
|
45
|
+
}
|
|
46
|
+
export interface ConfiguredWorktreeRepositorySummary extends ConfiguredRepositorySummaryBase {
|
|
47
|
+
mode: "worktree";
|
|
48
|
+
worktreeDir: string;
|
|
49
|
+
bareRepoDir?: string;
|
|
50
|
+
}
|
|
51
|
+
export type ConfiguredRepositorySummary = ConfiguredCloneRepositorySummary | ConfiguredWorktreeRepositorySummary;
|
|
52
|
+
export interface DiscoveredRepoContext {
|
|
53
|
+
isWorktree: boolean;
|
|
54
|
+
kind: "managed" | "unmanaged" | "unsupported";
|
|
55
|
+
currentBranch: string | null;
|
|
56
|
+
currentWorktreePath: string | null;
|
|
57
|
+
bareRepoPath: string | null;
|
|
58
|
+
repoUrl: string | null;
|
|
59
|
+
worktreeDir: string | null;
|
|
60
|
+
allWorktrees: DiscoveredWorktree[];
|
|
61
|
+
allWorktreesByRepo?: Record<string, DiscoveredWorktree[]>;
|
|
62
|
+
allWorktreeErrorsByRepo?: Record<string, string>;
|
|
63
|
+
siblingRepositories: SiblingRepository[];
|
|
64
|
+
configPath: string | null;
|
|
65
|
+
repoName: string | null;
|
|
66
|
+
capabilities: Capabilities;
|
|
67
|
+
notes: string[];
|
|
68
|
+
}
|
|
69
|
+
interface RepoEntry {
|
|
70
|
+
name: string;
|
|
71
|
+
config: Config;
|
|
72
|
+
source: "config" | "detected";
|
|
73
|
+
service?: WorktreeSyncService;
|
|
74
|
+
discovered?: DiscoveredRepoContext;
|
|
75
|
+
}
|
|
76
|
+
export declare function buildUnsupportedContext(currentPath: string, reason: string): DiscoveredRepoContext;
|
|
77
|
+
export declare class RepositoryContext {
|
|
78
|
+
private repos;
|
|
79
|
+
private currentRepo;
|
|
80
|
+
private configPath;
|
|
81
|
+
private configLoader;
|
|
82
|
+
private discoveryCache;
|
|
83
|
+
private readonly launchCwd;
|
|
84
|
+
constructor(options?: {
|
|
85
|
+
launchCwd?: string;
|
|
86
|
+
});
|
|
87
|
+
getLaunchCwd(): string;
|
|
88
|
+
loadConfig(configPath: string, options?: {
|
|
89
|
+
setDefaultCurrent?: boolean;
|
|
90
|
+
}): Promise<RepositoryConfig[]>;
|
|
91
|
+
detectFromPath(dirPath: string): Promise<DiscoveredRepoContext>;
|
|
92
|
+
invalidateDiscovered(): void;
|
|
93
|
+
/** @internal Test-only helper — registers a repo entry without going through config loading. */
|
|
94
|
+
__registerForTest(name: string, entry: Omit<RepoEntry, "name">): void;
|
|
95
|
+
/** @internal Test-only helper — sets the current repo pointer. */
|
|
96
|
+
__setCurrentRepoForTest(name: string | null): void;
|
|
97
|
+
/** @internal Test-only helper — returns the size of the internal repo map. */
|
|
98
|
+
__repoCountForTest(): number;
|
|
99
|
+
/** @internal Test-only helper — returns the size of the discovery cache. */
|
|
100
|
+
__discoveryCacheSizeForTest(): number;
|
|
101
|
+
/** @internal Test-only helper — exposes the internal selection state. */
|
|
102
|
+
__getRepositorySelectionStateForTest(): unknown;
|
|
103
|
+
private discoverSiblingRepositories;
|
|
104
|
+
private bootstrapCurrentRepo;
|
|
105
|
+
private isCacheFresh;
|
|
106
|
+
private detectFromPathUncached;
|
|
107
|
+
getService(repoName?: string): Promise<WorktreeSyncService>;
|
|
108
|
+
private getRepositorySelectionState;
|
|
109
|
+
private selectExplicitRepository;
|
|
110
|
+
private selectDefaultRepository;
|
|
111
|
+
private canAutoSelectSingleConfig;
|
|
112
|
+
private getDetectedRepositoryNames;
|
|
113
|
+
private formatDetectedRepositoryNames;
|
|
114
|
+
private formatKnownRepositoryNames;
|
|
115
|
+
private buildNoRepoSelectedError;
|
|
116
|
+
private buildRepoNotFoundError;
|
|
117
|
+
getEntry(repoName?: string): RepoEntry | null;
|
|
118
|
+
getDiscoveredContext(repoName?: string): DiscoveredRepoContext | null;
|
|
119
|
+
getCurrentRepo(): string | null;
|
|
120
|
+
setCurrentRepo(repoName: string): void;
|
|
121
|
+
getRepositoryList(): Array<{
|
|
122
|
+
name: string;
|
|
123
|
+
repoUrl: string;
|
|
124
|
+
worktreeDir: string;
|
|
125
|
+
source: "config" | "detected";
|
|
126
|
+
}>;
|
|
127
|
+
getConfiguredRepositoryNames(): string[];
|
|
128
|
+
getConfiguredRepositorySummaries(options?: {
|
|
129
|
+
detailed?: boolean;
|
|
130
|
+
}): Promise<ConfiguredRepositorySummary[]>;
|
|
131
|
+
autoSelectCurrentRepoIfSingleConfig(): string | null;
|
|
132
|
+
getAllConfiguredWorktreeDetails(currentWorktreePath?: string | null): Promise<{
|
|
133
|
+
worktreesByRepo: Record<string, DiscoveredWorktree[]>;
|
|
134
|
+
errorsByRepo: Record<string, string>;
|
|
135
|
+
}>;
|
|
136
|
+
getConfigPath(): string | null;
|
|
137
|
+
private readConfiguredWorktrees;
|
|
138
|
+
private findConfiguredCloneEntry;
|
|
139
|
+
private buildCloneModeContext;
|
|
140
|
+
private readConfiguredCloneWorktree;
|
|
141
|
+
}
|
|
142
|
+
export {};
|
|
143
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/mcp/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { RepositoryContext } from "./context";
|
|
2
|
+
import type { HandlerExtra } from "./utils";
|
|
3
|
+
import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
4
|
+
export declare function handleDetectContext(ctx: RepositoryContext, params: {
|
|
5
|
+
path?: string;
|
|
6
|
+
includeStatus?: boolean;
|
|
7
|
+
includeAllWorktrees?: boolean;
|
|
8
|
+
detailed?: boolean;
|
|
9
|
+
}, _extra?: HandlerExtra): Promise<CallToolResult>;
|
|
10
|
+
export declare function handleListWorktrees(ctx: RepositoryContext, params: {
|
|
11
|
+
repoName?: string;
|
|
12
|
+
includeSize?: boolean;
|
|
13
|
+
}, _extra?: HandlerExtra): Promise<CallToolResult>;
|
|
14
|
+
export declare function handleGetWorktreeStatus(ctx: RepositoryContext, params: {
|
|
15
|
+
path: string;
|
|
16
|
+
repoName?: string;
|
|
17
|
+
includeDetails?: boolean;
|
|
18
|
+
}, _extra?: HandlerExtra): Promise<CallToolResult>;
|
|
19
|
+
export declare function handleCreateWorktree(ctx: RepositoryContext, params: {
|
|
20
|
+
branchName: string;
|
|
21
|
+
baseBranch?: string;
|
|
22
|
+
push?: boolean;
|
|
23
|
+
repoName?: string;
|
|
24
|
+
}, _extra?: HandlerExtra): Promise<CallToolResult>;
|
|
25
|
+
export declare function handleRemoveWorktree(ctx: RepositoryContext, params: {
|
|
26
|
+
path: string;
|
|
27
|
+
force?: boolean;
|
|
28
|
+
repoName?: string;
|
|
29
|
+
}, _extra?: HandlerExtra): Promise<CallToolResult>;
|
|
30
|
+
export declare function handleSync(ctx: RepositoryContext, params: {
|
|
31
|
+
repoName?: string;
|
|
32
|
+
}, extra?: HandlerExtra): Promise<CallToolResult>;
|
|
33
|
+
export declare function handleUpdateWorktree(ctx: RepositoryContext, params: {
|
|
34
|
+
path: string;
|
|
35
|
+
repoName?: string;
|
|
36
|
+
}, _extra?: HandlerExtra): Promise<CallToolResult>;
|
|
37
|
+
export declare function handleInitialize(ctx: RepositoryContext, params: {
|
|
38
|
+
repoName?: string;
|
|
39
|
+
}, extra?: HandlerExtra): Promise<CallToolResult>;
|
|
40
|
+
export declare function handleLoadConfig(ctx: RepositoryContext, params: {
|
|
41
|
+
configPath?: string;
|
|
42
|
+
}, _extra?: HandlerExtra): Promise<CallToolResult>;
|
|
43
|
+
export declare function handleSetCurrentRepository(ctx: RepositoryContext, params: {
|
|
44
|
+
repoName: string;
|
|
45
|
+
}, _extra?: HandlerExtra): Promise<CallToolResult>;
|
|
46
|
+
//# sourceMappingURL=handlers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/mcp/handlers.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAA2D,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC5G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAqIzE,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,EACrG,MAAM,CAAC,EAAE,YAAY,GACpB,OAAO,CAAC,cAAc,CAAC,CAsCzB;AA+BD,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,EACpD,MAAM,CAAC,EAAE,YAAY,GACpB,OAAO,CAAC,cAAc,CAAC,CAiCzB;AAyDD,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,EACrE,MAAM,CAAC,EAAE,YAAY,GACpB,OAAO,CAAC,cAAc,CAAC,CAgBzB;AAED,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EACtF,MAAM,CAAC,EAAE,YAAY,GACpB,OAAO,CAAC,cAAc,CAAC,CA0DzB;AAED,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAC5D,MAAM,CAAC,EAAE,YAAY,GACpB,OAAO,CAAC,cAAc,CAAC,CA4BzB;AAED,wBAAsB,UAAU,CAC9B,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7B,KAAK,CAAC,EAAE,YAAY,GACnB,OAAO,CAAC,cAAc,CAAC,CAuCzB;AAED,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAC3C,MAAM,CAAC,EAAE,YAAY,GACpB,OAAO,CAAC,cAAc,CAAC,CAqBzB;AAED,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7B,KAAK,CAAC,EAAE,YAAY,GACnB,OAAO,CAAC,cAAc,CAAC,CAwBzB;AAED,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/B,MAAM,CAAC,EAAE,YAAY,GACpB,OAAO,CAAC,cAAc,CAAC,CAWzB;AAED,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,EAC5B,MAAM,CAAC,EAAE,YAAY,GACpB,OAAO,CAAC,cAAc,CAAC,CAMzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import type { DiscoveredRepoContext, RepositoryContext } from "./context";
|
|
3
|
+
export interface ServerSnapshot {
|
|
4
|
+
discovered: DiscoveredRepoContext | null;
|
|
5
|
+
configuredRepoCount?: number;
|
|
6
|
+
}
|
|
7
|
+
export declare function buildInstructions(snapshot?: ServerSnapshot): string;
|
|
8
|
+
export declare function createServer(context: RepositoryContext, snapshot?: ServerSnapshot): McpServer;
|
|
9
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAkBpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAU1E,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACzC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,CAiBnE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAgR7F"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SyncWorktreesError } from "../errors";
|
|
2
|
+
import type { RequestHandlerExtra } from "@modelcontextprotocol/sdk/shared/protocol.js";
|
|
3
|
+
import type { CallToolResult, ServerNotification, ServerRequest } from "@modelcontextprotocol/sdk/types.js";
|
|
4
|
+
export type HandlerExtra = RequestHandlerExtra<ServerRequest, ServerNotification>;
|
|
5
|
+
export declare function formatToolResponse(data: unknown): CallToolResult;
|
|
6
|
+
export declare function formatErrorResponse(error: unknown): CallToolResult;
|
|
7
|
+
export declare class CapabilityUnavailableError extends SyncWorktreesError {
|
|
8
|
+
constructor(capability: string, reasons: string[]);
|
|
9
|
+
}
|
|
10
|
+
export declare class SyncInProgressError extends SyncWorktreesError {
|
|
11
|
+
constructor(repoName: string);
|
|
12
|
+
}
|
|
13
|
+
export declare function wrapHandler<P>(fn: (params: P, extra: HandlerExtra) => Promise<CallToolResult>): (params: P, extra: HandlerExtra) => Promise<CallToolResult>;
|
|
14
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/mcp/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAE5G,MAAM,MAAM,YAAY,GAAG,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;AAElF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,CAShE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CA+BlE;AAED,qBAAa,0BAA2B,SAAQ,kBAAkB;gBACpD,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;CAGlD;AAED,qBAAa,mBAAoB,SAAQ,kBAAkB;gBAC7C,QAAQ,EAAE,MAAM;CAG7B;AAED,wBAAgB,WAAW,CAAC,CAAC,EAC3B,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,cAAc,CAAC,GAC9D,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,cAAc,CAAC,CAQ7D"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { WorktreeStatusResult } from "../services/worktree-status.service";
|
|
2
|
+
export type WorktreeLabel = "current" | "dirty" | "stale" | "clean" | "unknown";
|
|
3
|
+
export interface Divergence {
|
|
4
|
+
ahead: number;
|
|
5
|
+
behind: number;
|
|
6
|
+
}
|
|
7
|
+
export interface SafeToRemove {
|
|
8
|
+
safe: boolean;
|
|
9
|
+
reason: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function deriveLabel(status: WorktreeStatusResult, isCurrent: boolean): WorktreeLabel;
|
|
12
|
+
export declare function deriveSafeToRemove(status: WorktreeStatusResult): SafeToRemove;
|
|
13
|
+
export declare function getDivergence(worktreePath: string): Promise<Divergence | null>;
|
|
14
|
+
//# sourceMappingURL=worktree-summary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worktree-summary.d.ts","sourceRoot":"","sources":["../../src/mcp/worktree-summary.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAEhF,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAEhF,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,oBAAoB,EAAE,SAAS,EAAE,OAAO,GAAG,aAAa,CAK3F;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,GAAG,YAAY,CAc7E;AAED,wBAAsB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CASpF"}
|