@cerbur/clutch-dsh-worktree 0.1.6 → 0.1.7
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 +107 -15
- package/README.zh.md +86 -10
- package/cordis.patch.yml +21 -0
- package/lib/client/WorktreeContext.d.ts.map +1 -1
- package/lib/client/WorktreeContext.js +2 -2
- package/lib/client/WorktreeContext.js.map +1 -1
- package/lib/client/WorktreeSurface.d.ts +2 -2
- package/lib/client/WorktreeSurface.d.ts.map +1 -1
- package/lib/client/WorktreeSurface.js +270 -65
- package/lib/client/WorktreeSurface.js.map +1 -1
- package/lib/client/entry.d.ts.map +1 -1
- package/lib/client/entry.js +84 -2
- package/lib/client/entry.js.map +1 -1
- package/lib/client/index.d.ts +3 -0
- package/lib/client/index.d.ts.map +1 -1
- package/lib/client/index.js +2 -0
- package/lib/client/index.js.map +1 -1
- package/lib/client/locales.d.ts +58 -0
- package/lib/client/locales.d.ts.map +1 -1
- package/lib/client/locales.js +58 -0
- package/lib/client/locales.js.map +1 -1
- package/lib/client/session-view.d.ts +34 -0
- package/lib/client/session-view.d.ts.map +1 -1
- package/lib/client/session-view.js +119 -1
- package/lib/client/session-view.js.map +1 -1
- package/lib/client/worktree-connection.d.ts +4 -2
- 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-error-copy.d.ts +2 -0
- package/lib/client/worktree-error-copy.d.ts.map +1 -1
- package/lib/client/worktree-error-copy.js +16 -0
- package/lib/client/worktree-error-copy.js.map +1 -1
- package/lib/client/worktree-permission-icon.d.ts +7 -0
- package/lib/client/worktree-permission-icon.d.ts.map +1 -0
- package/lib/client/worktree-permission-icon.js +119 -0
- package/lib/client/worktree-permission-icon.js.map +1 -0
- package/lib/client/worktree-permission.d.ts +21 -0
- package/lib/client/worktree-permission.d.ts.map +1 -0
- package/lib/client/worktree-permission.js +70 -0
- package/lib/client/worktree-permission.js.map +1 -0
- package/lib/client/worktree-session-fork.d.ts +65 -0
- package/lib/client/worktree-session-fork.d.ts.map +1 -0
- package/lib/client/worktree-session-fork.js +174 -0
- package/lib/client/worktree-session-fork.js.map +1 -0
- package/lib/client/worktree-session-order.d.ts +36 -0
- package/lib/client/worktree-session-order.d.ts.map +1 -0
- package/lib/client/worktree-session-order.js +215 -0
- package/lib/client/worktree-session-order.js.map +1 -0
- package/lib/client/worktree-session.d.ts +34 -1
- package/lib/client/worktree-session.d.ts.map +1 -1
- package/lib/client/worktree-session.js +98 -2
- package/lib/client/worktree-session.js.map +1 -1
- package/lib/client/worktree-surface-rows.d.ts +4 -4
- package/lib/client/worktree-surface-rows.d.ts.map +1 -1
- package/lib/client/worktree-surface-rows.js +132 -47
- package/lib/client/worktree-surface-rows.js.map +1 -1
- package/lib/client/worktree-surface-selectors.d.ts +2 -0
- package/lib/client/worktree-surface-selectors.d.ts.map +1 -1
- package/lib/client/worktree-surface-selectors.js +8 -0
- package/lib/client/worktree-surface-selectors.js.map +1 -1
- package/lib/client/worktree-surface-types.d.ts +46 -3
- package/lib/client/worktree-surface-types.d.ts.map +1 -1
- package/lib/client/worktree-view-actions.d.ts +8 -3
- package/lib/client/worktree-view-actions.d.ts.map +1 -1
- package/lib/client/worktree-view-actions.js +28 -2
- package/lib/client/worktree-view-actions.js.map +1 -1
- package/lib/client/worktree-view-errors.d.ts +10 -0
- package/lib/client/worktree-view-errors.d.ts.map +1 -1
- package/lib/client/worktree-view-errors.js +22 -1
- package/lib/client/worktree-view-errors.js.map +1 -1
- package/lib/client.js +1473 -201
- package/lib/client.js.map +1 -1
- package/lib/contract/index.contract.js +2 -0
- package/lib/contract/index.contract.js.map +1 -1
- package/lib/contract/index.d.ts +6 -2
- package/lib/contract/index.d.ts.map +1 -1
- package/lib/contract/index.js +4 -0
- package/lib/contract/index.js.map +1 -1
- package/lib/contract/worktree-permission.d.ts +73 -0
- package/lib/contract/worktree-permission.d.ts.map +1 -0
- package/lib/contract/worktree-permission.js +32 -0
- package/lib/contract/worktree-permission.js.map +1 -0
- package/lib/host/index.d.ts +4 -0
- package/lib/host/index.d.ts.map +1 -1
- package/lib/host/index.js +2 -0
- package/lib/host/index.js.map +1 -1
- package/lib/host/remote.d.ts +2 -2
- package/lib/host/remote.d.ts.map +1 -1
- package/lib/host/remote.js +7 -1
- package/lib/host/remote.js.map +1 -1
- package/lib/host/service.d.ts +3 -1
- package/lib/host/service.d.ts.map +1 -1
- package/lib/host/service.js +36 -2
- package/lib/host/service.js.map +1 -1
- package/lib/host/worktree-permission-manager.d.ts +14 -0
- package/lib/host/worktree-permission-manager.d.ts.map +1 -0
- package/lib/host/worktree-permission-manager.js +111 -0
- package/lib/host/worktree-permission-manager.js.map +1 -0
- package/lib/host/worktree-permission.d.ts +38 -0
- package/lib/host/worktree-permission.d.ts.map +1 -0
- package/lib/host/worktree-permission.js +156 -0
- package/lib/host/worktree-permission.js.map +1 -0
- package/lib/index.d.ts +4 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/manage/worktree-permission.d.ts +3 -0
- package/lib/manage/worktree-permission.d.ts.map +1 -0
- package/lib/manage/worktree-permission.js +3 -0
- package/lib/manage/worktree-permission.js.map +1 -0
- package/lib/typert.host.js +126 -27
- 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 +126 -27
- package/package.json +1 -1
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type WorktreePermissionApprovalPolicy, type WorktreePermissionPort, type WorktreePermissionSandboxMode } from '../manage/worktree-permission.js';
|
|
2
|
+
interface PermissionEvent {
|
|
3
|
+
readonly type: string;
|
|
4
|
+
readonly data?: unknown;
|
|
5
|
+
}
|
|
6
|
+
interface PermissionSession {
|
|
7
|
+
readonly id: string;
|
|
8
|
+
readonly events: readonly PermissionEvent[];
|
|
9
|
+
append(type: string, data: unknown): unknown;
|
|
10
|
+
}
|
|
11
|
+
interface PermissionPresetSpec {
|
|
12
|
+
readonly sandbox: WorktreePermissionSandboxMode;
|
|
13
|
+
readonly approval: WorktreePermissionApprovalPolicy;
|
|
14
|
+
}
|
|
15
|
+
interface PermissionPresetService {
|
|
16
|
+
readonly names: readonly string[];
|
|
17
|
+
current(events: readonly PermissionEvent[]): string;
|
|
18
|
+
resolve(name: string): PermissionPresetSpec;
|
|
19
|
+
set(session: PermissionSession, name: string): void;
|
|
20
|
+
}
|
|
21
|
+
interface SandboxPolicyService {
|
|
22
|
+
readonly defaultMode?: WorktreePermissionSandboxMode;
|
|
23
|
+
}
|
|
24
|
+
export interface DshWorktreePermissionAdapterOptions {
|
|
25
|
+
readonly sessions: {
|
|
26
|
+
get(sessionId: string): unknown;
|
|
27
|
+
};
|
|
28
|
+
readonly permissionPresets?: PermissionPresetService;
|
|
29
|
+
readonly sandboxPolicy?: SandboxPolicyService;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Adapt the optional public DSH permission services to the Worktree Manager
|
|
33
|
+
* port. No DSH package is imported at runtime, so an older bundle without the
|
|
34
|
+
* optional service can remain loadable and report an unverified capability.
|
|
35
|
+
*/
|
|
36
|
+
export declare function createDshWorktreePermissionAdapter(options: DshWorktreePermissionAdapterOptions): WorktreePermissionPort;
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=worktree-permission.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worktree-permission.d.ts","sourceRoot":"","sources":["../../src/host/worktree-permission.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,gCAAgC,EAErC,KAAK,sBAAsB,EAG3B,KAAK,6BAA6B,EACnC,MAAM,kCAAkC,CAAC;AAE1C,UAAU,eAAe;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,UAAU,iBAAiB;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;IAC5C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;CAC9C;AAED,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,OAAO,EAAE,6BAA6B,CAAC;IAChD,QAAQ,CAAC,QAAQ,EAAE,gCAAgC,CAAC;CACrD;AAED,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,OAAO,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,GAAG,MAAM,CAAC;IACpD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAAC;IAC5C,GAAG,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrD;AAED,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,6BAA6B,CAAC;CACtD;AAED,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,QAAQ,EAAE;QACjB,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;KACjC,CAAC;IACF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IACrD,QAAQ,CAAC,aAAa,CAAC,EAAE,oBAAoB,CAAC;CAC/C;AAwGD;;;;GAIG;AACH,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,mCAAmC,GAC3C,sBAAsB,CA0FxB"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { decideWorktreePermission, WORKTREE_FULL_ACCESS_PRESET, } from '../manage/worktree-permission.js';
|
|
2
|
+
const WORKSPACE_WRITE_PRESET = 'workspace-write';
|
|
3
|
+
function isRecord(value) {
|
|
4
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
5
|
+
}
|
|
6
|
+
function stringValue(value) {
|
|
7
|
+
return typeof value === 'string' ? value : undefined;
|
|
8
|
+
}
|
|
9
|
+
function lastEventValue(events, type, key) {
|
|
10
|
+
for (let index = events.length - 1; index >= 0; index -= 1) {
|
|
11
|
+
const event = events[index];
|
|
12
|
+
if (event.type !== type || !isRecord(event.data))
|
|
13
|
+
continue;
|
|
14
|
+
const value = stringValue(event.data[key]);
|
|
15
|
+
if (value !== undefined)
|
|
16
|
+
return value;
|
|
17
|
+
}
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
function hasFullThenRestriction(events) {
|
|
21
|
+
let fullSeen = false;
|
|
22
|
+
for (const event of events) {
|
|
23
|
+
if (event.type !== 'permission/preset' || !isRecord(event.data))
|
|
24
|
+
continue;
|
|
25
|
+
const preset = stringValue(event.data.preset);
|
|
26
|
+
if (preset === WORKTREE_FULL_ACCESS_PRESET) {
|
|
27
|
+
fullSeen = true;
|
|
28
|
+
}
|
|
29
|
+
else if (fullSeen && preset !== undefined) {
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
function readCurrentState(session, permissionPresets, sandboxPolicy, pluginApplied) {
|
|
36
|
+
const preset = permissionPresets?.current(session.events);
|
|
37
|
+
let presetSpec;
|
|
38
|
+
if (preset !== undefined && preset !== 'custom') {
|
|
39
|
+
try {
|
|
40
|
+
presetSpec = permissionPresets?.resolve(preset);
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
presetSpec = undefined;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const sandboxMode = lastEventValue(session.events, 'sandbox/mode', 'mode') ??
|
|
47
|
+
presetSpec?.sandbox ??
|
|
48
|
+
sandboxPolicy?.defaultMode;
|
|
49
|
+
const approvalPolicy = lastEventValue(session.events, 'approval/policy', 'policy') ??
|
|
50
|
+
presetSpec?.approval;
|
|
51
|
+
const pluginChangedThisRuntime = pluginApplied.has(session.id);
|
|
52
|
+
const currentIsRestricted = pluginChangedThisRuntime && sandboxMode !== 'danger-full-access' ||
|
|
53
|
+
hasFullThenRestriction(session.events) ||
|
|
54
|
+
(preset !== undefined &&
|
|
55
|
+
preset !== WORKSPACE_WRITE_PRESET &&
|
|
56
|
+
preset !== WORKTREE_FULL_ACCESS_PRESET &&
|
|
57
|
+
preset !== 'danger-full-access');
|
|
58
|
+
return {
|
|
59
|
+
...(preset === undefined ? {} : { preset }),
|
|
60
|
+
...(sandboxMode === undefined ? {} : { sandboxMode }),
|
|
61
|
+
...(approvalPolicy === undefined ? {} : { approvalPolicy }),
|
|
62
|
+
explicitUserOverride: currentIsRestricted,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
function resultFromCurrent(status, current, retryable) {
|
|
66
|
+
return {
|
|
67
|
+
status,
|
|
68
|
+
...(current.preset === undefined ? {} : { preset: current.preset }),
|
|
69
|
+
...(current.sandboxMode === undefined ? {} : { sandboxMode: current.sandboxMode }),
|
|
70
|
+
...(current.approvalPolicy === undefined ? {} : { approvalPolicy: current.approvalPolicy }),
|
|
71
|
+
retryable,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function serviceAvailable(permissionPresets) {
|
|
75
|
+
return (permissionPresets !== undefined &&
|
|
76
|
+
Array.isArray(permissionPresets.names) &&
|
|
77
|
+
typeof permissionPresets.current === 'function' &&
|
|
78
|
+
typeof permissionPresets.resolve === 'function' &&
|
|
79
|
+
typeof permissionPresets.set === 'function');
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Adapt the optional public DSH permission services to the Worktree Manager
|
|
83
|
+
* port. No DSH package is imported at runtime, so an older bundle without the
|
|
84
|
+
* optional service can remain loadable and report an unverified capability.
|
|
85
|
+
*/
|
|
86
|
+
export function createDshWorktreePermissionAdapter(options) {
|
|
87
|
+
const pluginApplied = new Set();
|
|
88
|
+
const apply = (input, binding) => {
|
|
89
|
+
const session = options.sessions.get(input.sessionId);
|
|
90
|
+
if (!isPermissionSession(session)) {
|
|
91
|
+
return { status: 'unverified', retryable: true };
|
|
92
|
+
}
|
|
93
|
+
const permissionPresets = options.permissionPresets;
|
|
94
|
+
const current = readCurrentState(session, permissionPresets, options.sandboxPolicy, pluginApplied);
|
|
95
|
+
const hasService = serviceAvailable(permissionPresets);
|
|
96
|
+
const decision = decideWorktreePermission({
|
|
97
|
+
binding,
|
|
98
|
+
current,
|
|
99
|
+
capability: {
|
|
100
|
+
permissionService: hasService,
|
|
101
|
+
fullPreset: hasService && permissionPresets.names.includes(WORKTREE_FULL_ACCESS_PRESET),
|
|
102
|
+
workspaceWrite: hasService && permissionPresets.names.includes(WORKSPACE_WRITE_PRESET),
|
|
103
|
+
},
|
|
104
|
+
});
|
|
105
|
+
if (binding === 'active' &&
|
|
106
|
+
decision.kind === 'apply-full' &&
|
|
107
|
+
input.confirmed !== true) {
|
|
108
|
+
return { status: 'confirmation-required', retryable: false };
|
|
109
|
+
}
|
|
110
|
+
switch (decision.kind) {
|
|
111
|
+
case 'apply-full':
|
|
112
|
+
if (!hasService)
|
|
113
|
+
return resultFromCurrent('unverified', current, true);
|
|
114
|
+
permissionPresets.set(session, decision.preset);
|
|
115
|
+
pluginApplied.add(session.id);
|
|
116
|
+
return resultFromCurrent('full-applied', readCurrentState(session, permissionPresets, options.sandboxPolicy, pluginApplied), false);
|
|
117
|
+
case 'preserve-user-restriction':
|
|
118
|
+
return resultFromCurrent('user-restricted', current, false);
|
|
119
|
+
case 'unverified':
|
|
120
|
+
return resultFromCurrent('unverified', current, true);
|
|
121
|
+
case 'fallback-workspace-write':
|
|
122
|
+
if (!hasService)
|
|
123
|
+
return resultFromCurrent('unverified', current, true);
|
|
124
|
+
permissionPresets.set(session, WORKSPACE_WRITE_PRESET);
|
|
125
|
+
return resultFromCurrent('fallback-workspace-write', readCurrentState(session, permissionPresets, options.sandboxPolicy, pluginApplied), true);
|
|
126
|
+
case 'normalize-workspace-write':
|
|
127
|
+
if (!hasService || !permissionPresets.names.includes(WORKSPACE_WRITE_PRESET)) {
|
|
128
|
+
return resultFromCurrent('unverified', current, true);
|
|
129
|
+
}
|
|
130
|
+
permissionPresets.set(session, WORKSPACE_WRITE_PRESET);
|
|
131
|
+
pluginApplied.delete(session.id);
|
|
132
|
+
return resultFromCurrent('normalized-workspace-write', readCurrentState(session, permissionPresets, options.sandboxPolicy, pluginApplied), false);
|
|
133
|
+
case 'no-op':
|
|
134
|
+
return resultFromCurrent(binding === 'active' && isFullAccessState(current) ? 'already-full' : 'no-op', current, false);
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
return {
|
|
138
|
+
ensure(input) {
|
|
139
|
+
return Promise.resolve(apply(input, 'active'));
|
|
140
|
+
},
|
|
141
|
+
normalize(input) {
|
|
142
|
+
return Promise.resolve(apply(input, 'detached'));
|
|
143
|
+
},
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
function isPermissionSession(value) {
|
|
147
|
+
return (isRecord(value) &&
|
|
148
|
+
typeof value.id === 'string' &&
|
|
149
|
+
Array.isArray(value.events) &&
|
|
150
|
+
typeof value.append === 'function');
|
|
151
|
+
}
|
|
152
|
+
function isFullAccessState(current) {
|
|
153
|
+
return (current.preset === WORKTREE_FULL_ACCESS_PRESET ||
|
|
154
|
+
current.sandboxMode === 'danger-full-access');
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=worktree-permission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worktree-permission.js","sourceRoot":"","sources":["../../src/host/worktree-permission.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -10,14 +10,15 @@
|
|
|
10
10
|
* @packageDocumentation
|
|
11
11
|
*/
|
|
12
12
|
export { WORKTREE_ERROR_CODES, WORKTREE_REMOTE_METHODS, createWorktreeError, } from './contract/index.js';
|
|
13
|
-
export
|
|
13
|
+
export { WORKTREE_FULL_ACCESS_PRESET } from './contract/index.js';
|
|
14
|
+
export type { BranchRecord, BindingStatus, JsonPrimitive, JsonValue, SessionBinding, WorktreeError, WorktreeErrorCode, WorktreeErrorDetails, WorktreeManager, WorktreeImportCandidate, WorktreeRemoteManager, WorktreeRemoteMethod, WorktreeRemoteResult, WorktreeRecord, WorktreeStatus, WorktreeSource, WorktreeId, WorkspaceId, SessionId, WorktreePermissionApprovalPolicy, WorktreePermissionBinding, WorktreePermissionCapability, WorktreePermissionCurrentState, WorktreePermissionDecision, WorktreePermissionDecisionInput, WorktreePermissionManager, WorktreePermissionNormalizationRequest, WorktreePermissionPort, WorktreePermissionRequest, WorktreePermissionResult, WorktreePermissionSandboxMode, WorktreePermissionStatus, } from './contract/index.js';
|
|
14
15
|
export { LocalGitAdapter } from './provider/git.js';
|
|
15
16
|
export { WorkspaceShardedSidecarRepository, validateSidecarSnapshot, } from './provider/sidecar.js';
|
|
16
17
|
export { SIDECAR_SCHEMA_VERSION, WorktreeProviderError, isWorktreeProviderError, providerError, } from './provider/types.js';
|
|
17
18
|
export type { DshReadAdapter, DshSessionSummary, DshWorkspaceSummary, GitWorktreeAdapter, GitWorktreeInfo, SidecarMutation, SidecarSnapshot, SidecarStore, } from './provider/types.js';
|
|
18
19
|
export { WorktreeManagerImpl, createWorktreeManager } from './manage/index.js';
|
|
19
20
|
export type { RuntimeCwdInput, WorktreeManagerOptions, WorktreeManagerService, } from './manage/index.js';
|
|
20
|
-
export { DshHostReadAdapter, WorktreeRemoteService, createWorktreeRemoteProjection, } from './host/index.js';
|
|
21
|
-
export type { DshHostReadContext, WorktreeHostConfig } from './host/index.js';
|
|
21
|
+
export { DshHostReadAdapter, WorktreeRemoteService, createWorktreeRemoteProjection, createDshWorktreePermissionAdapter, createWorktreePermissionManager, } from './host/index.js';
|
|
22
|
+
export type { DshHostReadContext, DshWorktreePermissionAdapterOptions, WorktreeHostConfig, WorktreePermissionManagerOptions, } from './host/index.js';
|
|
22
23
|
export { WorktreeRemoteService as default } from './host/index.js';
|
|
23
24
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,YAAY,EACZ,aAAa,EACb,aAAa,EACb,SAAS,EACT,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,cAAc,EACd,UAAU,EACV,WAAW,EACX,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,YAAY,EACV,YAAY,EACZ,aAAa,EACb,aAAa,EACb,SAAS,EACT,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,cAAc,EACd,UAAU,EACV,WAAW,EACX,SAAS,EACT,gCAAgC,EAChC,yBAAyB,EACzB,4BAA4B,EAC5B,8BAA8B,EAC9B,0BAA0B,EAC1B,+BAA+B,EAC/B,yBAAyB,EACzB,sCAAsC,EACtC,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,iCAAiC,EACjC,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,eAAe,EACf,YAAY,GACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,8BAA8B,EAC9B,kCAAkC,EAClC,+BAA+B,GAChC,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,kBAAkB,EAClB,mCAAmC,EACnC,kBAAkB,EAClB,gCAAgC,GACjC,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EAAE,qBAAqB,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -10,11 +10,12 @@
|
|
|
10
10
|
* @packageDocumentation
|
|
11
11
|
*/
|
|
12
12
|
export { WORKTREE_ERROR_CODES, WORKTREE_REMOTE_METHODS, createWorktreeError, } from './contract/index.js';
|
|
13
|
+
export { WORKTREE_FULL_ACCESS_PRESET } from './contract/index.js';
|
|
13
14
|
export { LocalGitAdapter } from './provider/git.js';
|
|
14
15
|
export { WorkspaceShardedSidecarRepository, validateSidecarSnapshot, } from './provider/sidecar.js';
|
|
15
16
|
export { SIDECAR_SCHEMA_VERSION, WorktreeProviderError, isWorktreeProviderError, providerError, } from './provider/types.js';
|
|
16
17
|
export { WorktreeManagerImpl, createWorktreeManager } from './manage/index.js';
|
|
17
|
-
export { DshHostReadAdapter, WorktreeRemoteService, createWorktreeRemoteProjection, } from './host/index.js';
|
|
18
|
+
export { DshHostReadAdapter, WorktreeRemoteService, createWorktreeRemoteProjection, createDshWorktreePermissionAdapter, createWorktreePermissionManager, } from './host/index.js';
|
|
18
19
|
// bundle patch 以默认导出装载同一个 Cordis 服务;命名导出保留给显式 Host 组合。
|
|
19
20
|
// The bundle patch loads the same Cordis service through the default export; the named
|
|
20
21
|
// export remains available to explicit Host compositions.
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAmClE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,iCAAiC,EACjC,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,aAAa,GACd,MAAM,qBAAqB,CAAC;AAW7B,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAM/E,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,8BAA8B,EAC9B,kCAAkC,EAClC,+BAA+B,GAChC,MAAM,iBAAiB,CAAC;AAQzB,uDAAuD;AACvD,uFAAuF;AACvF,0DAA0D;AAC1D,OAAO,EAAE,qBAAqB,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worktree-permission.d.ts","sourceRoot":"","sources":["../../src/manage/worktree-permission.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,cAAc,oCAAoC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worktree-permission.js","sourceRoot":"","sources":["../../src/manage/worktree-permission.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,cAAc,oCAAoC,CAAC"}
|
package/lib/typert.host.js
CHANGED
|
@@ -10,6 +10,8 @@ const JsonValueRemoteCodec$schema6 = z.union([z.literal(null), z.string(), z.num
|
|
|
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
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
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()])
|
|
13
|
+
const JsonValueRemoteCodec$schema10 = z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema10)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema10)).readonly()])
|
|
14
|
+
const JsonValueRemoteCodec$schema11 = z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema11)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema11)).readonly()])
|
|
13
15
|
const _cerbur_clutch_dsh_worktree_worktreeManager_bindSession_parameter_0$schema = z.object({
|
|
14
16
|
'workspaceId': z.string().readonly(),
|
|
15
17
|
'worktreeId': z.string().readonly(),
|
|
@@ -18,9 +20,9 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_bindSession_parameter_0$schema
|
|
|
18
20
|
const _cerbur_clutch_dsh_worktree_worktreeManager_bindSession_result$schema = z.union([z.object({
|
|
19
21
|
'ok': z.literal(false).readonly(),
|
|
20
22
|
'error': z.object({
|
|
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(),
|
|
23
|
+
'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"), z.literal("WORKTREE_PERMISSION_BINDING_REQUIRED")]).readonly(),
|
|
22
24
|
'message': z.string().readonly(),
|
|
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$
|
|
25
|
+
'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(),
|
|
24
26
|
}).readonly(),
|
|
25
27
|
}), z.object({
|
|
26
28
|
'ok': z.literal(true).readonly(),
|
|
@@ -39,9 +41,9 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_createWorktree_parameter_0$sch
|
|
|
39
41
|
const _cerbur_clutch_dsh_worktree_worktreeManager_createWorktree_result$schema = z.union([z.object({
|
|
40
42
|
'ok': z.literal(false).readonly(),
|
|
41
43
|
'error': z.object({
|
|
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(),
|
|
44
|
+
'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"), z.literal("WORKTREE_PERMISSION_BINDING_REQUIRED")]).readonly(),
|
|
43
45
|
'message': z.string().readonly(),
|
|
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$
|
|
46
|
+
'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(),
|
|
45
47
|
}).readonly(),
|
|
46
48
|
}), z.object({
|
|
47
49
|
'ok': z.literal(true).readonly(),
|
|
@@ -55,6 +57,31 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_createWorktree_result$schema =
|
|
|
55
57
|
'health': z.union([z.undefined(), z.literal("ready"), z.literal("repair")]).readonly().optional(),
|
|
56
58
|
}).readonly(),
|
|
57
59
|
})])
|
|
60
|
+
const _cerbur_clutch_dsh_worktree_worktreeManager_ensureWorktreePermission_parameter_0$schema = z.object({
|
|
61
|
+
'workspaceId': z.string().readonly(),
|
|
62
|
+
'worktreeId': z.string().readonly(),
|
|
63
|
+
'sessionId': z.string().readonly(),
|
|
64
|
+
'binding': z.union([z.undefined(), z.literal("active"), z.literal("detached"), z.literal("main"), z.literal("unbound")]).readonly().optional(),
|
|
65
|
+
'confirmed': z.union([z.undefined(), z.literal(false), z.literal(true)]).readonly().optional(),
|
|
66
|
+
})
|
|
67
|
+
const _cerbur_clutch_dsh_worktree_worktreeManager_ensureWorktreePermission_result$schema = z.union([z.object({
|
|
68
|
+
'ok': z.literal(false).readonly(),
|
|
69
|
+
'error': z.object({
|
|
70
|
+
'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"), z.literal("WORKTREE_PERMISSION_BINDING_REQUIRED")]).readonly(),
|
|
71
|
+
'message': z.string().readonly(),
|
|
72
|
+
'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$schema10)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema10)).readonly()])).readonly().readonly(),
|
|
73
|
+
}).readonly(),
|
|
74
|
+
}), z.object({
|
|
75
|
+
'ok': z.literal(true).readonly(),
|
|
76
|
+
'value': z.object({
|
|
77
|
+
'status': z.union([z.literal("full-applied"), z.literal("already-full"), z.literal("confirmation-required"), z.literal("fallback-workspace-write"), z.literal("user-restricted"), z.literal("unverified"), z.literal("normalized-workspace-write"), z.literal("no-op")]).readonly(),
|
|
78
|
+
'preset': z.union([z.undefined(), z.string()]).readonly().optional(),
|
|
79
|
+
'sandboxMode': z.union([z.undefined(), z.literal("read-only"), z.literal("workspace-write"), z.literal("danger-full-access")]).readonly().optional(),
|
|
80
|
+
'approvalPolicy': z.union([z.undefined(), z.literal("ask"), z.literal("never")]).readonly().optional(),
|
|
81
|
+
'sessionIds': z.union([z.undefined(), z.array(z.string())]).readonly().optional(),
|
|
82
|
+
'retryable': z.boolean().readonly(),
|
|
83
|
+
}).readonly(),
|
|
84
|
+
})])
|
|
58
85
|
const _cerbur_clutch_dsh_worktree_worktreeManager_importWorktree_parameter_0$schema = z.object({
|
|
59
86
|
'workspaceId': z.string().readonly(),
|
|
60
87
|
'absolutePath': z.string().readonly(),
|
|
@@ -62,9 +89,9 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_importWorktree_parameter_0$sch
|
|
|
62
89
|
const _cerbur_clutch_dsh_worktree_worktreeManager_importWorktree_result$schema = z.union([z.object({
|
|
63
90
|
'ok': z.literal(false).readonly(),
|
|
64
91
|
'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(),
|
|
92
|
+
'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"), z.literal("WORKTREE_PERMISSION_BINDING_REQUIRED")]).readonly(),
|
|
66
93
|
'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$
|
|
94
|
+
'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(),
|
|
68
95
|
}).readonly(),
|
|
69
96
|
}), z.object({
|
|
70
97
|
'ok': z.literal(true).readonly(),
|
|
@@ -86,9 +113,9 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_insertWorktreeBefore_parameter
|
|
|
86
113
|
const _cerbur_clutch_dsh_worktree_worktreeManager_insertWorktreeBefore_result$schema = z.union([z.object({
|
|
87
114
|
'ok': z.literal(false).readonly(),
|
|
88
115
|
'error': z.object({
|
|
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(),
|
|
116
|
+
'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"), z.literal("WORKTREE_PERMISSION_BINDING_REQUIRED")]).readonly(),
|
|
90
117
|
'message': z.string().readonly(),
|
|
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$
|
|
118
|
+
'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(),
|
|
92
119
|
}).readonly(),
|
|
93
120
|
}), z.object({
|
|
94
121
|
'ok': z.literal(true).readonly(),
|
|
@@ -100,9 +127,9 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_listBindings_parameter_0$schem
|
|
|
100
127
|
const _cerbur_clutch_dsh_worktree_worktreeManager_listBindings_result$schema = z.union([z.object({
|
|
101
128
|
'ok': z.literal(false).readonly(),
|
|
102
129
|
'error': z.object({
|
|
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(),
|
|
130
|
+
'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"), z.literal("WORKTREE_PERMISSION_BINDING_REQUIRED")]).readonly(),
|
|
104
131
|
'message': z.string().readonly(),
|
|
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$
|
|
132
|
+
'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(),
|
|
106
133
|
}).readonly(),
|
|
107
134
|
}), z.object({
|
|
108
135
|
'ok': z.literal(true).readonly(),
|
|
@@ -119,9 +146,9 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_listBranches_parameter_0$schem
|
|
|
119
146
|
const _cerbur_clutch_dsh_worktree_worktreeManager_listBranches_result$schema = z.union([z.object({
|
|
120
147
|
'ok': z.literal(false).readonly(),
|
|
121
148
|
'error': z.object({
|
|
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(),
|
|
149
|
+
'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"), z.literal("WORKTREE_PERMISSION_BINDING_REQUIRED")]).readonly(),
|
|
123
150
|
'message': z.string().readonly(),
|
|
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$
|
|
151
|
+
'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(),
|
|
125
152
|
}).readonly(),
|
|
126
153
|
}), z.object({
|
|
127
154
|
'ok': z.literal(true).readonly(),
|
|
@@ -137,9 +164,9 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_listImportCandidates_parameter
|
|
|
137
164
|
const _cerbur_clutch_dsh_worktree_worktreeManager_listImportCandidates_result$schema = z.union([z.object({
|
|
138
165
|
'ok': z.literal(false).readonly(),
|
|
139
166
|
'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(),
|
|
167
|
+
'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"), z.literal("WORKTREE_PERMISSION_BINDING_REQUIRED")]).readonly(),
|
|
141
168
|
'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$
|
|
169
|
+
'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(),
|
|
143
170
|
}).readonly(),
|
|
144
171
|
}), z.object({
|
|
145
172
|
'ok': z.literal(true).readonly(),
|
|
@@ -154,9 +181,9 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_listWorktrees_parameter_0$sche
|
|
|
154
181
|
const _cerbur_clutch_dsh_worktree_worktreeManager_listWorktrees_result$schema = z.union([z.object({
|
|
155
182
|
'ok': z.literal(false).readonly(),
|
|
156
183
|
'error': z.object({
|
|
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(),
|
|
184
|
+
'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"), z.literal("WORKTREE_PERMISSION_BINDING_REQUIRED")]).readonly(),
|
|
158
185
|
'message': z.string().readonly(),
|
|
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$
|
|
186
|
+
'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(),
|
|
160
187
|
}).readonly(),
|
|
161
188
|
}), z.object({
|
|
162
189
|
'ok': z.literal(true).readonly(),
|
|
@@ -170,6 +197,28 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_listWorktrees_result$schema =
|
|
|
170
197
|
'health': z.union([z.undefined(), z.literal("ready"), z.literal("repair")]).readonly().optional(),
|
|
171
198
|
})).readonly(),
|
|
172
199
|
})])
|
|
200
|
+
const _cerbur_clutch_dsh_worktree_worktreeManager_normalizeDetachedWorktreePermissions_parameter_0$schema = z.object({
|
|
201
|
+
'workspaceId': z.string().readonly(),
|
|
202
|
+
'worktreeId': z.string().readonly(),
|
|
203
|
+
})
|
|
204
|
+
const _cerbur_clutch_dsh_worktree_worktreeManager_normalizeDetachedWorktreePermissions_result$schema = z.union([z.object({
|
|
205
|
+
'ok': z.literal(false).readonly(),
|
|
206
|
+
'error': z.object({
|
|
207
|
+
'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"), z.literal("WORKTREE_PERMISSION_BINDING_REQUIRED")]).readonly(),
|
|
208
|
+
'message': z.string().readonly(),
|
|
209
|
+
'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$schema11)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema11)).readonly()])).readonly().readonly(),
|
|
210
|
+
}).readonly(),
|
|
211
|
+
}), z.object({
|
|
212
|
+
'ok': z.literal(true).readonly(),
|
|
213
|
+
'value': z.object({
|
|
214
|
+
'status': z.union([z.literal("full-applied"), z.literal("already-full"), z.literal("confirmation-required"), z.literal("fallback-workspace-write"), z.literal("user-restricted"), z.literal("unverified"), z.literal("normalized-workspace-write"), z.literal("no-op")]).readonly(),
|
|
215
|
+
'preset': z.union([z.undefined(), z.string()]).readonly().optional(),
|
|
216
|
+
'sandboxMode': z.union([z.undefined(), z.literal("read-only"), z.literal("workspace-write"), z.literal("danger-full-access")]).readonly().optional(),
|
|
217
|
+
'approvalPolicy': z.union([z.undefined(), z.literal("ask"), z.literal("never")]).readonly().optional(),
|
|
218
|
+
'sessionIds': z.union([z.undefined(), z.array(z.string())]).readonly().optional(),
|
|
219
|
+
'retryable': z.boolean().readonly(),
|
|
220
|
+
}).readonly(),
|
|
221
|
+
})])
|
|
173
222
|
const _cerbur_clutch_dsh_worktree_worktreeManager_removeWorktree_parameter_0$schema = z.object({
|
|
174
223
|
'workspaceId': z.string().readonly(),
|
|
175
224
|
'worktreeId': z.string().readonly(),
|
|
@@ -177,9 +226,9 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_removeWorktree_parameter_0$sch
|
|
|
177
226
|
const _cerbur_clutch_dsh_worktree_worktreeManager_removeWorktree_result$schema = z.union([z.object({
|
|
178
227
|
'ok': z.literal(false).readonly(),
|
|
179
228
|
'error': z.object({
|
|
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(),
|
|
229
|
+
'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"), z.literal("WORKTREE_PERMISSION_BINDING_REQUIRED")]).readonly(),
|
|
181
230
|
'message': z.string().readonly(),
|
|
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$
|
|
231
|
+
'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(),
|
|
183
232
|
}).readonly(),
|
|
184
233
|
}), z.object({
|
|
185
234
|
'ok': z.literal(true).readonly(),
|
|
@@ -215,7 +264,7 @@ export const TYPERT = {
|
|
|
215
264
|
typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
|
|
216
265
|
schema: _cerbur_clutch_dsh_worktree_worktreeManager_bindSession_result$schema,
|
|
217
266
|
},
|
|
218
|
-
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":
|
|
267
|
+
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":167,"column":3},
|
|
219
268
|
},
|
|
220
269
|
{
|
|
221
270
|
id: '@cerbur/clutch-dsh-worktree#worktreeManager/createWorktree',
|
|
@@ -240,7 +289,32 @@ export const TYPERT = {
|
|
|
240
289
|
typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
|
|
241
290
|
schema: _cerbur_clutch_dsh_worktree_worktreeManager_createWorktree_result$schema,
|
|
242
291
|
},
|
|
243
|
-
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":
|
|
292
|
+
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":126,"column":3},
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
id: '@cerbur/clutch-dsh-worktree#worktreeManager/ensureWorktreePermission',
|
|
296
|
+
service: 'worktreeManager',
|
|
297
|
+
namespace: 'worktreeManager',
|
|
298
|
+
method: 'ensureWorktreePermission',
|
|
299
|
+
invocation: { kind: 'direct' },
|
|
300
|
+
parameters: [
|
|
301
|
+
{
|
|
302
|
+
name: 'input',
|
|
303
|
+
wire: 'input',
|
|
304
|
+
source: 'json',
|
|
305
|
+
codec: {
|
|
306
|
+
mode: 'strict',
|
|
307
|
+
typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreePermissionRequest',
|
|
308
|
+
schema: _cerbur_clutch_dsh_worktree_worktreeManager_ensureWorktreePermission_parameter_0$schema,
|
|
309
|
+
},
|
|
310
|
+
},
|
|
311
|
+
],
|
|
312
|
+
result: {
|
|
313
|
+
mode: 'strict',
|
|
314
|
+
typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
|
|
315
|
+
schema: _cerbur_clutch_dsh_worktree_worktreeManager_ensureWorktreePermission_result$schema,
|
|
316
|
+
},
|
|
317
|
+
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":176,"column":3},
|
|
244
318
|
},
|
|
245
319
|
{
|
|
246
320
|
id: '@cerbur/clutch-dsh-worktree#worktreeManager/importWorktree',
|
|
@@ -265,7 +339,7 @@ export const TYPERT = {
|
|
|
265
339
|
typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
|
|
266
340
|
schema: _cerbur_clutch_dsh_worktree_worktreeManager_importWorktree_result$schema,
|
|
267
341
|
},
|
|
268
|
-
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":
|
|
342
|
+
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":135,"column":3},
|
|
269
343
|
},
|
|
270
344
|
{
|
|
271
345
|
id: '@cerbur/clutch-dsh-worktree#worktreeManager/insertWorktreeBefore',
|
|
@@ -290,7 +364,7 @@ export const TYPERT = {
|
|
|
290
364
|
typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
|
|
291
365
|
schema: _cerbur_clutch_dsh_worktree_worktreeManager_insertWorktreeBefore_result$schema,
|
|
292
366
|
},
|
|
293
|
-
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":
|
|
367
|
+
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":151,"column":3},
|
|
294
368
|
},
|
|
295
369
|
{
|
|
296
370
|
id: '@cerbur/clutch-dsh-worktree#worktreeManager/listBindings',
|
|
@@ -315,7 +389,7 @@ export const TYPERT = {
|
|
|
315
389
|
typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
|
|
316
390
|
schema: _cerbur_clutch_dsh_worktree_worktreeManager_listBindings_result$schema,
|
|
317
391
|
},
|
|
318
|
-
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":
|
|
392
|
+
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":160,"column":3},
|
|
319
393
|
},
|
|
320
394
|
{
|
|
321
395
|
id: '@cerbur/clutch-dsh-worktree#worktreeManager/listBranches',
|
|
@@ -340,7 +414,7 @@ export const TYPERT = {
|
|
|
340
414
|
typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
|
|
341
415
|
schema: _cerbur_clutch_dsh_worktree_worktreeManager_listBranches_result$schema,
|
|
342
416
|
},
|
|
343
|
-
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":
|
|
417
|
+
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":119,"column":3},
|
|
344
418
|
},
|
|
345
419
|
{
|
|
346
420
|
id: '@cerbur/clutch-dsh-worktree#worktreeManager/listImportCandidates',
|
|
@@ -365,7 +439,7 @@ export const TYPERT = {
|
|
|
365
439
|
typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
|
|
366
440
|
schema: _cerbur_clutch_dsh_worktree_worktreeManager_listImportCandidates_result$schema,
|
|
367
441
|
},
|
|
368
|
-
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":
|
|
442
|
+
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":112,"column":3},
|
|
369
443
|
},
|
|
370
444
|
{
|
|
371
445
|
id: '@cerbur/clutch-dsh-worktree#worktreeManager/listWorktrees',
|
|
@@ -390,7 +464,32 @@ export const TYPERT = {
|
|
|
390
464
|
typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
|
|
391
465
|
schema: _cerbur_clutch_dsh_worktree_worktreeManager_listWorktrees_result$schema,
|
|
392
466
|
},
|
|
393
|
-
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":
|
|
467
|
+
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":105,"column":3},
|
|
468
|
+
},
|
|
469
|
+
{
|
|
470
|
+
id: '@cerbur/clutch-dsh-worktree#worktreeManager/normalizeDetachedWorktreePermissions',
|
|
471
|
+
service: 'worktreeManager',
|
|
472
|
+
namespace: 'worktreeManager',
|
|
473
|
+
method: 'normalizeDetachedWorktreePermissions',
|
|
474
|
+
invocation: { kind: 'direct' },
|
|
475
|
+
parameters: [
|
|
476
|
+
{
|
|
477
|
+
name: 'input',
|
|
478
|
+
wire: 'input',
|
|
479
|
+
source: 'json',
|
|
480
|
+
codec: {
|
|
481
|
+
mode: 'strict',
|
|
482
|
+
typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreePermissionNormalizationRequest',
|
|
483
|
+
schema: _cerbur_clutch_dsh_worktree_worktreeManager_normalizeDetachedWorktreePermissions_parameter_0$schema,
|
|
484
|
+
},
|
|
485
|
+
},
|
|
486
|
+
],
|
|
487
|
+
result: {
|
|
488
|
+
mode: 'strict',
|
|
489
|
+
typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
|
|
490
|
+
schema: _cerbur_clutch_dsh_worktree_worktreeManager_normalizeDetachedWorktreePermissions_result$schema,
|
|
491
|
+
},
|
|
492
|
+
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":183,"column":3},
|
|
394
493
|
},
|
|
395
494
|
{
|
|
396
495
|
id: '@cerbur/clutch-dsh-worktree#worktreeManager/removeWorktree',
|
|
@@ -415,7 +514,7 @@ export const TYPERT = {
|
|
|
415
514
|
typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
|
|
416
515
|
schema: _cerbur_clutch_dsh_worktree_worktreeManager_removeWorktree_result$schema,
|
|
417
516
|
},
|
|
418
|
-
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":
|
|
517
|
+
sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":143,"column":3},
|
|
419
518
|
},
|
|
420
519
|
],
|
|
421
520
|
model: {
|