@cerbur/clutch-dsh-worktree 0.1.4 → 0.1.6
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 +89 -24
- package/README.zh.md +81 -23
- package/lib/client/WorktreeContext.d.ts.map +1 -1
- package/lib/client/WorktreeContext.js.map +1 -1
- package/lib/client/WorktreeHeroContext.d.ts +1 -1
- package/lib/client/WorktreeHeroContext.d.ts.map +1 -1
- package/lib/client/WorktreeHeroContext.js +10 -5
- package/lib/client/WorktreeHeroContext.js.map +1 -1
- package/lib/client/WorktreeSurface.d.ts +1 -1
- package/lib/client/WorktreeSurface.d.ts.map +1 -1
- package/lib/client/WorktreeSurface.js +349 -88
- package/lib/client/WorktreeSurface.js.map +1 -1
- package/lib/client/entry.d.ts.map +1 -1
- package/lib/client/entry.js +3 -0
- package/lib/client/entry.js.map +1 -1
- package/lib/client/locales.d.ts +28 -0
- package/lib/client/locales.d.ts.map +1 -1
- package/lib/client/locales.js +30 -2
- package/lib/client/locales.js.map +1 -1
- package/lib/client/virtual-workspace-membership.js +1 -1
- package/lib/client/virtual-workspace-membership.js.map +1 -1
- package/lib/client/worktree-connection.d.ts +2 -0
- package/lib/client/worktree-connection.d.ts.map +1 -1
- package/lib/client/worktree-connection.js +4 -0
- package/lib/client/worktree-connection.js.map +1 -1
- package/lib/client/worktree-context-store.d.ts.map +1 -1
- package/lib/client/worktree-context-store.js +51 -11
- package/lib/client/worktree-context-store.js.map +1 -1
- package/lib/client/worktree-error-copy.d.ts.map +1 -1
- package/lib/client/worktree-error-copy.js +8 -0
- package/lib/client/worktree-error-copy.js.map +1 -1
- package/lib/client/worktree-expand-state.d.ts +33 -0
- package/lib/client/worktree-expand-state.d.ts.map +1 -0
- package/lib/client/worktree-expand-state.js +83 -0
- package/lib/client/worktree-expand-state.js.map +1 -0
- package/lib/client/worktree-session-position.d.ts +2 -0
- package/lib/client/worktree-session-position.d.ts.map +1 -0
- package/lib/client/worktree-session-position.js +11 -0
- package/lib/client/worktree-session-position.js.map +1 -0
- package/lib/client/worktree-surface-dialogs.d.ts +1 -1
- package/lib/client/worktree-surface-dialogs.d.ts.map +1 -1
- package/lib/client/worktree-surface-dialogs.js +33 -13
- package/lib/client/worktree-surface-dialogs.js.map +1 -1
- package/lib/client/worktree-surface-rows.d.ts +2 -2
- package/lib/client/worktree-surface-rows.d.ts.map +1 -1
- package/lib/client/worktree-surface-rows.js +5 -5
- package/lib/client/worktree-surface-rows.js.map +1 -1
- package/lib/client/worktree-surface-selectors.d.ts +16 -0
- package/lib/client/worktree-surface-selectors.d.ts.map +1 -1
- package/lib/client/worktree-surface-selectors.js +54 -0
- package/lib/client/worktree-surface-selectors.js.map +1 -1
- package/lib/client/worktree-surface-types.d.ts +28 -1
- package/lib/client/worktree-surface-types.d.ts.map +1 -1
- package/lib/client/worktree-view-actions.d.ts +3 -0
- package/lib/client/worktree-view-actions.d.ts.map +1 -1
- package/lib/client/worktree-view-actions.js +3 -0
- package/lib/client/worktree-view-actions.js.map +1 -1
- package/lib/client/worktree-view-read.d.ts +11 -0
- package/lib/client/worktree-view-read.d.ts.map +1 -1
- package/lib/client/worktree-view-read.js +24 -0
- package/lib/client/worktree-view-read.js.map +1 -1
- package/lib/client.js +697 -137
- package/lib/client.js.map +1 -1
- package/lib/contract/index.contract.js +14 -0
- package/lib/contract/index.contract.js.map +1 -1
- package/lib/contract/index.d.ts +22 -2
- package/lib/contract/index.d.ts.map +1 -1
- package/lib/contract/index.js +5 -0
- package/lib/contract/index.js.map +1 -1
- package/lib/host/remote.d.ts.map +1 -1
- package/lib/host/remote.js +2 -0
- package/lib/host/remote.js.map +1 -1
- package/lib/host/service.d.ts +8 -1
- package/lib/host/service.d.ts.map +1 -1
- package/lib/host/service.js +12 -0
- package/lib/host/service.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/manage/manager-support.d.ts +2 -0
- package/lib/manage/manager-support.d.ts.map +1 -1
- package/lib/manage/manager-support.js +9 -0
- package/lib/manage/manager-support.js.map +1 -1
- package/lib/manage/manager-worktrees.d.ts +10 -1
- package/lib/manage/manager-worktrees.d.ts.map +1 -1
- package/lib/manage/manager-worktrees.js +121 -5
- package/lib/manage/manager-worktrees.js.map +1 -1
- package/lib/manage/manager.d.ts +8 -1
- package/lib/manage/manager.d.ts.map +1 -1
- package/lib/manage/manager.js +7 -1
- package/lib/manage/manager.js.map +1 -1
- package/lib/provider/git.d.ts +8 -0
- package/lib/provider/git.d.ts.map +1 -1
- package/lib/provider/git.js +57 -11
- package/lib/provider/git.js.map +1 -1
- package/lib/provider/index.d.ts +1 -1
- package/lib/provider/index.d.ts.map +1 -1
- package/lib/provider/index.js +1 -1
- package/lib/provider/index.js.map +1 -1
- package/lib/provider/sidecar-schema.d.ts +1 -1
- package/lib/provider/sidecar-schema.d.ts.map +1 -1
- package/lib/provider/sidecar-schema.js +33 -37
- package/lib/provider/sidecar-schema.js.map +1 -1
- package/lib/provider/sidecar.d.ts.map +1 -1
- package/lib/provider/sidecar.js +3 -1
- package/lib/provider/sidecar.js.map +1 -1
- package/lib/provider/types.d.ts +9 -1
- package/lib/provider/types.d.ts.map +1 -1
- package/lib/provider/types.js +2 -1
- package/lib/provider/types.js.map +1 -1
- package/lib/typert.host.js +115 -21
- package/lib/typert.remote-client.d.ts +5 -1
- package/lib/typert.remote-client.d.ts.map +1 -1
- package/lib/typert.remote-client.js +115 -21
- package/package.json +30 -30
|
@@ -1,37 +1,29 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
|
-
import { SIDECAR_SCHEMA_VERSION, providerError, } from './types.js';
|
|
3
|
-
const
|
|
2
|
+
import { LEGACY_SIDECAR_SCHEMA_VERSION, SIDECAR_SCHEMA_VERSION, providerError, } from './types.js';
|
|
3
|
+
const LEGACY_WORKTREE_KEYS = ['absolutePath', 'branch', 'status', 'workspaceId', 'worktreeId'];
|
|
4
|
+
const WORKTREE_KEYS = ['absolutePath', 'branch', 'source', 'status', 'workspaceId', 'worktreeId'];
|
|
4
5
|
const BINDING_KEYS = ['sessionId', 'status', 'workspaceId', 'worktreeId'];
|
|
5
6
|
const SNAPSHOT_KEYS = ['bindings', 'schemaVersion', 'workspaceId', 'worktrees'];
|
|
6
7
|
function isObject(value) {
|
|
7
8
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
8
9
|
}
|
|
9
|
-
/*
|
|
10
|
-
* 每个 schema version 使用精确字段白名单,避免新版或注入字段被旧代码静默接受、随后在
|
|
11
|
-
* 重写时丢失。格式演进必须显式提升 schema version。
|
|
12
|
-
*
|
|
13
|
-
* Each schema version uses an exact key allowlist so newer or injected fields
|
|
14
|
-
* are not silently accepted and then lost on rewrite. Format evolution must
|
|
15
|
-
* be represented by an explicit schema-version change.
|
|
16
|
-
*/
|
|
17
10
|
function hasExactKeys(value, keys) {
|
|
18
11
|
return JSON.stringify(Object.keys(value).sort()) === JSON.stringify([...keys].sort());
|
|
19
12
|
}
|
|
20
|
-
// 可读取但不满足 schema/invariant 的数据属于 `SIDECAR_CORRUPT`;文件系统故障另报 `SIDECAR_UNAVAILABLE`。
|
|
21
|
-
// Readable data that violates the schema or invariants is `SIDECAR_CORRUPT`;
|
|
22
|
-
// filesystem failures are reported separately as `SIDECAR_UNAVAILABLE`.
|
|
23
13
|
export function corrupt(pathname, message, details = {}) {
|
|
24
14
|
return providerError('SIDECAR_CORRUPT', `${message}: ${pathname}`, { path: pathname, ...details });
|
|
25
15
|
}
|
|
26
|
-
function assertWorktreeRecord(value, pathname) {
|
|
16
|
+
function assertWorktreeRecord(value, pathname, schemaVersion) {
|
|
17
|
+
const legacy = schemaVersion === LEGACY_SIDECAR_SCHEMA_VERSION;
|
|
27
18
|
if (!isObject(value) ||
|
|
28
|
-
!hasExactKeys(value, WORKTREE_KEYS) ||
|
|
19
|
+
!hasExactKeys(value, legacy ? LEGACY_WORKTREE_KEYS : WORKTREE_KEYS) ||
|
|
29
20
|
typeof value.worktreeId !== 'string' ||
|
|
30
21
|
typeof value.workspaceId !== 'string' ||
|
|
31
22
|
typeof value.absolutePath !== 'string' ||
|
|
32
23
|
!path.isAbsolute(value.absolutePath) ||
|
|
33
24
|
typeof value.branch !== 'string' ||
|
|
34
|
-
(value.status !== 'active' && value.status !== 'removed')
|
|
25
|
+
(value.status !== 'active' && value.status !== 'removed') ||
|
|
26
|
+
(!legacy && value.source !== 'plugin' && value.source !== 'external')) {
|
|
35
27
|
throw corrupt(pathname, 'invalid Worktree record');
|
|
36
28
|
}
|
|
37
29
|
}
|
|
@@ -45,23 +37,41 @@ function assertBinding(value, pathname) {
|
|
|
45
37
|
throw corrupt(pathname, 'invalid Session binding');
|
|
46
38
|
}
|
|
47
39
|
}
|
|
48
|
-
|
|
40
|
+
function normalizeWorktreeRecord(record, schemaVersion) {
|
|
41
|
+
return schemaVersion === LEGACY_SIDECAR_SCHEMA_VERSION
|
|
42
|
+
? { ...record, source: 'plugin' }
|
|
43
|
+
: record;
|
|
44
|
+
}
|
|
45
|
+
function assertGeneratedPluginPath(record, pathname, generatedWorktreeRoot) {
|
|
46
|
+
if (!generatedWorktreeRoot || record.source !== 'plugin')
|
|
47
|
+
return;
|
|
48
|
+
if (!/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(record.worktreeId)) {
|
|
49
|
+
throw corrupt(pathname, 'Worktree record has an invalid generated ID');
|
|
50
|
+
}
|
|
51
|
+
const expectedPath = path.resolve(generatedWorktreeRoot, record.worktreeId);
|
|
52
|
+
if (path.resolve(record.absolutePath) !== expectedPath) {
|
|
53
|
+
throw corrupt(pathname, 'Worktree path is outside the generated DSH Home root');
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/** Validate v1/v2 on-disk data and return the current in-memory v2 projection. */
|
|
49
57
|
export function validateSidecarSnapshot(value, pathname, generatedWorktreeRoot) {
|
|
50
58
|
if (!isObject(value) ||
|
|
51
59
|
!hasExactKeys(value, SNAPSHOT_KEYS) ||
|
|
52
|
-
value.schemaVersion !== SIDECAR_SCHEMA_VERSION ||
|
|
60
|
+
(value.schemaVersion !== LEGACY_SIDECAR_SCHEMA_VERSION && value.schemaVersion !== SIDECAR_SCHEMA_VERSION) ||
|
|
53
61
|
typeof value.workspaceId !== 'string' ||
|
|
54
62
|
!Array.isArray(value.worktrees) ||
|
|
55
63
|
!Array.isArray(value.bindings)) {
|
|
56
64
|
throw corrupt(pathname, 'invalid sidecar snapshot');
|
|
57
65
|
}
|
|
66
|
+
const schemaVersion = value.schemaVersion;
|
|
58
67
|
for (const record of value.worktrees)
|
|
59
|
-
assertWorktreeRecord(record, pathname);
|
|
68
|
+
assertWorktreeRecord(record, pathname, schemaVersion);
|
|
60
69
|
for (const binding of value.bindings)
|
|
61
70
|
assertBinding(binding, pathname);
|
|
62
71
|
const workspaceId = value.workspaceId;
|
|
72
|
+
const worktrees = value.worktrees.map((record) => normalizeWorktreeRecord(record, schemaVersion));
|
|
63
73
|
const worktreeIds = new Set();
|
|
64
|
-
for (const record of
|
|
74
|
+
for (const record of worktrees) {
|
|
65
75
|
if (record.workspaceId !== workspaceId) {
|
|
66
76
|
throw corrupt(pathname, 'Worktree record belongs to another Workspace');
|
|
67
77
|
}
|
|
@@ -69,18 +79,7 @@ export function validateSidecarSnapshot(value, pathname, generatedWorktreeRoot)
|
|
|
69
79
|
throw corrupt(pathname, 'sidecar contains duplicate Worktree IDs');
|
|
70
80
|
}
|
|
71
81
|
worktreeIds.add(record.worktreeId);
|
|
72
|
-
|
|
73
|
-
// 这是词法路径约束;关键父目录的物理 symlink 边界由 I/O 前的检查单独负责。
|
|
74
|
-
// This is a lexical path constraint; physical symlink boundaries for the
|
|
75
|
-
// critical parent directories are checked separately before I/O.
|
|
76
|
-
if (!/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(record.worktreeId)) {
|
|
77
|
-
throw corrupt(pathname, 'Worktree record has an invalid generated ID');
|
|
78
|
-
}
|
|
79
|
-
const expectedPath = path.resolve(generatedWorktreeRoot, record.worktreeId);
|
|
80
|
-
if (path.resolve(record.absolutePath) !== expectedPath) {
|
|
81
|
-
throw corrupt(pathname, 'Worktree path is outside the generated DSH Home root');
|
|
82
|
-
}
|
|
83
|
-
}
|
|
82
|
+
assertGeneratedPluginPath(record, pathname, generatedWorktreeRoot);
|
|
84
83
|
}
|
|
85
84
|
for (const binding of value.bindings) {
|
|
86
85
|
if (binding.workspaceId !== workspaceId) {
|
|
@@ -96,10 +95,7 @@ export function validateSidecarSnapshot(value, pathname, generatedWorktreeRoot)
|
|
|
96
95
|
}
|
|
97
96
|
activeSessions.add(binding.sessionId);
|
|
98
97
|
}
|
|
99
|
-
|
|
100
|
-
// Only detached bindings may retain a relationship to a non-active Worktree;
|
|
101
|
-
// an active relationship is never silently downgraded.
|
|
102
|
-
const worktreeStatus = new Map(value.worktrees.map((record) => [record.worktreeId, record.status]));
|
|
98
|
+
const worktreeStatus = new Map(worktrees.map((record) => [record.worktreeId, record.status]));
|
|
103
99
|
for (const binding of value.bindings) {
|
|
104
100
|
if (binding.status === 'active' && worktreeStatus.get(binding.worktreeId) !== 'active') {
|
|
105
101
|
throw corrupt(pathname, 'active binding does not point to an active Worktree');
|
|
@@ -108,7 +104,7 @@ export function validateSidecarSnapshot(value, pathname, generatedWorktreeRoot)
|
|
|
108
104
|
return {
|
|
109
105
|
schemaVersion: SIDECAR_SCHEMA_VERSION,
|
|
110
106
|
workspaceId,
|
|
111
|
-
worktrees
|
|
107
|
+
worktrees,
|
|
112
108
|
bindings: value.bindings,
|
|
113
109
|
};
|
|
114
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidecar-schema.js","sourceRoot":"","sources":["../../src/provider/sidecar-schema.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EACL,sBAAsB,EAGtB,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"sidecar-schema.js","sourceRoot":"","sources":["../../src/provider/sidecar-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidecar.d.ts","sourceRoot":"","sources":["../../src/provider/sidecar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEvF,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,YAAY,EAElB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"sidecar.d.ts","sourceRoot":"","sources":["../../src/provider/sidecar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEvF,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,YAAY,EAElB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AA0B9D;;;GAGG;AACH,qBAAa,iCAAkC,YAAW,YAAY;IACpE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;gBAErC,EAAE,OAAO,EAAE,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAOrD,4DAA4D;IAC5D,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAIzC,mDAAmD;IACnD,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAInD,oFAAoF;IACpF,MAAM,CAAC,CAAC,EACN,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GACxF,OAAO,CAAC,CAAC,CAAC;IAIb,mDAAmD;IAC7C,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAuBrE,kFAAkF;IAC5E,oBAAoB,CACxB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,gBAAgB,CAAC,EAAE,UAAU,GAC5B,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC;IA+CjC,kFAAkF;IAC5E,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;CAkBtE"}
|
package/lib/provider/sidecar.js
CHANGED
|
@@ -6,6 +6,7 @@ function sameWorktree(left, right) {
|
|
|
6
6
|
left.workspaceId === right.workspaceId &&
|
|
7
7
|
left.absolutePath === right.absolutePath &&
|
|
8
8
|
left.branch === right.branch &&
|
|
9
|
+
left.source === right.source &&
|
|
9
10
|
left.status === right.status);
|
|
10
11
|
}
|
|
11
12
|
function sameIds(left, right) {
|
|
@@ -46,8 +47,9 @@ export class WorkspaceShardedSidecarRepository {
|
|
|
46
47
|
}
|
|
47
48
|
/** Idempotently insert a Worktree record by ID. */
|
|
48
49
|
async upsertWorktree(record) {
|
|
49
|
-
const { health: _health, ...
|
|
50
|
+
const { health: _health, ...withoutHealth } = record;
|
|
50
51
|
void _health;
|
|
52
|
+
const persistedRecord = { ...withoutHealth, source: record.source ?? 'plugin' };
|
|
51
53
|
return this.mutate(record.workspaceId, (snapshot) => {
|
|
52
54
|
const existing = snapshot.worktrees.find((candidate) => candidate.worktreeId === persistedRecord.worktreeId);
|
|
53
55
|
if (existing) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidecar.js","sourceRoot":"","sources":["../../src/provider/sidecar.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,SAAS,YAAY,CAAC,IAAoB,EAAE,KAAqB;IAC/D,OAAO,CACL,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;QACpC,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW;QACtC,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY;QACxC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAC5B,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAC7B,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,IAAuB,EAAE,KAAwB;IAChE,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,WAAW,CAAC,IAAoB,EAAE,KAAqB;IAC9D,OAAO,CACL,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW;QACtC,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;QACpC,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;QAClC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAC7B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,iCAAiC;IACnC,UAAU,CAAS;IACnB,YAAY,CAAS;IACrB,aAAa,CAAS;IAEd,WAAW,CAAqB;IAEjD,YAAY,EAAE,OAAO,EAAgC;QACnD,IAAI,CAAC,WAAW,GAAG,IAAI,kBAAkB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;IACtD,CAAC;IAED,4DAA4D;IAC5D,YAAY,CAAC,WAAmB;QAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;IAED,mDAAmD;IACnD,IAAI,CAAC,WAAmB;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED,oFAAoF;IACpF,MAAM,CACJ,WAAmB,EACnB,QAAyF;QAEzF,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED,mDAAmD;IACnD,KAAK,CAAC,cAAc,CAAC,MAAsB;QACzC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"sidecar.js","sourceRoot":"","sources":["../../src/provider/sidecar.ts"],"names":[],"mappings":"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"}
|
package/lib/provider/types.d.ts
CHANGED
|
@@ -4,7 +4,8 @@ import type { SessionBinding, WorktreeErrorCode, WorktreeErrorDetails, WorktreeI
|
|
|
4
4
|
* The only supported on-disk sidecar format; unknown versions are treated as
|
|
5
5
|
* corruption rather than guessed or silently migrated.
|
|
6
6
|
*/
|
|
7
|
-
export declare const
|
|
7
|
+
export declare const LEGACY_SIDECAR_SCHEMA_VERSION: 1;
|
|
8
|
+
export declare const SIDECAR_SCHEMA_VERSION: 2;
|
|
8
9
|
/**
|
|
9
10
|
* 从 DSH 投影出的最小 Workspace 事实;Provider 不拥有、复制或写回这些数据。
|
|
10
11
|
* Minimal Workspace facts projected from DSH; the Provider neither owns,
|
|
@@ -51,7 +52,14 @@ export interface GitWorktreeInfo {
|
|
|
51
52
|
* removal only, with no arbitrary Git, remote, or working-file operations.
|
|
52
53
|
*/
|
|
53
54
|
export interface GitWorktreeAdapter {
|
|
55
|
+
/** Validate the repository without changing the long-standing adapter contract. */
|
|
54
56
|
validateRepository(workspaceRoot: string): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Resolve the Git worktree/repository root used for repository-wide reads.
|
|
59
|
+
* Optional for backwards compatibility with injected adapters written before
|
|
60
|
+
* subdirectory Workspaces were supported; the local adapter always provides it.
|
|
61
|
+
*/
|
|
62
|
+
resolveRepositoryRoot?(workspaceRoot: string): Promise<string>;
|
|
55
63
|
listBranches(workspaceRoot: string): Promise<readonly string[]>;
|
|
56
64
|
listWorktrees(workspaceRoot: string): Promise<readonly GitWorktreeInfo[]>;
|
|
57
65
|
createWorktree(workspaceRoot: string, targetPath: string, branch: string, newBranch?: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/provider/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/provider/types.ts"],"names":[],"mappings":"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"}
|
package/lib/provider/types.js
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* The only supported on-disk sidecar format; unknown versions are treated as
|
|
4
4
|
* corruption rather than guessed or silently migrated.
|
|
5
5
|
*/
|
|
6
|
-
export const
|
|
6
|
+
export const LEGACY_SIDECAR_SCHEMA_VERSION = 1;
|
|
7
|
+
export const SIDECAR_SCHEMA_VERSION = 2;
|
|
7
8
|
/**
|
|
8
9
|
* Provider/Manage 边界使用的结构化错误;稳定 code 供调用方分支,details 保留诊断上下文。
|
|
9
10
|
* Structured error used across the Provider/Manage boundary; callers branch on
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/provider/types.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/provider/types.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAU,CAAC;AACxD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAU,CAAC;AAoHjD;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IACrC,IAAI,CAAoB;IACxB,OAAO,CAAuB;IAEvC,YAAY,IAAuB,EAAE,OAAe,EAAE,UAAgC,EAAE;QACtF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAC3E,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAuB,EACvB,OAAe,EACf,UAAgC,EAAE;IAElC,OAAO,IAAI,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,OAAO,KAAK,YAAY,qBAAqB,CAAC;AAChD,CAAC"}
|
package/lib/typert.host.js
CHANGED
|
@@ -8,6 +8,8 @@ const JsonValueRemoteCodec$schema4 = z.union([z.literal(null), z.string(), z.num
|
|
|
8
8
|
const JsonValueRemoteCodec$schema5 = z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema5)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema5)).readonly()])
|
|
9
9
|
const JsonValueRemoteCodec$schema6 = z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema6)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema6)).readonly()])
|
|
10
10
|
const JsonValueRemoteCodec$schema7 = z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema7)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema7)).readonly()])
|
|
11
|
+
const JsonValueRemoteCodec$schema8 = z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema8)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema8)).readonly()])
|
|
12
|
+
const JsonValueRemoteCodec$schema9 = z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema9)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema9)).readonly()])
|
|
11
13
|
const _cerbur_clutch_dsh_worktree_worktreeManager_bindSession_parameter_0$schema = z.object({
|
|
12
14
|
'workspaceId': z.string().readonly(),
|
|
13
15
|
'worktreeId': z.string().readonly(),
|
|
@@ -16,9 +18,9 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_bindSession_parameter_0$schema
|
|
|
16
18
|
const _cerbur_clutch_dsh_worktree_worktreeManager_bindSession_result$schema = z.union([z.object({
|
|
17
19
|
'ok': z.literal(false).readonly(),
|
|
18
20
|
'error': z.object({
|
|
19
|
-
'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
|
|
21
|
+
'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("GIT_NOT_INSTALLED"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("WORKTREE_IMPORT_INVALID"), z.literal("WORKTREE_ALREADY_MANAGED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
|
|
20
22
|
'message': z.string().readonly(),
|
|
21
|
-
'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$
|
|
23
|
+
'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema5)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema5)).readonly()])).readonly().readonly(),
|
|
22
24
|
}).readonly(),
|
|
23
25
|
}), z.object({
|
|
24
26
|
'ok': z.literal(true).readonly(),
|
|
@@ -37,9 +39,32 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_createWorktree_parameter_0$sch
|
|
|
37
39
|
const _cerbur_clutch_dsh_worktree_worktreeManager_createWorktree_result$schema = z.union([z.object({
|
|
38
40
|
'ok': z.literal(false).readonly(),
|
|
39
41
|
'error': z.object({
|
|
40
|
-
'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
|
|
42
|
+
'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("GIT_NOT_INSTALLED"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("WORKTREE_IMPORT_INVALID"), z.literal("WORKTREE_ALREADY_MANAGED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
|
|
41
43
|
'message': z.string().readonly(),
|
|
42
|
-
'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$
|
|
44
|
+
'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema9)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema9)).readonly()])).readonly().readonly(),
|
|
45
|
+
}).readonly(),
|
|
46
|
+
}), z.object({
|
|
47
|
+
'ok': z.literal(true).readonly(),
|
|
48
|
+
'value': z.object({
|
|
49
|
+
'worktreeId': z.string().readonly(),
|
|
50
|
+
'workspaceId': z.string().readonly(),
|
|
51
|
+
'absolutePath': z.string().readonly(),
|
|
52
|
+
'branch': z.string().readonly(),
|
|
53
|
+
'source': z.union([z.literal("plugin"), z.literal("external")]).readonly(),
|
|
54
|
+
'status': z.union([z.literal("active"), z.literal("removed")]).readonly(),
|
|
55
|
+
'health': z.union([z.undefined(), z.literal("ready"), z.literal("repair")]).readonly().optional(),
|
|
56
|
+
}).readonly(),
|
|
57
|
+
})])
|
|
58
|
+
const _cerbur_clutch_dsh_worktree_worktreeManager_importWorktree_parameter_0$schema = z.object({
|
|
59
|
+
'workspaceId': z.string().readonly(),
|
|
60
|
+
'absolutePath': z.string().readonly(),
|
|
61
|
+
})
|
|
62
|
+
const _cerbur_clutch_dsh_worktree_worktreeManager_importWorktree_result$schema = z.union([z.object({
|
|
63
|
+
'ok': z.literal(false).readonly(),
|
|
64
|
+
'error': z.object({
|
|
65
|
+
'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("GIT_NOT_INSTALLED"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("WORKTREE_IMPORT_INVALID"), z.literal("WORKTREE_ALREADY_MANAGED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
|
|
66
|
+
'message': z.string().readonly(),
|
|
67
|
+
'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema)).readonly()])).readonly().readonly(),
|
|
43
68
|
}).readonly(),
|
|
44
69
|
}), z.object({
|
|
45
70
|
'ok': z.literal(true).readonly(),
|
|
@@ -48,6 +73,7 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_createWorktree_result$schema =
|
|
|
48
73
|
'workspaceId': z.string().readonly(),
|
|
49
74
|
'absolutePath': z.string().readonly(),
|
|
50
75
|
'branch': z.string().readonly(),
|
|
76
|
+
'source': z.union([z.literal("plugin"), z.literal("external")]).readonly(),
|
|
51
77
|
'status': z.union([z.literal("active"), z.literal("removed")]).readonly(),
|
|
52
78
|
'health': z.union([z.undefined(), z.literal("ready"), z.literal("repair")]).readonly().optional(),
|
|
53
79
|
}).readonly(),
|
|
@@ -60,9 +86,9 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_insertWorktreeBefore_parameter
|
|
|
60
86
|
const _cerbur_clutch_dsh_worktree_worktreeManager_insertWorktreeBefore_result$schema = z.union([z.object({
|
|
61
87
|
'ok': z.literal(false).readonly(),
|
|
62
88
|
'error': z.object({
|
|
63
|
-
'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
|
|
89
|
+
'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("GIT_NOT_INSTALLED"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("WORKTREE_IMPORT_INVALID"), z.literal("WORKTREE_ALREADY_MANAGED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
|
|
64
90
|
'message': z.string().readonly(),
|
|
65
|
-
'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$
|
|
91
|
+
'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema3)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema3)).readonly()])).readonly().readonly(),
|
|
66
92
|
}).readonly(),
|
|
67
93
|
}), z.object({
|
|
68
94
|
'ok': z.literal(true).readonly(),
|
|
@@ -74,9 +100,9 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_listBindings_parameter_0$schem
|
|
|
74
100
|
const _cerbur_clutch_dsh_worktree_worktreeManager_listBindings_result$schema = z.union([z.object({
|
|
75
101
|
'ok': z.literal(false).readonly(),
|
|
76
102
|
'error': z.object({
|
|
77
|
-
'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
|
|
103
|
+
'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("GIT_NOT_INSTALLED"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("WORKTREE_IMPORT_INVALID"), z.literal("WORKTREE_ALREADY_MANAGED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
|
|
78
104
|
'message': z.string().readonly(),
|
|
79
|
-
'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$
|
|
105
|
+
'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema4)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema4)).readonly()])).readonly().readonly(),
|
|
80
106
|
}).readonly(),
|
|
81
107
|
}), z.object({
|
|
82
108
|
'ok': z.literal(true).readonly(),
|
|
@@ -93,9 +119,9 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_listBranches_parameter_0$schem
|
|
|
93
119
|
const _cerbur_clutch_dsh_worktree_worktreeManager_listBranches_result$schema = z.union([z.object({
|
|
94
120
|
'ok': z.literal(false).readonly(),
|
|
95
121
|
'error': z.object({
|
|
96
|
-
'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
|
|
122
|
+
'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("GIT_NOT_INSTALLED"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("WORKTREE_IMPORT_INVALID"), z.literal("WORKTREE_ALREADY_MANAGED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
|
|
97
123
|
'message': z.string().readonly(),
|
|
98
|
-
'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$
|
|
124
|
+
'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema8)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema8)).readonly()])).readonly().readonly(),
|
|
99
125
|
}).readonly(),
|
|
100
126
|
}), z.object({
|
|
101
127
|
'ok': z.literal(true).readonly(),
|
|
@@ -105,15 +131,32 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_listBranches_result$schema = z
|
|
|
105
131
|
'checkedOut': z.boolean().readonly(),
|
|
106
132
|
})).readonly(),
|
|
107
133
|
})])
|
|
134
|
+
const _cerbur_clutch_dsh_worktree_worktreeManager_listImportCandidates_parameter_0$schema = z.object({
|
|
135
|
+
'workspaceId': z.string().readonly(),
|
|
136
|
+
})
|
|
137
|
+
const _cerbur_clutch_dsh_worktree_worktreeManager_listImportCandidates_result$schema = z.union([z.object({
|
|
138
|
+
'ok': z.literal(false).readonly(),
|
|
139
|
+
'error': z.object({
|
|
140
|
+
'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("GIT_NOT_INSTALLED"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("WORKTREE_IMPORT_INVALID"), z.literal("WORKTREE_ALREADY_MANAGED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
|
|
141
|
+
'message': z.string().readonly(),
|
|
142
|
+
'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema7)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema7)).readonly()])).readonly().readonly(),
|
|
143
|
+
}).readonly(),
|
|
144
|
+
}), z.object({
|
|
145
|
+
'ok': z.literal(true).readonly(),
|
|
146
|
+
'value': z.array(z.object({
|
|
147
|
+
'absolutePath': z.string().readonly(),
|
|
148
|
+
'branch': z.string().readonly(),
|
|
149
|
+
})).readonly(),
|
|
150
|
+
})])
|
|
108
151
|
const _cerbur_clutch_dsh_worktree_worktreeManager_listWorktrees_parameter_0$schema = z.object({
|
|
109
152
|
'workspaceId': z.string().readonly(),
|
|
110
153
|
})
|
|
111
154
|
const _cerbur_clutch_dsh_worktree_worktreeManager_listWorktrees_result$schema = z.union([z.object({
|
|
112
155
|
'ok': z.literal(false).readonly(),
|
|
113
156
|
'error': z.object({
|
|
114
|
-
'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
|
|
157
|
+
'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("GIT_NOT_INSTALLED"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("WORKTREE_IMPORT_INVALID"), z.literal("WORKTREE_ALREADY_MANAGED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
|
|
115
158
|
'message': z.string().readonly(),
|
|
116
|
-
'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$
|
|
159
|
+
'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema6)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema6)).readonly()])).readonly().readonly(),
|
|
117
160
|
}).readonly(),
|
|
118
161
|
}), z.object({
|
|
119
162
|
'ok': z.literal(true).readonly(),
|
|
@@ -122,6 +165,7 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_listWorktrees_result$schema =
|
|
|
122
165
|
'workspaceId': z.string().readonly(),
|
|
123
166
|
'absolutePath': z.string().readonly(),
|
|
124
167
|
'branch': z.string().readonly(),
|
|
168
|
+
'source': z.union([z.literal("plugin"), z.literal("external")]).readonly(),
|
|
125
169
|
'status': z.union([z.literal("active"), z.literal("removed")]).readonly(),
|
|
126
170
|
'health': z.union([z.undefined(), z.literal("ready"), z.literal("repair")]).readonly().optional(),
|
|
127
171
|
})).readonly(),
|
|
@@ -133,9 +177,9 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_removeWorktree_parameter_0$sch
|
|
|
133
177
|
const _cerbur_clutch_dsh_worktree_worktreeManager_removeWorktree_result$schema = z.union([z.object({
|
|
134
178
|
'ok': z.literal(false).readonly(),
|
|
135
179
|
'error': z.object({
|
|
136
|
-
'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
|
|
180
|
+
'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("GIT_NOT_INSTALLED"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("WORKTREE_IMPORT_INVALID"), z.literal("WORKTREE_ALREADY_MANAGED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
|
|
137
181
|
'message': z.string().readonly(),
|
|
138
|
-
'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$
|
|
182
|
+
'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema2)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema2)).readonly()])).readonly().readonly(),
|
|
139
183
|
}).readonly(),
|
|
140
184
|
}), z.object({
|
|
141
185
|
'ok': z.literal(true).readonly(),
|
|
@@ -171,7 +215,7 @@ export const TYPERT = {
|
|
|
171
215
|
typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
|
|
172
216
|
schema: _cerbur_clutch_dsh_worktree_worktreeManager_bindSession_result$schema,
|
|
173
217
|
},
|
|
174
|
-
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":
|
|
218
|
+
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":133,"column":3},
|
|
175
219
|
},
|
|
176
220
|
{
|
|
177
221
|
id: '@cerbur/clutch-dsh-worktree#worktreeManager/createWorktree',
|
|
@@ -196,7 +240,32 @@ export const TYPERT = {
|
|
|
196
240
|
typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
|
|
197
241
|
schema: _cerbur_clutch_dsh_worktree_worktreeManager_createWorktree_result$schema,
|
|
198
242
|
},
|
|
199
|
-
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":
|
|
243
|
+
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":92,"column":3},
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
id: '@cerbur/clutch-dsh-worktree#worktreeManager/importWorktree',
|
|
247
|
+
service: 'worktreeManager',
|
|
248
|
+
namespace: 'worktreeManager',
|
|
249
|
+
method: 'importWorktree',
|
|
250
|
+
invocation: { kind: 'direct' },
|
|
251
|
+
parameters: [
|
|
252
|
+
{
|
|
253
|
+
name: 'input',
|
|
254
|
+
wire: 'input',
|
|
255
|
+
source: 'json',
|
|
256
|
+
codec: {
|
|
257
|
+
mode: 'strict',
|
|
258
|
+
typeSymbol: '@cerbur/clutch-dsh-worktree#worktreeManager/importWorktree:input',
|
|
259
|
+
schema: _cerbur_clutch_dsh_worktree_worktreeManager_importWorktree_parameter_0$schema,
|
|
260
|
+
},
|
|
261
|
+
},
|
|
262
|
+
],
|
|
263
|
+
result: {
|
|
264
|
+
mode: 'strict',
|
|
265
|
+
typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
|
|
266
|
+
schema: _cerbur_clutch_dsh_worktree_worktreeManager_importWorktree_result$schema,
|
|
267
|
+
},
|
|
268
|
+
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":101,"column":3},
|
|
200
269
|
},
|
|
201
270
|
{
|
|
202
271
|
id: '@cerbur/clutch-dsh-worktree#worktreeManager/insertWorktreeBefore',
|
|
@@ -221,7 +290,7 @@ export const TYPERT = {
|
|
|
221
290
|
typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
|
|
222
291
|
schema: _cerbur_clutch_dsh_worktree_worktreeManager_insertWorktreeBefore_result$schema,
|
|
223
292
|
},
|
|
224
|
-
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":
|
|
293
|
+
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":117,"column":3},
|
|
225
294
|
},
|
|
226
295
|
{
|
|
227
296
|
id: '@cerbur/clutch-dsh-worktree#worktreeManager/listBindings',
|
|
@@ -246,7 +315,7 @@ export const TYPERT = {
|
|
|
246
315
|
typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
|
|
247
316
|
schema: _cerbur_clutch_dsh_worktree_worktreeManager_listBindings_result$schema,
|
|
248
317
|
},
|
|
249
|
-
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":
|
|
318
|
+
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":126,"column":3},
|
|
250
319
|
},
|
|
251
320
|
{
|
|
252
321
|
id: '@cerbur/clutch-dsh-worktree#worktreeManager/listBranches',
|
|
@@ -271,7 +340,32 @@ export const TYPERT = {
|
|
|
271
340
|
typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
|
|
272
341
|
schema: _cerbur_clutch_dsh_worktree_worktreeManager_listBranches_result$schema,
|
|
273
342
|
},
|
|
274
|
-
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":
|
|
343
|
+
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":85,"column":3},
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
id: '@cerbur/clutch-dsh-worktree#worktreeManager/listImportCandidates',
|
|
347
|
+
service: 'worktreeManager',
|
|
348
|
+
namespace: 'worktreeManager',
|
|
349
|
+
method: 'listImportCandidates',
|
|
350
|
+
invocation: { kind: 'direct' },
|
|
351
|
+
parameters: [
|
|
352
|
+
{
|
|
353
|
+
name: 'input',
|
|
354
|
+
wire: 'input',
|
|
355
|
+
source: 'json',
|
|
356
|
+
codec: {
|
|
357
|
+
mode: 'strict',
|
|
358
|
+
typeSymbol: '@cerbur/clutch-dsh-worktree#worktreeManager/listImportCandidates:input',
|
|
359
|
+
schema: _cerbur_clutch_dsh_worktree_worktreeManager_listImportCandidates_parameter_0$schema,
|
|
360
|
+
},
|
|
361
|
+
},
|
|
362
|
+
],
|
|
363
|
+
result: {
|
|
364
|
+
mode: 'strict',
|
|
365
|
+
typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
|
|
366
|
+
schema: _cerbur_clutch_dsh_worktree_worktreeManager_listImportCandidates_result$schema,
|
|
367
|
+
},
|
|
368
|
+
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":78,"column":3},
|
|
275
369
|
},
|
|
276
370
|
{
|
|
277
371
|
id: '@cerbur/clutch-dsh-worktree#worktreeManager/listWorktrees',
|
|
@@ -296,7 +390,7 @@ export const TYPERT = {
|
|
|
296
390
|
typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
|
|
297
391
|
schema: _cerbur_clutch_dsh_worktree_worktreeManager_listWorktrees_result$schema,
|
|
298
392
|
},
|
|
299
|
-
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":
|
|
393
|
+
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":71,"column":3},
|
|
300
394
|
},
|
|
301
395
|
{
|
|
302
396
|
id: '@cerbur/clutch-dsh-worktree#worktreeManager/removeWorktree',
|
|
@@ -321,7 +415,7 @@ export const TYPERT = {
|
|
|
321
415
|
typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
|
|
322
416
|
schema: _cerbur_clutch_dsh_worktree_worktreeManager_removeWorktree_result$schema,
|
|
323
417
|
},
|
|
324
|
-
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":
|
|
418
|
+
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":109,"column":3},
|
|
325
419
|
},
|
|
326
420
|
],
|
|
327
421
|
model: {
|
|
@@ -3,24 +3,28 @@ import type {
|
|
|
3
3
|
RemoteResult,
|
|
4
4
|
TypertRemoteContribution,
|
|
5
5
|
} from '@deepseek-ai/dsh-typert-protocol'
|
|
6
|
-
import type { BranchRecord, SessionBinding, WorktreeId, WorktreeRecord, WorktreeRemoteResult } from '@cerbur/clutch-dsh-worktree/contract'
|
|
6
|
+
import type { BranchRecord, SessionBinding, WorkspaceId, WorktreeId, WorktreeImportCandidate, WorktreeRecord, WorktreeRemoteResult } from '@cerbur/clutch-dsh-worktree/contract'
|
|
7
7
|
|
|
8
8
|
declare module '@deepseek-ai/dsh-typert-protocol' {
|
|
9
9
|
interface TypertRemoteNamespace$776f726b747265654d616e61676572 {
|
|
10
10
|
bindSession: (input: { readonly workspaceId: string; readonly worktreeId: string; readonly sessionId: string; }) => Promise<RemoteResult<WorktreeRemoteResult<SessionBinding>>>
|
|
11
11
|
createWorktree: (input: { readonly workspaceId: string; readonly branch: string; readonly newBranch?: string; }) => Promise<RemoteResult<WorktreeRemoteResult<WorktreeRecord>>>
|
|
12
|
+
importWorktree: (input: { readonly workspaceId: WorkspaceId; readonly absolutePath: string; }) => Promise<RemoteResult<WorktreeRemoteResult<WorktreeRecord>>>
|
|
12
13
|
insertWorktreeBefore: (input: { readonly workspaceId: string; readonly worktreeId: string; readonly beforeWorktreeId?: string; }) => Promise<RemoteResult<WorktreeRemoteResult<readonly WorktreeId[]>>>
|
|
13
14
|
listBindings: (input: { readonly workspaceId: string; }) => Promise<RemoteResult<WorktreeRemoteResult<readonly SessionBinding[]>>>
|
|
14
15
|
listBranches: (input: { readonly workspaceId: string; }) => Promise<RemoteResult<WorktreeRemoteResult<readonly BranchRecord[]>>>
|
|
16
|
+
listImportCandidates: (input: { readonly workspaceId: WorkspaceId; }) => Promise<RemoteResult<WorktreeRemoteResult<readonly WorktreeImportCandidate[]>>>
|
|
15
17
|
listWorktrees: (input: { readonly workspaceId: string; }) => Promise<RemoteResult<WorktreeRemoteResult<readonly WorktreeRecord[]>>>
|
|
16
18
|
removeWorktree: (input: { readonly workspaceId: string; readonly worktreeId: string; }) => Promise<RemoteResult<WorktreeRemoteResult<null>>>
|
|
17
19
|
}
|
|
18
20
|
interface TypertRemoteMap {
|
|
19
21
|
'worktreeManager/bindSession': (input: { readonly workspaceId: string; readonly worktreeId: string; readonly sessionId: string; }) => Promise<RemoteResult<WorktreeRemoteResult<SessionBinding>>>
|
|
20
22
|
'worktreeManager/createWorktree': (input: { readonly workspaceId: string; readonly branch: string; readonly newBranch?: string; }) => Promise<RemoteResult<WorktreeRemoteResult<WorktreeRecord>>>
|
|
23
|
+
'worktreeManager/importWorktree': (input: { readonly workspaceId: WorkspaceId; readonly absolutePath: string; }) => Promise<RemoteResult<WorktreeRemoteResult<WorktreeRecord>>>
|
|
21
24
|
'worktreeManager/insertWorktreeBefore': (input: { readonly workspaceId: string; readonly worktreeId: string; readonly beforeWorktreeId?: string; }) => Promise<RemoteResult<WorktreeRemoteResult<readonly WorktreeId[]>>>
|
|
22
25
|
'worktreeManager/listBindings': (input: { readonly workspaceId: string; }) => Promise<RemoteResult<WorktreeRemoteResult<readonly SessionBinding[]>>>
|
|
23
26
|
'worktreeManager/listBranches': (input: { readonly workspaceId: string; }) => Promise<RemoteResult<WorktreeRemoteResult<readonly BranchRecord[]>>>
|
|
27
|
+
'worktreeManager/listImportCandidates': (input: { readonly workspaceId: WorkspaceId; }) => Promise<RemoteResult<WorktreeRemoteResult<readonly WorktreeImportCandidate[]>>>
|
|
24
28
|
'worktreeManager/listWorktrees': (input: { readonly workspaceId: string; }) => Promise<RemoteResult<WorktreeRemoteResult<readonly WorktreeRecord[]>>>
|
|
25
29
|
'worktreeManager/removeWorktree': (input: { readonly workspaceId: string; readonly worktreeId: string; }) => Promise<RemoteResult<WorktreeRemoteResult<null>>>
|
|
26
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typert.remote-client.d.ts","names":["bindSession","createWorktree","insertWorktreeBefore","listBindings","listBranches","listWorktrees","removeWorktree"],"sources":["../src/host/service.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"typert.remote-client.d.ts","names":["bindSession","createWorktree","importWorktree","insertWorktreeBefore","listBindings","listBranches","listImportCandidates","listWorktrees","removeWorktree"],"sources":["../src/host/service.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;IAoIEA,W;IAzCAC,c;IASAC,c;IAgBAC,oB;IASAC,Y;IAzCAC,Y;IAPAC,oB;IAPAC,a;IAsCAC,c;;;IAwBAR,6B;IAzCAC,gC;IASAC,gC;IAgBAC,sC;IASAC,8B;IAzCAC,8B;IAPAC,sC;IAPAC,+B;IAsCAC,gC","ignoreList":[]}
|