browser-git-ops 0.0.2 → 0.0.4
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 +71 -97
- package/dist/git/abstractAdapter.d.ts +183 -0
- package/dist/git/abstractAdapter.d.ts.map +1 -0
- package/dist/git/adapter.d.ts +23 -1
- package/dist/git/adapter.d.ts.map +1 -1
- package/dist/git/githubAdapter.d.ts +354 -35
- package/dist/git/githubAdapter.d.ts.map +1 -1
- package/dist/git/gitlabAdapter.d.ts +297 -20
- package/dist/git/gitlabAdapter.d.ts.map +1 -1
- package/dist/index.d.ts +7 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6012 -843
- package/dist/index.js.map +4 -4
- package/dist/index.mjs +6012 -843
- package/dist/index.mjs.map +4 -4
- package/dist/virtualfs/changeTracker.d.ts +66 -0
- package/dist/virtualfs/changeTracker.d.ts.map +1 -0
- package/dist/virtualfs/conflictManager.d.ts +69 -0
- package/dist/virtualfs/conflictManager.d.ts.map +1 -0
- package/dist/virtualfs/hashUtils.d.ts +13 -0
- package/dist/virtualfs/hashUtils.d.ts.map +1 -0
- package/dist/virtualfs/indexManager.d.ts +57 -0
- package/dist/virtualfs/indexManager.d.ts.map +1 -0
- package/dist/virtualfs/indexedDatabaseStorage.d.ts +7 -0
- package/dist/virtualfs/indexedDatabaseStorage.d.ts.map +1 -0
- package/dist/virtualfs/inmemoryStorage.d.ts +8 -0
- package/dist/virtualfs/inmemoryStorage.d.ts.map +1 -0
- package/dist/virtualfs/localChangeApplier.d.ts +21 -0
- package/dist/virtualfs/localChangeApplier.d.ts.map +1 -0
- package/dist/virtualfs/localFileManager.d.ts +58 -0
- package/dist/virtualfs/localFileManager.d.ts.map +1 -0
- package/dist/virtualfs/metadataManager.d.ts +18 -0
- package/dist/virtualfs/metadataManager.d.ts.map +1 -0
- package/dist/virtualfs/opfsStorage.d.ts +2 -63
- package/dist/virtualfs/opfsStorage.d.ts.map +1 -1
- package/dist/virtualfs/remoteSynchronizer.d.ts +192 -0
- package/dist/virtualfs/remoteSynchronizer.d.ts.map +1 -0
- package/dist/virtualfs/storageBackend.d.ts +57 -4
- package/dist/virtualfs/storageBackend.d.ts.map +1 -1
- package/dist/virtualfs/types.d.ts +37 -0
- package/dist/virtualfs/types.d.ts.map +1 -1
- package/dist/virtualfs/virtualfs.d.ts +290 -86
- package/dist/virtualfs/virtualfs.d.ts.map +1 -1
- package/package.json +29 -13
- package/dist/virtualfs/indexedDbStorage.d.ts +0 -62
- package/dist/virtualfs/indexedDbStorage.d.ts.map +0 -1
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import { IndexFile } from './types';
|
|
1
|
+
import { IndexFile } from './types.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Storage セグメント
|
|
4
|
+
*/
|
|
5
|
+
export type Segment = 'workspace' | 'base' | 'conflict' | 'conflictBlob' | 'info' | 'info-workspace' | 'info-git';
|
|
2
6
|
/**
|
|
3
7
|
* 永続化レイヤーの抽象インターフェース
|
|
4
8
|
* Storage の具体実装はこの契約に従うこと
|
|
@@ -24,21 +28,70 @@ export interface StorageBackend {
|
|
|
24
28
|
* ファイルコンテンツを保存
|
|
25
29
|
* @param {string} filepath
|
|
26
30
|
* @param {string} content
|
|
31
|
+
* @param {Segment} segment 保存先セグメント
|
|
27
32
|
* @returns {Promise<void>}
|
|
28
33
|
*/
|
|
29
|
-
writeBlob(_filepath: string, _content: string): Promise<void>;
|
|
34
|
+
writeBlob(_filepath: string, _content: string, _segment?: Segment): Promise<void>;
|
|
30
35
|
/**
|
|
31
36
|
* ファイルコンテンツを読み出す
|
|
32
37
|
* @param {string} filepath
|
|
38
|
+
* @param {Segment} segment 読み出すセグメント
|
|
33
39
|
* @returns {Promise<string|null>}
|
|
34
40
|
*/
|
|
35
|
-
readBlob(_filepath: string): Promise<string | null>;
|
|
41
|
+
readBlob(_filepath: string, _segment?: Segment): Promise<string | null>;
|
|
36
42
|
/**
|
|
37
43
|
* ファイルを削除する
|
|
38
44
|
* @param {string} filepath
|
|
45
|
+
* @param {Segment} [segment] 削除するセグメント(省略時は全セグメント削除)
|
|
39
46
|
* @returns {Promise<void>}
|
|
40
47
|
*/
|
|
41
|
-
deleteBlob(_filepath: string): Promise<void>;
|
|
48
|
+
deleteBlob(_filepath: string, _segment?: Segment): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* 指定プレフィックス配下のファイル一覧を取得します。
|
|
51
|
+
* @param prefix 取得対象のディレクトリプレフィックス(省略時はルート)
|
|
52
|
+
* @param segment 取得対象セグメント(省略時は 'workspace')
|
|
53
|
+
* @param recursive サブディレクトリも含める場合は true(デフォルト true)
|
|
54
|
+
* @returns Promise<Array<{path:string, info:string|null}>>
|
|
55
|
+
*/
|
|
56
|
+
listFiles(_prefix?: string, _segment?: Segment, _recursive?: boolean): Promise<Array<{
|
|
57
|
+
path: string;
|
|
58
|
+
info: string | null;
|
|
59
|
+
}>>;
|
|
60
|
+
/**
|
|
61
|
+
* Raw listing that returns implementation-specific URIs and a normalized path.
|
|
62
|
+
* @returns Promise<Array<{ uri: string; path: string; info?: string | null }>>
|
|
63
|
+
*/
|
|
64
|
+
listFilesRaw?(_prefix?: string, _recursive?: boolean): Promise<Array<{
|
|
65
|
+
uri: string;
|
|
66
|
+
path: string;
|
|
67
|
+
info?: string | null;
|
|
68
|
+
}>>;
|
|
69
|
+
/**
|
|
70
|
+
* Set the currently-active branch name for backends that scope data by branch.
|
|
71
|
+
* Implementations may ignore this call if branch-scoped storage is unsupported.
|
|
72
|
+
* @param branch branch name or undefined to clear
|
|
73
|
+
*/
|
|
74
|
+
setBranch?(_branch?: string | null): void;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* StorageBackend の "静的側"(コンストラクタ/クラス)を表現する型。
|
|
78
|
+
* クラス実装はこの型を満たすことで `canUse()` の静的メソッドを持つことが保証されます。
|
|
79
|
+
*/
|
|
80
|
+
export interface StorageBackendConstructor {
|
|
81
|
+
/**
|
|
82
|
+
* コンストラクタ。ルートパスやDB名などのオプション引数を受け取れるようにする。
|
|
83
|
+
* 実装側はこの引数を利用して初期化を行うことができます。
|
|
84
|
+
*/
|
|
85
|
+
new (_root?: string): StorageBackend;
|
|
86
|
+
/**
|
|
87
|
+
* このストレージ実装が利用可能かどうかを返す(例: 環境依存のチェック)。
|
|
88
|
+
*/
|
|
89
|
+
canUse(): boolean;
|
|
90
|
+
/**
|
|
91
|
+
* このストレージ実装で利用可能なルートパスあるいはDB名の一覧を返す。
|
|
92
|
+
* 例えばローカルFS実装ならベースディレクトリ名、IndexedDB実装ならDB名候補を返す等。
|
|
93
|
+
*/
|
|
94
|
+
availableRoots(): string[] | Promise<string[]>;
|
|
42
95
|
}
|
|
43
96
|
export default StorageBackend;
|
|
44
97
|
//# sourceMappingURL=storageBackend.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storageBackend.d.ts","sourceRoot":"","sources":["../../src/virtualfs/storageBackend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"storageBackend.d.ts","sourceRoot":"","sources":["../../src/virtualfs/storageBackend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,cAAc,GAAG,MAAM,GAAG,gBAAgB,GAAG,UAAU,CAAA;AAEjH;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACrB;;;OAGG;IACH,SAAS,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;IACtC;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C;;;;;;OAMG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjF;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAEvE;;;;;OAKG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhE;;;;;;OAMG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC,CAAA;IAE5H;;;OAGG;IACH,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC,CAAA;IAE1H;;;;OAIG;IACH,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAA;CAW1C;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,KAAK,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc,CAAA;IACpC;;OAEG;IACH,MAAM,IAAI,OAAO,CAAA;IACjB;;;OAGG;IACH,cAAc,IAAI,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;CAC/C;AAED,eAAe,cAAc,CAAA"}
|
|
@@ -3,12 +3,17 @@ export interface IndexEntry {
|
|
|
3
3
|
path: string;
|
|
4
4
|
state: FileState;
|
|
5
5
|
baseSha?: string;
|
|
6
|
+
remoteSha?: string;
|
|
6
7
|
workspaceSha?: string;
|
|
7
8
|
updatedAt: number;
|
|
8
9
|
}
|
|
9
10
|
export interface IndexFile {
|
|
10
11
|
head: string;
|
|
11
12
|
lastCommitKey?: string;
|
|
13
|
+
adapter?: {
|
|
14
|
+
type: 'github' | 'gitlab' | string;
|
|
15
|
+
opts?: any;
|
|
16
|
+
};
|
|
12
17
|
entries: Record<string, IndexEntry>;
|
|
13
18
|
}
|
|
14
19
|
export interface TombstoneEntry {
|
|
@@ -43,4 +48,36 @@ export interface CommitInput {
|
|
|
43
48
|
ref?: string;
|
|
44
49
|
commitKey?: string;
|
|
45
50
|
}
|
|
51
|
+
export type BranchInfo = {
|
|
52
|
+
name: string;
|
|
53
|
+
commit: {
|
|
54
|
+
sha: string;
|
|
55
|
+
url: string;
|
|
56
|
+
};
|
|
57
|
+
protected: boolean;
|
|
58
|
+
isDefault: boolean;
|
|
59
|
+
};
|
|
60
|
+
export type BranchListQuery = {
|
|
61
|
+
perPage?: number;
|
|
62
|
+
page?: number;
|
|
63
|
+
};
|
|
64
|
+
export type BranchListPage = {
|
|
65
|
+
items: BranchInfo[];
|
|
66
|
+
nextPage?: number;
|
|
67
|
+
lastPage?: number;
|
|
68
|
+
};
|
|
69
|
+
export type RepositoryMetadata = {
|
|
70
|
+
defaultBranch: string;
|
|
71
|
+
name: string;
|
|
72
|
+
id?: string | number;
|
|
73
|
+
};
|
|
74
|
+
export type CreateBranchInput = {
|
|
75
|
+
name: string;
|
|
76
|
+
fromRef?: string;
|
|
77
|
+
};
|
|
78
|
+
export type CreateBranchResult = {
|
|
79
|
+
name: string;
|
|
80
|
+
sha: string;
|
|
81
|
+
ref: string;
|
|
82
|
+
};
|
|
46
83
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/virtualfs/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAA;AAE9E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,SAAS,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/virtualfs/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAA;AAE9E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,SAAS,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IAEZ,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAA;QAClC,IAAI,CAAC,EAAE,GAAG,CAAA;KACX,CAAA;IACD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,MAAM,GACd;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAErD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAGD,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE;QACN,GAAG,EAAE,MAAM,CAAA;QACX,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;IACD,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACrB,CAAA;AAGD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA"}
|
|
@@ -1,28 +1,68 @@
|
|
|
1
|
-
import { IndexFile
|
|
2
|
-
import { StorageBackend } from './storageBackend';
|
|
1
|
+
import { IndexFile } from './types.ts';
|
|
2
|
+
import { StorageBackend } from './storageBackend.ts';
|
|
3
|
+
import { Logger } from '../git/abstractAdapter.ts';
|
|
4
|
+
import type { CommitHistoryQuery, CommitHistoryPage } from '../git/adapter.ts';
|
|
5
|
+
import type { BranchListQuery, BranchListPage } from './types.ts';
|
|
6
|
+
type RemoteSnapshotDescriptor = {
|
|
7
|
+
headSha: string;
|
|
8
|
+
shas: Record<string, string>;
|
|
9
|
+
fetchContent: (_paths: string[]) => Promise<Record<string, string>>;
|
|
10
|
+
};
|
|
3
11
|
/** Virtual file system - 永続化バックエンドを抽象化した仮想ファイルシステム */
|
|
4
12
|
export declare class VirtualFS {
|
|
5
|
-
private
|
|
6
|
-
private
|
|
7
|
-
private
|
|
8
|
-
private
|
|
9
|
-
private index;
|
|
13
|
+
private adapter;
|
|
14
|
+
private logger?;
|
|
15
|
+
private adapterMeta;
|
|
16
|
+
private indexManager;
|
|
10
17
|
private backend;
|
|
18
|
+
private applier;
|
|
19
|
+
private localFileManager;
|
|
20
|
+
private changeTracker;
|
|
21
|
+
private conflictManager;
|
|
22
|
+
private remoteSynchronizer;
|
|
11
23
|
/**
|
|
12
24
|
* VirtualFS のインスタンスを初期化します。
|
|
13
25
|
* @param options オプション
|
|
14
26
|
* @returns {void}
|
|
15
27
|
*/
|
|
16
28
|
constructor(options?: {
|
|
17
|
-
storageDir?: string;
|
|
18
29
|
backend?: StorageBackend;
|
|
30
|
+
logger?: Logger;
|
|
19
31
|
});
|
|
20
32
|
/**
|
|
21
|
-
*
|
|
22
|
-
* @
|
|
23
|
-
|
|
33
|
+
* public-facing property accessors for backwards compatibility with tests
|
|
34
|
+
* @returns {string}
|
|
35
|
+
*/
|
|
36
|
+
get head(): string;
|
|
37
|
+
/**
|
|
38
|
+
* Setter for head
|
|
39
|
+
* @param {string} h - head value
|
|
40
|
+
* @returns {void}
|
|
41
|
+
*/
|
|
42
|
+
set head(h: string);
|
|
43
|
+
/**
|
|
44
|
+
* Get lastCommitKey
|
|
45
|
+
* @returns {string|undefined}
|
|
46
|
+
*/
|
|
47
|
+
get lastCommitKey(): string | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* Set lastCommitKey
|
|
50
|
+
* @param {string|undefined} k
|
|
51
|
+
* @returns {void}
|
|
52
|
+
*/
|
|
53
|
+
set lastCommitKey(k: string | undefined);
|
|
54
|
+
/**
|
|
55
|
+
* SHA-1 helper wrapper (delegates to ./hashUtils)
|
|
56
|
+
* @param {string} content - ハッシュ対象の文字列
|
|
57
|
+
* @returns {Promise<string>} SHA-1 ハッシュの16進表現
|
|
24
58
|
*/
|
|
25
|
-
|
|
59
|
+
shaOf(content: string): Promise<string>;
|
|
60
|
+
/**
|
|
61
|
+
* SHA helper for Git blob formatting
|
|
62
|
+
* @param {string} content - blob コンテンツ
|
|
63
|
+
* @returns {Promise<string>} SHA-1 ハッシュの16進表現(git blob 用)
|
|
64
|
+
*/
|
|
65
|
+
shaOfGitBlob(content: string): Promise<string>;
|
|
26
66
|
/**
|
|
27
67
|
* VirtualFS の初期化を行います(バックエンド初期化と index 読み込み)。
|
|
28
68
|
* @returns {Promise<void>}
|
|
@@ -34,38 +74,89 @@ export declare class VirtualFS {
|
|
|
34
74
|
*/
|
|
35
75
|
private loadIndex;
|
|
36
76
|
/**
|
|
37
|
-
*
|
|
77
|
+
* Set adapter instance and persist adapter metadata into index file.
|
|
78
|
+
* @param adapter adapter instance (or null to clear)
|
|
79
|
+
* @param meta metadata to persist (e.g. { type:'github', opts: {...} })
|
|
38
80
|
* @returns {Promise<void>}
|
|
39
81
|
*/
|
|
40
|
-
|
|
82
|
+
setAdapter(adapter: any | null, meta?: any): Promise<void>;
|
|
41
83
|
/**
|
|
42
|
-
*
|
|
84
|
+
* Try to inject the configured logger into the adapter instance (best-effort).
|
|
85
|
+
* @returns {Promise<void>}
|
|
43
86
|
*/
|
|
87
|
+
private _tryInjectLogger;
|
|
44
88
|
/**
|
|
45
|
-
*
|
|
89
|
+
* Persist adapter metadata into the index file (best-effort).
|
|
90
|
+
* @returns {Promise<void>}
|
|
91
|
+
*/
|
|
92
|
+
private _tryPersistAdapterMeta;
|
|
93
|
+
/**
|
|
94
|
+
* Return persisted adapter metadata from the index (or cached meta).
|
|
95
|
+
* This does not necessarily instantiate the adapter instance; use
|
|
96
|
+
* `getAdapterInstance()` to obtain an instantiated adapter.
|
|
97
|
+
* @returns {Promise<any|null>}
|
|
98
|
+
*/
|
|
99
|
+
getAdapter(): Promise<any | null>;
|
|
100
|
+
/**
|
|
101
|
+
* Return or lazily create the adapter instance based on persisted metadata.
|
|
102
|
+
* @returns {Promise<any|null>}
|
|
103
|
+
*/
|
|
104
|
+
getAdapterInstance(): Promise<any | null>;
|
|
105
|
+
/**
|
|
106
|
+
* Load adapterMeta from index if not present.
|
|
107
|
+
* @returns {Promise<void>}
|
|
108
|
+
*/
|
|
109
|
+
private _ensureAdapterMetaLoaded;
|
|
110
|
+
/**
|
|
111
|
+
* Create adapter instance for given type and options. Returns null on failure.
|
|
112
|
+
* @param type adapter type string
|
|
113
|
+
* @param opts adapter options
|
|
114
|
+
* @returns {any|null}
|
|
115
|
+
*/
|
|
116
|
+
private _instantiateAdapter;
|
|
117
|
+
/**
|
|
118
|
+
* Return persisted adapter metadata (if any).
|
|
119
|
+
* @returns {any|null}
|
|
120
|
+
*/
|
|
121
|
+
getAdapterMeta(): any | null;
|
|
122
|
+
/**
|
|
123
|
+
* ファイルを書き込みます(ローカル編集)。
|
|
46
124
|
* @param {string} filepath ファイルパス
|
|
47
125
|
* @param {string} content コンテンツ
|
|
48
126
|
* @returns {Promise<void>}
|
|
49
127
|
*/
|
|
50
|
-
|
|
128
|
+
writeFile(filepath: string, content: string): Promise<void>;
|
|
51
129
|
/**
|
|
52
|
-
*
|
|
130
|
+
* ファイルを削除します(トゥームストーン作成を含む)。
|
|
53
131
|
* @param {string} filepath ファイルパス
|
|
54
132
|
* @returns {Promise<void>}
|
|
55
133
|
*/
|
|
56
|
-
|
|
134
|
+
deleteFile(filepath: string): Promise<void>;
|
|
57
135
|
/**
|
|
58
136
|
* rename を delete + create の合成で行うヘルパ
|
|
59
137
|
* @param from 元パス
|
|
60
138
|
* @param to 新パス
|
|
61
139
|
*/
|
|
62
|
-
|
|
140
|
+
renameFile(from: string, to: string): Promise<void>;
|
|
63
141
|
/**
|
|
64
142
|
* ワークスペース/ベースからファイル内容を読み出します。
|
|
65
143
|
* @param {string} filepath ファイルパス
|
|
66
144
|
* @returns {Promise<string|null>} ファイル内容または null
|
|
67
145
|
*/
|
|
68
|
-
|
|
146
|
+
readFile(filepath: string): Promise<string | null>;
|
|
147
|
+
/**
|
|
148
|
+
* 衝突ファイル(.git-conflict/配下)を取得します。
|
|
149
|
+
* @param {string} filepath ファイルパス
|
|
150
|
+
* @returns {Promise<string|null>} ファイル内容または null
|
|
151
|
+
*/
|
|
152
|
+
readConflict(filepath: string): Promise<string | null>;
|
|
153
|
+
/**
|
|
154
|
+
* 指定パスのリモート衝突ファイル (.git-conflict/) を削除して
|
|
155
|
+
* 競合を解消済とマークします。
|
|
156
|
+
* @param {string} filepath ファイルパス
|
|
157
|
+
* @returns {Promise<boolean>} 成功したら true
|
|
158
|
+
*/
|
|
159
|
+
resolveConflict(filepath: string): Promise<boolean>;
|
|
69
160
|
/**
|
|
70
161
|
* リモートのベーススナップショットを適用します。
|
|
71
162
|
* @param {{[path:string]:string}} snapshot path->content のマップ
|
|
@@ -73,118 +164,231 @@ export declare class VirtualFS {
|
|
|
73
164
|
* @returns {Promise<void>}
|
|
74
165
|
*/
|
|
75
166
|
applyBaseSnapshot(snapshot: Record<string, string>, headSha: string): Promise<void>;
|
|
167
|
+
/**
|
|
168
|
+
* 指定エラーが non-fast-forward を示すか判定します。
|
|
169
|
+
* @param {any} err 例外オブジェクト
|
|
170
|
+
* @returns {boolean}
|
|
171
|
+
*/
|
|
172
|
+
private _isNonFastForwardError;
|
|
76
173
|
/**
|
|
77
174
|
* インデックス情報を返します。
|
|
78
|
-
* @returns {IndexFile}
|
|
175
|
+
* @returns {Promise<IndexFile>}
|
|
79
176
|
*/
|
|
80
|
-
getIndex(): IndexFile
|
|
177
|
+
getIndex(): Promise<IndexFile>;
|
|
81
178
|
/**
|
|
82
179
|
* 登録されているパス一覧を返します。
|
|
83
180
|
* @returns {string[]}
|
|
84
181
|
*/
|
|
85
|
-
listPaths(): string[]
|
|
182
|
+
listPaths(): Promise<string[]>;
|
|
183
|
+
/**
|
|
184
|
+
* ワークスペースとインデックスから変更セットを生成します。
|
|
185
|
+
* @returns {Promise<Array<{type:string,path:string,content?:string,baseSha?:string}>>} 変更リスト
|
|
186
|
+
*/
|
|
187
|
+
getChangeSet(): Promise<any[]>;
|
|
86
188
|
/**
|
|
87
|
-
*
|
|
88
|
-
* @
|
|
189
|
+
* ローカルに対する変更(create/update/delete)を適用するヘルパー
|
|
190
|
+
* @param {any} ch 変更オブジェクト
|
|
191
|
+
* @returns {Promise<void>}
|
|
89
192
|
*/
|
|
90
|
-
|
|
193
|
+
private _applyChangeLocally;
|
|
91
194
|
/**
|
|
92
|
-
*
|
|
93
|
-
* @returns {
|
|
195
|
+
* GitLab 風の actions ベースコミットフローで push を実行します。
|
|
196
|
+
* @returns {Promise<{commitSha:string}>}
|
|
94
197
|
*/
|
|
198
|
+
private _pushWithActions;
|
|
95
199
|
/**
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
baseSha: string;
|
|
112
|
-
})[]>;
|
|
200
|
+
* GitHub 風の blob/tree/commit フローで push を実行します。
|
|
201
|
+
* @returns {Promise<{commitSha:string}>}
|
|
202
|
+
*/
|
|
203
|
+
private _pushWithGitHubFlow;
|
|
204
|
+
/**
|
|
205
|
+
* Try to update remote ref and handle common non-fast-forward errors.
|
|
206
|
+
* Throws when the remote reports a non-fast-forward conflict.
|
|
207
|
+
*/
|
|
208
|
+
private _tryUpdateRef;
|
|
209
|
+
/**
|
|
210
|
+
* Apply changes locally, update index head and persist index.
|
|
211
|
+
* Returns the commit result object for callers.
|
|
212
|
+
* @returns {Promise<{commitSha:string}>}
|
|
213
|
+
*/
|
|
214
|
+
private _applyChangesAndFinalize;
|
|
113
215
|
/**
|
|
114
|
-
*
|
|
115
|
-
*
|
|
216
|
+
* Handle push when an adapter is provided (delegates to _pushWithActions/_pushWithGitHubFlow).
|
|
217
|
+
* Records commitKey in index metadata and returns the push result.
|
|
218
|
+
* @returns {Promise<{commitSha:string}>}
|
|
219
|
+
*/
|
|
220
|
+
private _handlePushWithAdapter;
|
|
221
|
+
/**
|
|
222
|
+
* リモートのスナップショットを取り込み、コンフリクト情報を返します。
|
|
223
|
+
* @param {string} remoteHead リモート HEAD
|
|
224
|
+
* @param {{[path:string]:string}} baseSnapshot path->content マップ
|
|
225
|
+
* @returns {Promise<{conflicts:Array<import('./types').ConflictEntry>}>}
|
|
116
226
|
*/
|
|
117
|
-
|
|
227
|
+
pull(remote: RemoteSnapshotDescriptor | string | {
|
|
228
|
+
fetchSnapshot: () => Promise<RemoteSnapshotDescriptor>;
|
|
229
|
+
}, baseSnapshot?: Record<string, string>): Promise<any>;
|
|
118
230
|
/**
|
|
119
|
-
*
|
|
120
|
-
*
|
|
231
|
+
* Pull by a specified commit-ish reference. Resolves the ref, fetches snapshot and
|
|
232
|
+
* delegates to remote synchronizer. Persists adapter branch meta on success.
|
|
233
|
+
* @param {string} reference commit-ish to resolve
|
|
234
|
+
* @param {Record<string,string>=} baseSnapshot optional base snapshot
|
|
235
|
+
* @returns {Promise<any>} pull result
|
|
121
236
|
*/
|
|
122
|
-
private
|
|
237
|
+
private _pullByRef;
|
|
123
238
|
/**
|
|
124
|
-
*
|
|
125
|
-
* @
|
|
239
|
+
* Pull using the persisted adapterMeta.opts.branch (or 'main').
|
|
240
|
+
* @param {Record<string,string>=} baseSnapshot optional base snapshot
|
|
241
|
+
* @returns {Promise<any>} pull result
|
|
126
242
|
*/
|
|
127
|
-
private
|
|
243
|
+
private _pullUsingPersistedBranch;
|
|
128
244
|
/**
|
|
129
|
-
*
|
|
130
|
-
*
|
|
245
|
+
* Handle the case when pull() is called with no args: try persisted adapter branch if possible.
|
|
246
|
+
* Returns the pull result when handled, or null to indicate caller should continue.
|
|
247
|
+
* @param {Record<string,string>=} baseSnapshot optional base snapshot
|
|
248
|
+
* @returns {Promise<any|null>}
|
|
131
249
|
*/
|
|
132
|
-
private
|
|
250
|
+
private _handlePullNoArgs;
|
|
133
251
|
/**
|
|
134
|
-
*
|
|
135
|
-
*
|
|
252
|
+
* Persist the requested branch into adapter metadata (best-effort).
|
|
253
|
+
* @param {string} branch branch name to persist
|
|
254
|
+
* @returns {Promise<void>}
|
|
255
|
+
*/
|
|
256
|
+
private _persistAdapterBranchMeta;
|
|
257
|
+
/**
|
|
258
|
+
* Best-effort: set backend branch scope when backend supports it.
|
|
259
|
+
* @param branch branch name to set
|
|
136
260
|
* @returns {Promise<void>}
|
|
137
261
|
*/
|
|
138
|
-
private
|
|
262
|
+
private _trySetBackendBranch;
|
|
263
|
+
/**
|
|
264
|
+
* Ensure adapterMeta is loaded from index when missing.
|
|
265
|
+
* @returns {Promise<boolean>} true when adapterMeta is available
|
|
266
|
+
*/
|
|
267
|
+
private _loadAdapterMetaIfNeeded;
|
|
139
268
|
/**
|
|
140
|
-
*
|
|
269
|
+
* Persist current adapterMeta into the index file (best-effort).
|
|
141
270
|
* @returns {Promise<void>}
|
|
142
271
|
*/
|
|
143
|
-
private
|
|
272
|
+
private _writeAdapterMetaToIndex;
|
|
273
|
+
/**
|
|
274
|
+
* Normalize remote input which may be a headSha or a full descriptor.
|
|
275
|
+
* @param {RemoteSnapshotDescriptor | string} remote remote descriptor or headSha
|
|
276
|
+
* @param {Record<string,string>=} baseSnapshot optional snapshot when remote is a headSha
|
|
277
|
+
* @returns {Promise<RemoteSnapshotDescriptor>} normalized descriptor
|
|
278
|
+
*/
|
|
279
|
+
private _normalizeRemoteInput;
|
|
280
|
+
/**
|
|
281
|
+
* Obtain remote snapshot (via persisted adapter if available) and
|
|
282
|
+
* compute simple diffs against the current index.
|
|
283
|
+
* Returns an object containing the resolved `remote` descriptor (or null),
|
|
284
|
+
* `remoteShas` map and `diffs` array (strings like `added: path` / `updated: path`).
|
|
285
|
+
* @returns {Promise<{remote: RemoteSnapshotDescriptor|null, remoteShas: Record<string,string>, diffs: string[]}>}
|
|
286
|
+
*/
|
|
287
|
+
getRemoteDiffs(remote?: RemoteSnapshotDescriptor | string | {
|
|
288
|
+
fetchSnapshot: () => Promise<RemoteSnapshotDescriptor>;
|
|
289
|
+
}): Promise<{
|
|
290
|
+
remote: RemoteSnapshotDescriptor | null;
|
|
291
|
+
remoteShas: Record<string, string>;
|
|
292
|
+
diffs: string[];
|
|
293
|
+
}>;
|
|
294
|
+
/**
|
|
295
|
+
* Delegate commit history listing to the underlying adapter when available.
|
|
296
|
+
* Thin passthrough used by UI/CLI to retrieve commit summaries and paging info.
|
|
297
|
+
* @param {CommitHistoryQuery} query
|
|
298
|
+
* @returns {Promise<CommitHistoryPage>}
|
|
299
|
+
*/
|
|
300
|
+
listCommits(query: CommitHistoryQuery): Promise<CommitHistoryPage>;
|
|
301
|
+
/**
|
|
302
|
+
* Delegate branch listing to the underlying adapter when available.
|
|
303
|
+
* @param {BranchListQuery} query
|
|
304
|
+
* @returns {Promise<BranchListPage>}
|
|
305
|
+
*/
|
|
306
|
+
listBranches(query?: BranchListQuery): Promise<BranchListPage>;
|
|
144
307
|
/**
|
|
145
|
-
*
|
|
308
|
+
* Create a remote-only branch via the configured adapter.
|
|
309
|
+
* @param {{name:string, fromRef?:string}} input
|
|
310
|
+
* @returns {Promise<import('./types.ts').CreateBranchResult>}
|
|
311
|
+
*/
|
|
312
|
+
createBranch(input: import('./types.ts').CreateBranchInput): Promise<import('./types.ts').CreateBranchResult>;
|
|
313
|
+
/**
|
|
314
|
+
* Resolve a source reference for createBranch.
|
|
315
|
+
* Preference order: explicit input.fromRef, index.head, adapter default branch.
|
|
316
|
+
* Returns empty string when no resolution found.
|
|
317
|
+
* @param {import('./types.ts').CreateBranchInput} input createBranch input
|
|
318
|
+
* @param {any} instAdapter adapter instance
|
|
319
|
+
* @returns {Promise<string>} resolved ref or empty string
|
|
320
|
+
*/
|
|
321
|
+
private _resolveCreateBranchFrom;
|
|
322
|
+
/**
|
|
323
|
+
* Attempt to resolve the default branch via adapter metadata.
|
|
324
|
+
* @param {any} instAdapter adapter instance
|
|
325
|
+
* @returns {Promise<string|null>} resolved SHA or null when not found
|
|
326
|
+
*/
|
|
327
|
+
private _resolveAdapterDefaultBranch;
|
|
328
|
+
/**
|
|
329
|
+
* Convenience to get default branch name from adapter repository metadata.
|
|
330
|
+
* Returns null when adapter not available.
|
|
331
|
+
* @returns {Promise<string|null>}
|
|
332
|
+
*/
|
|
333
|
+
getDefaultBranch(): Promise<string | null>;
|
|
334
|
+
/**
|
|
335
|
+
* Persist repository metadata into IndexFile.adapter.opts for session persistence.
|
|
336
|
+
* Best-effort: failures are ignored.
|
|
146
337
|
* @returns {Promise<void>}
|
|
147
338
|
*/
|
|
148
|
-
private
|
|
339
|
+
private _persistRepositoryMetadata;
|
|
149
340
|
/**
|
|
150
|
-
*
|
|
151
|
-
*
|
|
341
|
+
* Normalize a resolved descriptor (string headSha or object) into a
|
|
342
|
+
* RemoteSnapshotDescriptor or null. Helper to reduce cognitive complexity.
|
|
343
|
+
* @returns {Promise<RemoteSnapshotDescriptor|null>} 正規化された descriptor または null
|
|
344
|
+
*/
|
|
345
|
+
/**
|
|
346
|
+
* Try persisting repository metadata when available. Best-effort.
|
|
347
|
+
* @param instAdapter adapter instance or null
|
|
348
|
+
* @param result branch list result used for fallback default branch detection
|
|
152
349
|
* @returns {Promise<void>}
|
|
153
350
|
*/
|
|
154
|
-
private
|
|
351
|
+
private _maybePersistRepositoryMetadata;
|
|
155
352
|
/**
|
|
156
|
-
*
|
|
353
|
+
* Extracted helper to persist default branch candidate derived from branch list.
|
|
354
|
+
* @param result branch list result
|
|
157
355
|
* @returns {Promise<void>}
|
|
158
356
|
*/
|
|
159
|
-
private
|
|
357
|
+
private _persistDefaultBranchCandidate;
|
|
160
358
|
/**
|
|
161
|
-
*
|
|
162
|
-
*
|
|
359
|
+
* Normalize a resolved descriptor (string headSha or object) into a
|
|
360
|
+
* RemoteSnapshotDescriptor or null.
|
|
361
|
+
* @param {RemoteSnapshotDescriptor|string|null} resolved descriptor or headSha
|
|
362
|
+
* @returns {Promise<RemoteSnapshotDescriptor|null>} 正規化された descriptor または null
|
|
163
363
|
*/
|
|
164
|
-
private
|
|
364
|
+
private _toNormalizedDescriptor;
|
|
165
365
|
/**
|
|
166
|
-
*
|
|
167
|
-
*
|
|
366
|
+
* Resolve the provided `remote` parameter into either a headSha string or a full
|
|
367
|
+
* `RemoteSnapshotDescriptor`. Centralizes adapter fetching and fallback behavior
|
|
368
|
+
* to keep `pull()` small and easier to lint.
|
|
369
|
+
* @param remote remote descriptor or adapter-like object or headSha
|
|
370
|
+
* @param baseSnapshot optional snapshot used when normalizing a headSha
|
|
371
|
+
* @returns {Promise<RemoteSnapshotDescriptor|string>} resolved descriptor or headSha
|
|
168
372
|
*/
|
|
169
|
-
private
|
|
373
|
+
private _resolveDescriptor;
|
|
170
374
|
/**
|
|
171
|
-
*
|
|
172
|
-
* @
|
|
173
|
-
* @param {{[path:string]:string}} baseSnapshot path->content マップ
|
|
174
|
-
* @returns {Promise<{conflicts:Array<import('./types').ConflictEntry>}>}
|
|
375
|
+
* Try to obtain a snapshot descriptor from the persisted adapter instance.
|
|
376
|
+
* @returns {Promise<RemoteSnapshotDescriptor|null>} snapshot descriptor or null when unavailable
|
|
175
377
|
*/
|
|
176
|
-
|
|
177
|
-
conflicts: import("./types").ConflictEntry[];
|
|
178
|
-
}>;
|
|
378
|
+
private _fetchSnapshotFromAdapterInstance;
|
|
179
379
|
/**
|
|
180
380
|
* 変更をコミットしてリモートへ反映します。adapter が無ければローカルシミュレーションします。
|
|
181
381
|
* @param {import('./types').CommitInput} input コミット入力
|
|
182
|
-
* @param {import('../git/adapter').GitAdapter} [adapter] 任意のアダプタ
|
|
183
382
|
* @returns {Promise<{commitSha:string}>}
|
|
184
383
|
*/
|
|
185
|
-
push(input: import('./types').CommitInput
|
|
186
|
-
commitSha:
|
|
384
|
+
push(input: import('./types.ts').CommitInput): Promise<{
|
|
385
|
+
commitSha: string;
|
|
187
386
|
}>;
|
|
387
|
+
/**
|
|
388
|
+
* Ensure `input.parentSha` is a string; prefer current index head when available.
|
|
389
|
+
* @param input CommitInput
|
|
390
|
+
*/
|
|
391
|
+
private _ensureParentSha;
|
|
188
392
|
}
|
|
189
393
|
export default VirtualFS;
|
|
190
394
|
//# sourceMappingURL=virtualfs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"virtualfs.d.ts","sourceRoot":"","sources":["../../src/virtualfs/virtualfs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"virtualfs.d.ts","sourceRoot":"","sources":["../../src/virtualfs/virtualfs.ts"],"names":[],"mappings":"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"}
|