@cerbur/clutch-dsh-worktree 0.1.21 → 0.1.23
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 +49 -38
- package/README.zh.md +42 -28
- package/cordis.patch.yml +0 -8
- package/lib/client/WorktreeSurface.d.ts.map +1 -1
- package/lib/client/WorktreeSurface.js +5 -8
- package/lib/client/WorktreeSurface.js.map +1 -1
- package/lib/client/dashboard/dashboard-sessions.d.ts +1 -1
- package/lib/client/dashboard/dashboard-sessions.d.ts.map +1 -1
- package/lib/client/dashboard/dashboard-sessions.js +3 -2
- package/lib/client/dashboard/dashboard-sessions.js.map +1 -1
- package/lib/client/entry.d.ts.map +1 -1
- package/lib/client/entry.js +33 -40
- package/lib/client/entry.js.map +1 -1
- package/lib/client/index.d.ts +0 -3
- package/lib/client/index.d.ts.map +1 -1
- package/lib/client/index.js +0 -2
- package/lib/client/index.js.map +1 -1
- package/lib/client/locales.d.ts +2 -26
- package/lib/client/locales.d.ts.map +1 -1
- package/lib/client/locales.js +2 -26
- package/lib/client/locales.js.map +1 -1
- package/lib/client/restart-notice.d.ts +1 -4
- package/lib/client/restart-notice.d.ts.map +1 -1
- package/lib/client/restart-notice.js +0 -20
- package/lib/client/restart-notice.js.map +1 -1
- package/lib/client/session/local-session.d.ts +27 -0
- package/lib/client/session/local-session.d.ts.map +1 -0
- package/lib/client/session/local-session.js +61 -0
- package/lib/client/session/local-session.js.map +1 -0
- package/lib/client/session/session-rename.d.ts.map +1 -1
- package/lib/client/session/session-rename.js.map +1 -1
- package/lib/client/session/virtual-workspace-membership.d.ts +1 -0
- package/lib/client/session/virtual-workspace-membership.d.ts.map +1 -1
- package/lib/client/session/virtual-workspace-membership.js +4 -0
- package/lib/client/session/virtual-workspace-membership.js.map +1 -1
- package/lib/client/session/worktree-session.d.ts +15 -36
- package/lib/client/session/worktree-session.d.ts.map +1 -1
- package/lib/client/session/worktree-session.js +124 -152
- package/lib/client/session/worktree-session.js.map +1 -1
- package/lib/client/steer/steer-activity.d.ts.map +1 -1
- package/lib/client/steer/steer-activity.js +2 -1
- package/lib/client/steer/steer-activity.js.map +1 -1
- package/lib/client/surface/actions/lifecycle-commands.d.ts.map +1 -1
- package/lib/client/surface/actions/lifecycle-commands.js +1 -28
- package/lib/client/surface/actions/lifecycle-commands.js.map +1 -1
- package/lib/client/surface/actions/useDashboardBatchManage.d.ts.map +1 -1
- package/lib/client/surface/actions/useDashboardBatchManage.js +0 -13
- package/lib/client/surface/actions/useDashboardBatchManage.js.map +1 -1
- package/lib/client/surface/actions/useLifecycleActions.d.ts +4 -6
- package/lib/client/surface/actions/useLifecycleActions.d.ts.map +1 -1
- package/lib/client/surface/actions/useLifecycleActions.js +4 -47
- package/lib/client/surface/actions/useLifecycleActions.js.map +1 -1
- package/lib/client/surface/actions/useSessionActions.d.ts +1 -1
- package/lib/client/surface/actions/useSessionActions.d.ts.map +1 -1
- package/lib/client/surface/actions/useSessionActions.js +11 -20
- package/lib/client/surface/actions/useSessionActions.js.map +1 -1
- package/lib/client/surface/actions/useWorktreeRegistration.d.ts.map +1 -1
- package/lib/client/surface/actions/useWorktreeRegistration.js +7 -14
- package/lib/client/surface/actions/useWorktreeRegistration.js.map +1 -1
- package/lib/client/surface/actions/worktree-cleanup-flow.d.ts +1 -2
- package/lib/client/surface/actions/worktree-cleanup-flow.d.ts.map +1 -1
- package/lib/client/surface/actions/worktree-cleanup-flow.js +1 -1
- package/lib/client/surface/actions/worktree-cleanup-flow.js.map +1 -1
- package/lib/client/surface/components/LifecycleDialogs.d.ts +1 -1
- package/lib/client/surface/components/LifecycleDialogs.d.ts.map +1 -1
- package/lib/client/surface/components/RestartToast.d.ts.map +1 -1
- package/lib/client/surface/components/RestartToast.js +1 -2
- package/lib/client/surface/components/RestartToast.js.map +1 -1
- package/lib/client/surface/components/SurfaceContent.d.ts +2 -2
- package/lib/client/surface/components/SurfaceContent.d.ts.map +1 -1
- package/lib/client/surface/components/SurfaceContent.js +15 -28
- package/lib/client/surface/components/SurfaceContent.js.map +1 -1
- package/lib/client/surface/components/WorkspaceTree.d.ts +1 -1
- package/lib/client/surface/components/WorkspaceTree.d.ts.map +1 -1
- package/lib/client/surface/components/WorkspaceTree.js +3 -2
- package/lib/client/surface/components/WorkspaceTree.js.map +1 -1
- package/lib/client/surface/selectors.d.ts +3 -1
- package/lib/client/surface/selectors.d.ts.map +1 -1
- package/lib/client/surface/selectors.js +15 -0
- package/lib/client/surface/selectors.js.map +1 -1
- package/lib/client/surface/shared.d.ts +1 -7
- package/lib/client/surface/shared.d.ts.map +1 -1
- package/lib/client/surface/shared.js +0 -5
- package/lib/client/surface/shared.js.map +1 -1
- package/lib/client/surface/state/useLifecycleState.d.ts +0 -1
- package/lib/client/surface/state/useLifecycleState.d.ts.map +1 -1
- package/lib/client/surface/state/useLifecycleState.js +0 -3
- package/lib/client/surface/state/useLifecycleState.js.map +1 -1
- package/lib/client/surface/state/useSessionOrdering.d.ts.map +1 -1
- package/lib/client/surface/state/useSessionOrdering.js +1 -1
- package/lib/client/surface/state/useSessionOrdering.js.map +1 -1
- package/lib/client/surface/state/useSurfaceRefresh.d.ts +4 -3
- package/lib/client/surface/state/useSurfaceRefresh.d.ts.map +1 -1
- package/lib/client/surface/state/useSurfaceRefresh.js +178 -98
- package/lib/client/surface/state/useSurfaceRefresh.js.map +1 -1
- package/lib/client/surface/state/useSurfaceSources.d.ts +1 -6
- package/lib/client/surface/state/useSurfaceSources.d.ts.map +1 -1
- package/lib/client/surface/state/useSurfaceSources.js +11 -23
- package/lib/client/surface/state/useSurfaceSources.js.map +1 -1
- package/lib/client/surface/types.d.ts +15 -36
- package/lib/client/surface/types.d.ts.map +1 -1
- package/lib/client/view/worktree-error-copy.d.ts +0 -2
- package/lib/client/view/worktree-error-copy.d.ts.map +1 -1
- package/lib/client/view/worktree-error-copy.js +0 -17
- package/lib/client/view/worktree-error-copy.js.map +1 -1
- package/lib/client/view/worktree-view-errors.d.ts +0 -10
- package/lib/client/view/worktree-view-errors.d.ts.map +1 -1
- package/lib/client/view/worktree-view-errors.js +1 -22
- package/lib/client/view/worktree-view-errors.js.map +1 -1
- package/lib/client/view/worktree-view-read.d.ts +12 -3
- package/lib/client/view/worktree-view-read.d.ts.map +1 -1
- package/lib/client/view/worktree-view-read.js +137 -6
- package/lib/client/view/worktree-view-read.js.map +1 -1
- package/lib/client/worktree-connection.d.ts +6 -4
- package/lib/client/worktree-connection.d.ts.map +1 -1
- package/lib/client/worktree-connection.js +24 -4
- package/lib/client/worktree-connection.js.map +1 -1
- package/lib/client.js +3752 -3822
- package/lib/client.js.map +1 -1
- package/lib/contract/index.contract.js +4 -2
- package/lib/contract/index.contract.js.map +1 -1
- package/lib/contract/index.d.ts +27 -6
- package/lib/contract/index.d.ts.map +1 -1
- package/lib/contract/index.js +5 -4
- package/lib/contract/index.js.map +1 -1
- package/lib/contract/session-flow.d.ts +29 -0
- package/lib/contract/session-flow.d.ts.map +1 -0
- package/lib/contract/session-flow.js +2 -0
- package/lib/contract/session-flow.js.map +1 -0
- package/lib/host/dsh-read-adapter.d.ts +14 -0
- package/lib/host/dsh-read-adapter.d.ts.map +1 -1
- package/lib/host/dsh-read-adapter.js +30 -3
- package/lib/host/dsh-read-adapter.js.map +1 -1
- package/lib/host/index.d.ts +0 -4
- package/lib/host/index.d.ts.map +1 -1
- package/lib/host/index.js +0 -2
- 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 +11 -7
- package/lib/host/remote.js.map +1 -1
- package/lib/host/service.d.ts +15 -3
- package/lib/host/service.d.ts.map +1 -1
- package/lib/host/service.js +69 -37
- package/lib/host/service.js.map +1 -1
- package/lib/host/session-creation.d.ts +12 -0
- package/lib/host/session-creation.d.ts.map +1 -0
- package/lib/host/session-creation.js +56 -0
- package/lib/host/session-creation.js.map +1 -0
- package/lib/index.d.ts +4 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/manage/manager-navigation.d.ts +11 -0
- package/lib/manage/manager-navigation.d.ts.map +1 -0
- package/lib/manage/manager-navigation.js +88 -0
- package/lib/manage/manager-navigation.js.map +1 -0
- package/lib/manage/manager-sessions.d.ts +2 -2
- package/lib/manage/manager-sessions.d.ts.map +1 -1
- package/lib/manage/manager-sessions.js +30 -16
- package/lib/manage/manager-sessions.js.map +1 -1
- package/lib/manage/manager-support.d.ts +2 -1
- package/lib/manage/manager-support.d.ts.map +1 -1
- package/lib/manage/manager-support.js +21 -37
- package/lib/manage/manager-support.js.map +1 -1
- package/lib/manage/manager-worktrees.d.ts +3 -1
- package/lib/manage/manager-worktrees.d.ts.map +1 -1
- package/lib/manage/manager-worktrees.js +41 -19
- 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 +35 -37
- package/lib/manage/manager.js.map +1 -1
- package/lib/provider/generated-path.d.ts +7 -0
- package/lib/provider/generated-path.d.ts.map +1 -0
- package/lib/provider/generated-path.js +57 -0
- package/lib/provider/generated-path.js.map +1 -0
- package/lib/provider/sidecar/sidecar-schema.d.ts.map +1 -1
- package/lib/provider/sidecar/sidecar-schema.js +7 -1
- package/lib/provider/sidecar/sidecar-schema.js.map +1 -1
- package/lib/provider/transaction/operations/create.d.ts.map +1 -1
- package/lib/provider/transaction/operations/create.js +2 -0
- package/lib/provider/transaction/operations/create.js.map +1 -1
- package/lib/provider/transaction/support/path-safety.d.ts.map +1 -1
- package/lib/provider/transaction/support/path-safety.js +5 -43
- package/lib/provider/transaction/support/path-safety.js.map +1 -1
- package/lib/provider/types.d.ts +2 -0
- package/lib/provider/types.d.ts.map +1 -1
- package/lib/provider/types.js.map +1 -1
- package/lib/tool/create-session.d.ts +11 -0
- package/lib/tool/create-session.d.ts.map +1 -0
- package/lib/tool/create-session.js +19 -0
- package/lib/tool/create-session.js.map +1 -0
- package/lib/tool/dispatch-session.d.ts.map +1 -1
- package/lib/tool/dispatch-session.js +9 -5
- package/lib/tool/dispatch-session.js.map +1 -1
- package/lib/tool/native-session.d.ts +9 -0
- package/lib/tool/native-session.d.ts.map +1 -1
- package/lib/tool/native-session.js +47 -1
- package/lib/tool/native-session.js.map +1 -1
- package/lib/typert.host.js +338 -120
- package/lib/typert.remote-client.d.ts +9 -5
- package/lib/typert.remote-client.d.ts.map +1 -1
- package/lib/typert.remote-client.js +338 -120
- package/package.json +1 -5
- package/lib/client/permission/worktree-permission-icon.d.ts +0 -7
- package/lib/client/permission/worktree-permission-icon.d.ts.map +0 -1
- package/lib/client/permission/worktree-permission-icon.js +0 -119
- package/lib/client/permission/worktree-permission-icon.js.map +0 -1
- package/lib/client/permission/worktree-permission.d.ts +0 -21
- package/lib/client/permission/worktree-permission.d.ts.map +0 -1
- package/lib/client/permission/worktree-permission.js +0 -78
- package/lib/client/permission/worktree-permission.js.map +0 -1
- package/lib/client/surface/components/AccessConfirmation.d.ts +0 -9
- package/lib/client/surface/components/AccessConfirmation.d.ts.map +0 -1
- package/lib/client/surface/components/AccessConfirmation.js +0 -18
- package/lib/client/surface/components/AccessConfirmation.js.map +0 -1
- package/lib/contract/worktree-permission.d.ts +0 -75
- package/lib/contract/worktree-permission.d.ts.map +0 -1
- package/lib/contract/worktree-permission.js +0 -32
- package/lib/contract/worktree-permission.js.map +0 -1
- package/lib/host/permission-preset-append.d.ts +0 -15
- package/lib/host/permission-preset-append.d.ts.map +0 -1
- package/lib/host/permission-preset-append.js +0 -63
- package/lib/host/permission-preset-append.js.map +0 -1
- package/lib/host/worktree-permission-manager.d.ts +0 -14
- package/lib/host/worktree-permission-manager.d.ts.map +0 -1
- package/lib/host/worktree-permission-manager.js +0 -115
- package/lib/host/worktree-permission-manager.js.map +0 -1
- package/lib/host/worktree-permission.d.ts +0 -51
- package/lib/host/worktree-permission.d.ts.map +0 -1
- package/lib/host/worktree-permission.js +0 -251
- package/lib/host/worktree-permission.js.map +0 -1
- package/lib/manage/worktree-permission.d.ts +0 -3
- package/lib/manage/worktree-permission.d.ts.map +0 -1
- package/lib/manage/worktree-permission.js +0 -3
- package/lib/manage/worktree-permission.js.map +0 -1
|
@@ -25,26 +25,6 @@ export class RestartNotice {
|
|
|
25
25
|
if (this.reason === reason)
|
|
26
26
|
this.dismiss();
|
|
27
27
|
};
|
|
28
|
-
/** Only this domain result establishes that the named preset is missing. */
|
|
29
|
-
reportPermissionResult(result) {
|
|
30
|
-
if (this.disposed)
|
|
31
|
-
return;
|
|
32
|
-
if (result.status === 'fallback-workspace-write' ||
|
|
33
|
-
result.status === 'full-applied' || result.status === 'already-full') {
|
|
34
|
-
// These native results are newer evidence of a live Host. A pending probe
|
|
35
|
-
// must not overwrite them with an earlier missing-Host response.
|
|
36
|
-
this.pending?.abort();
|
|
37
|
-
if (this.reason === 'host-unavailable')
|
|
38
|
-
this.dismiss();
|
|
39
|
-
}
|
|
40
|
-
if (result.status === 'fallback-workspace-write') {
|
|
41
|
-
this.show('permission-preset-unavailable');
|
|
42
|
-
}
|
|
43
|
-
else if (this.reason === 'permission-preset-unavailable' &&
|
|
44
|
-
(result.status === 'full-applied' || result.status === 'already-full')) {
|
|
45
|
-
this.dismiss();
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
28
|
async check() {
|
|
49
29
|
if (this.disposed)
|
|
50
30
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restart-notice.js","sourceRoot":"","sources":["../../src/client/restart-notice.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"restart-notice.js","sourceRoot":"","sources":["../../src/client/restart-notice.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { WorktreeManager } from '../../contract/index.js';
|
|
2
|
+
import { type WorktreeSessionSnapshotReader } from './worktree-session.js';
|
|
3
|
+
/** Local blanks must not reuse Sessions whose original cwd hides a Worktree binding. */
|
|
4
|
+
export declare function createLocalSessionConnector(options: {
|
|
5
|
+
manager: Pick<WorktreeManager, 'listBindings'>;
|
|
6
|
+
sessions: WorktreeSessionSnapshotReader;
|
|
7
|
+
workspace(id: string): {
|
|
8
|
+
readonly path: string;
|
|
9
|
+
readonly sessionIds: readonly string[];
|
|
10
|
+
} | undefined;
|
|
11
|
+
archivedSessionIds(): readonly string[];
|
|
12
|
+
canReuseSession(input: {
|
|
13
|
+
workspaceId: string;
|
|
14
|
+
sessionId: string;
|
|
15
|
+
}): Promise<boolean>;
|
|
16
|
+
createSession(input: {
|
|
17
|
+
workspaceId: string;
|
|
18
|
+
cwd: string;
|
|
19
|
+
sessionId?: string;
|
|
20
|
+
}): Promise<string>;
|
|
21
|
+
refreshSession(sessionId: string): Promise<void>;
|
|
22
|
+
openSession(sessionId: string): void;
|
|
23
|
+
}): {
|
|
24
|
+
create(workspaceId: string): Promise<void>;
|
|
25
|
+
dispose(): void;
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=local-session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-session.d.ts","sourceRoot":"","sources":["../../../src/client/session/local-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAA8B,KAAK,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAEvG,wFAAwF;AACxF,wBAAgB,2BAA2B,CAAC,OAAO,EAAE;IACnD,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IAC/C,QAAQ,EAAE,6BAA6B,CAAC;IACxC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,GAAG,SAAS,CAAC;IACrG,kBAAkB,IAAI,SAAS,MAAM,EAAE,CAAC;IACxC,eAAe,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrF,aAAa,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;wBAKuB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;;EA8C7C"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { WorktreeSessionActionError } from './worktree-session.js';
|
|
2
|
+
/** Local blanks must not reuse Sessions whose original cwd hides a Worktree binding. */
|
|
3
|
+
export function createLocalSessionConnector(options) {
|
|
4
|
+
const pending = new Map();
|
|
5
|
+
let disposed = false;
|
|
6
|
+
let generation = 0;
|
|
7
|
+
return {
|
|
8
|
+
create(workspaceId) {
|
|
9
|
+
const existing = pending.get(workspaceId);
|
|
10
|
+
if (existing)
|
|
11
|
+
return existing;
|
|
12
|
+
const ticket = ++generation;
|
|
13
|
+
const run = async () => {
|
|
14
|
+
const bindings = await options.manager.listBindings({ workspaceId });
|
|
15
|
+
if (disposed)
|
|
16
|
+
return;
|
|
17
|
+
const workspace = options.workspace(workspaceId);
|
|
18
|
+
const snapshot = options.sessions.getSnapshot();
|
|
19
|
+
if (!workspace || snapshot.phase !== 'ready') {
|
|
20
|
+
throw new WorktreeSessionActionError('WORKTREE_VIEW_UNAVAILABLE', 'Local Session source unavailable', true);
|
|
21
|
+
}
|
|
22
|
+
// Detached bindings also retain their native effective cwd. Never reset it
|
|
23
|
+
// or reclassify those Sessions as Local merely because their header matches.
|
|
24
|
+
const excluded = new Set(bindings.map((binding) => binding.sessionId));
|
|
25
|
+
const archived = new Set(options.archivedSessionIds());
|
|
26
|
+
let blank;
|
|
27
|
+
for (const id of snapshot.ids) {
|
|
28
|
+
const summary = snapshot.byId[id];
|
|
29
|
+
if (summary?.blank && summary.cwd === workspace.path && workspace.sessionIds.includes(id)
|
|
30
|
+
&& !excluded.has(id) && !archived.has(id) &&
|
|
31
|
+
await options.canReuseSession({ workspaceId, sessionId: id })) {
|
|
32
|
+
blank = id;
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
if (disposed)
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
if (disposed)
|
|
39
|
+
return;
|
|
40
|
+
const sessionId = await options.createSession({ workspaceId, cwd: workspace.path,
|
|
41
|
+
...(blank === undefined ? {} : { sessionId: blank }) });
|
|
42
|
+
if (blank !== undefined && blank !== sessionId) {
|
|
43
|
+
void options.refreshSession(blank).catch(() => undefined);
|
|
44
|
+
}
|
|
45
|
+
if (!disposed && generation === ticket) {
|
|
46
|
+
if (!(await options.canReuseSession({ workspaceId, sessionId }))) {
|
|
47
|
+
throw new WorktreeSessionActionError('SESSION_CWD_MISMATCH', 'Local Session directory changed', true);
|
|
48
|
+
}
|
|
49
|
+
if (!disposed && generation === ticket)
|
|
50
|
+
options.openSession(sessionId);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
const promise = run().finally(() => { if (pending.get(workspaceId) === promise)
|
|
54
|
+
pending.delete(workspaceId); });
|
|
55
|
+
pending.set(workspaceId, promise);
|
|
56
|
+
return promise;
|
|
57
|
+
},
|
|
58
|
+
dispose() { disposed = true; generation += 1; pending.clear(); },
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=local-session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-session.js","sourceRoot":"","sources":["../../../src/client/session/local-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-rename.d.ts","sourceRoot":"","sources":["../../../src/client/session/session-rename.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"session-rename.d.ts","sourceRoot":"","sources":["../../../src/client/session/session-rename.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAEhE,KAAK,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAKpC,yFAAyF;AACzF,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAiBf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-rename.js","sourceRoot":"","sources":["../../../src/client/session/session-rename.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session-rename.js","sourceRoot":"","sources":["../../../src/client/session/session-rename.ts"],"names":[],"mappings":"AAUA,yFAAyF;AACzF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAkB,EAClB,SAAoB,EACpB,KAAa;IAEb,MAAM,kBAAkB,GAAG,QAA8B,CAAC;IAC1D,IAAI,OAAO,kBAAkB,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAC3C,SAAS,EACT,EAAE,MAAM,EAAE,oBAAoB,EAAE,EAChC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IAED,kFAAkF;IAClF,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC/D,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,SAAS,GAAG,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -9,6 +9,7 @@ export interface WorkspaceSnapshotSource<T extends {
|
|
|
9
9
|
export interface VirtualWorkspaceMembership {
|
|
10
10
|
ensure(binding: VirtualWorkspaceBinding): void;
|
|
11
11
|
sync(bindings: readonly VirtualWorkspaceBinding[]): void;
|
|
12
|
+
syncWorkspace(workspaceId: string, bindings: readonly VirtualWorkspaceBinding[]): void;
|
|
12
13
|
removeSession(sessionId: string): void;
|
|
13
14
|
dispose(): void;
|
|
14
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"virtual-workspace-membership.d.ts","sourceRoot":"","sources":["../../../src/client/session/virtual-workspace-membership.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAC;AAE9B,2EAA2E;AAC3E,MAAM,WAAW,uBAAuB,CACtC,CAAC,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE;IAEhD,WAAW,IAAI,CAAC,CAAC;IACjB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC/C,IAAI,CAAC,QAAQ,EAAE,SAAS,uBAAuB,EAAE,GAAG,IAAI,CAAC;IACzD,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,OAAO,IAAI,IAAI,CAAC;CACjB;AAqBD,KAAK,0BAA0B,GAAG;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS;QACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;KACxC,EAAE,CAAC;CACL,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC9C,CAAC,SAAS,0BAA0B,EACpC,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,0BAA0B,
|
|
1
|
+
{"version":3,"file":"virtual-workspace-membership.d.ts","sourceRoot":"","sources":["../../../src/client/session/virtual-workspace-membership.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAC;AAE9B,2EAA2E;AAC3E,MAAM,WAAW,uBAAuB,CACtC,CAAC,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE;IAEhD,WAAW,IAAI,CAAC,CAAC;IACjB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC/C,IAAI,CAAC,QAAQ,EAAE,SAAS,uBAAuB,EAAE,GAAG,IAAI,CAAC;IACzD,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,uBAAuB,EAAE,GAAG,IAAI,CAAC;IACvF,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,OAAO,IAAI,IAAI,CAAC;CACjB;AAqBD,KAAK,0BAA0B,GAAG;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS;QACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;KACxC,EAAE,CAAC;CACL,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC9C,CAAC,SAAS,0BAA0B,EACpC,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,0BAA0B,CAgI9D"}
|
|
@@ -110,6 +110,10 @@ export function createVirtualWorkspaceMembership(list) {
|
|
|
110
110
|
sync([...bindings.filter((current) => current.sessionId !== binding.sessionId), binding]);
|
|
111
111
|
},
|
|
112
112
|
sync,
|
|
113
|
+
syncWorkspace(workspaceId, nextBindings) {
|
|
114
|
+
sync([...bindings.filter((binding) => binding.workspaceId !== workspaceId),
|
|
115
|
+
...nextBindings.filter((binding) => binding.workspaceId === workspaceId)]);
|
|
116
|
+
},
|
|
113
117
|
removeSession(sessionId) {
|
|
114
118
|
sync(bindings.filter((binding) => binding.sessionId !== sessionId));
|
|
115
119
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"virtual-workspace-membership.js","sourceRoot":"","sources":["../../../src/client/session/virtual-workspace-membership.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,GAElC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"virtual-workspace-membership.js","sourceRoot":"","sources":["../../../src/client/session/virtual-workspace-membership.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { SessionBinding, WorktreeHealth, WorktreeManager,
|
|
1
|
+
import type { SessionBinding, WorktreeHealth, WorktreeManager, WorktreeStatus, WorktreeSessionState } from '../../contract/index.js';
|
|
2
|
+
import type { WorktreeViewReader } from '../view/worktree-view-read.js';
|
|
2
3
|
import { type CreateSessionForWorktreeInput } from '../view/worktree-view.js';
|
|
3
|
-
export { WorktreeSessionPermissionError } from '../view/worktree-view-errors.js';
|
|
4
4
|
export interface WorktreeSessionSummary {
|
|
5
5
|
readonly blank?: boolean;
|
|
6
6
|
readonly cwd?: string;
|
|
@@ -55,51 +55,32 @@ export interface WorktreeSessionSnapshotReader {
|
|
|
55
55
|
getSnapshot(): WorktreeSessionListSnapshot;
|
|
56
56
|
}
|
|
57
57
|
export interface WorktreeSessionConnectorOptions {
|
|
58
|
-
readonly manager: Pick<WorktreeManager, 'listWorktrees' | 'listBindings' | 'bindSession'>;
|
|
58
|
+
readonly manager: Pick<WorktreeManager, 'listWorktrees' | 'listBindings' | 'bindSession' | 'readWorktreeSessionState'>;
|
|
59
|
+
readonly viewReader?: Pick<WorktreeViewReader, 'beginSessionChange'>;
|
|
59
60
|
readonly sessions: WorktreeSessionSnapshotReader;
|
|
60
61
|
readonly archivedSessionIds: () => readonly string[];
|
|
61
62
|
readonly createSession: (input: {
|
|
62
63
|
readonly cwd: string;
|
|
63
64
|
}) => Promise<string>;
|
|
65
|
+
/** The packaged Host owns native Workspace creation, directory entry and binding. */
|
|
66
|
+
readonly createBoundSession?: (input: CreateSessionForWorktreeInput & {
|
|
67
|
+
readonly requestId: string;
|
|
68
|
+
}) => Promise<{
|
|
69
|
+
readonly sessionId: string;
|
|
70
|
+
readonly bound: boolean;
|
|
71
|
+
readonly error?: string;
|
|
72
|
+
readonly state?: WorktreeSessionState;
|
|
73
|
+
}>;
|
|
64
74
|
readonly ensureSessionWorkspace: (workspaceId: string, sessionId: string) => void;
|
|
65
75
|
readonly openSession: (sessionId: string) => void;
|
|
66
|
-
readonly permission?: Pick<WorktreePermissionManager, 'ensureWorktreePermission'>;
|
|
67
|
-
readonly confirmFullAccess?: (input: {
|
|
68
|
-
readonly workspaceId: string;
|
|
69
|
-
readonly worktreeId: string;
|
|
70
|
-
readonly sessionId: string;
|
|
71
|
-
readonly cwd: string;
|
|
72
|
-
}) => boolean | Promise<boolean>;
|
|
73
|
-
readonly onPermissionResult?: (input: {
|
|
74
|
-
readonly workspaceId: string;
|
|
75
|
-
readonly worktreeId: string;
|
|
76
|
-
readonly sessionId: string;
|
|
77
|
-
readonly cwd: string;
|
|
78
|
-
}, result: WorktreePermissionResult) => void;
|
|
79
76
|
}
|
|
80
77
|
export interface WorktreeSessionConnector {
|
|
81
|
-
create(input: CreateSessionForWorktreeInput): Promise<string>;
|
|
78
|
+
create(input: CreateSessionForWorktreeInput, beforeOpen?: (sessionId: string, projectionReady?: boolean) => Promise<void>): Promise<string>;
|
|
82
79
|
dispose(): void;
|
|
83
80
|
}
|
|
84
81
|
export interface PendingWorktreeSessionBinding extends CreateSessionForWorktreeInput {
|
|
85
82
|
readonly sessionId: string;
|
|
86
|
-
readonly permissionRequired?: boolean;
|
|
87
83
|
}
|
|
88
|
-
interface EnsureWorktreeSessionPermissionInput {
|
|
89
|
-
readonly permission?: Pick<WorktreePermissionManager, 'ensureWorktreePermission'>;
|
|
90
|
-
readonly confirmFullAccess?: WorktreeSessionConnectorOptions['confirmFullAccess'];
|
|
91
|
-
readonly onPermissionResult?: WorktreeSessionConnectorOptions['onPermissionResult'];
|
|
92
|
-
readonly sessionId: string;
|
|
93
|
-
readonly workspaceId: string;
|
|
94
|
-
readonly worktreeId: string;
|
|
95
|
-
readonly cwd: string;
|
|
96
|
-
readonly createdSession: boolean;
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Keep the confirmation and second permission call in one place for new,
|
|
100
|
-
* reused, and retried Sessions. The Host still validates the relation.
|
|
101
|
-
*/
|
|
102
|
-
export declare function ensureWorktreeSessionPermission(input: EnsureWorktreeSessionPermissionInput): Promise<void>;
|
|
103
84
|
export declare function resolveWorktreeSessionAction(input: ResolveWorktreeSessionActionInput): WorktreeSessionAction;
|
|
104
85
|
export declare function retryWorktreeSessionBinding(input: {
|
|
105
86
|
readonly manager: Pick<WorktreeManager, 'bindSession'>;
|
|
@@ -107,9 +88,7 @@ export declare function retryWorktreeSessionBinding(input: {
|
|
|
107
88
|
readonly archived: boolean;
|
|
108
89
|
readonly ensureSessionWorkspace: (workspaceId: string, sessionId: string) => void;
|
|
109
90
|
readonly openSession: (sessionId: string) => void;
|
|
110
|
-
readonly
|
|
111
|
-
readonly confirmFullAccess?: WorktreeSessionConnectorOptions['confirmFullAccess'];
|
|
112
|
-
readonly onPermissionResult?: WorktreeSessionConnectorOptions['onPermissionResult'];
|
|
91
|
+
readonly beforeOpen?: (sessionId: string) => Promise<void>;
|
|
113
92
|
}): Promise<string>;
|
|
114
93
|
/**
|
|
115
94
|
* Browser-only Worktree `+` connector. It owns the read/resolve/bind/create/open
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-session.d.ts","sourceRoot":"","sources":["../../../src/client/session/worktree-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"worktree-session.d.ts","sourceRoot":"","sources":["../../../src/client/session/worktree-session.ts"],"names":[],"mappings":"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"}
|