@cerbur/clutch-dsh-worktree 0.1.20 → 0.1.22
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 -33
- package/README.zh.md +40 -25
- package/cordis.patch.yml +0 -8
- package/lib/client/WorktreeSurface.d.ts.map +1 -1
- package/lib/client/WorktreeSurface.js +5 -4
- package/lib/client/WorktreeSurface.js.map +1 -1
- package/lib/client/dashboard/BatchManageWorktrees.d.ts +12 -0
- package/lib/client/dashboard/BatchManageWorktrees.d.ts.map +1 -0
- package/lib/client/dashboard/BatchManageWorktrees.js +77 -0
- package/lib/client/dashboard/BatchManageWorktrees.js.map +1 -0
- package/lib/client/dashboard/WorktreeDashboard.d.ts +3 -1
- package/lib/client/dashboard/WorktreeDashboard.d.ts.map +1 -1
- package/lib/client/dashboard/WorktreeDashboard.js +14 -10
- package/lib/client/dashboard/WorktreeDashboard.js.map +1 -1
- package/lib/client/dashboard/batch-manage.d.ts +12 -0
- package/lib/client/dashboard/batch-manage.d.ts.map +1 -0
- package/lib/client/dashboard/batch-manage.js +34 -0
- package/lib/client/dashboard/batch-manage.js.map +1 -0
- package/lib/client/entry.d.ts.map +1 -1
- package/lib/client/entry.js +22 -41
- 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 +36 -26
- package/lib/client/locales.d.ts.map +1 -1
- package/lib/client/locales.js +36 -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/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 +9 -0
- package/lib/client/surface/actions/useDashboardBatchManage.d.ts.map +1 -0
- package/lib/client/surface/actions/useDashboardBatchManage.js +92 -0
- package/lib/client/surface/actions/useDashboardBatchManage.js.map +1 -0
- package/lib/client/surface/actions/useLifecycleActions.d.ts +3 -5
- 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 +13 -24
- package/lib/client/surface/components/SurfaceContent.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 +1 -2
- package/lib/client/surface/state/useLifecycleState.d.ts.map +1 -1
- package/lib/client/surface/state/useLifecycleState.js +3 -6
- package/lib/client/surface/state/useLifecycleState.js.map +1 -1
- package/lib/client/surface/state/useSurfaceRefresh.d.ts +2 -1
- package/lib/client/surface/state/useSurfaceRefresh.d.ts.map +1 -1
- package/lib/client/surface/state/useSurfaceRefresh.js +66 -9
- 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 +3 -22
- package/lib/client/surface/state/useSurfaceSources.js.map +1 -1
- package/lib/client/surface/types.d.ts +8 -31
- 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 +3 -1
- package/lib/client/view/worktree-view-read.d.ts.map +1 -1
- package/lib/client/view/worktree-view-read.js +42 -1
- package/lib/client/view/worktree-view-read.js.map +1 -1
- package/lib/client/worktree-connection.d.ts +5 -4
- package/lib/client/worktree-connection.d.ts.map +1 -1
- package/lib/client/worktree-connection.js +6 -4
- package/lib/client/worktree-connection.js.map +1 -1
- package/lib/client.js +3726 -3542
- package/lib/client.js.map +1 -1
- package/lib/contract/index.contract.js +2 -2
- package/lib/contract/index.contract.js.map +1 -1
- package/lib/contract/index.d.ts +13 -6
- package/lib/contract/index.d.ts.map +1 -1
- package/lib/contract/index.js +4 -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 +6 -7
- package/lib/host/remote.js.map +1 -1
- package/lib/host/service.d.ts +12 -3
- package/lib/host/service.d.ts.map +1 -1
- package/lib/host/service.js +63 -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-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 +5 -1
- package/lib/manage/manager.d.ts.map +1 -1
- package/lib/manage/manager.js +30 -4
- 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 +236 -122
- package/lib/typert.remote-client.d.ts +7 -5
- package/lib/typert.remote-client.d.ts.map +1 -1
- package/lib/typert.remote-client.js +236 -122
- 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
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { useCallback, useRef } from 'react';
|
|
2
|
+
import { canManageWorktree, sameBatchTarget } from '../../dashboard/batch-manage.js';
|
|
3
|
+
import { bindingIdsFor } from '../selectors.js';
|
|
4
|
+
import { runWorktreeCleanupFlow } from './worktree-cleanup-flow.js';
|
|
5
|
+
/** Batch callers confirm once; each item keeps single-item commit and follow-up semantics. */
|
|
6
|
+
export function useDashboardBatchManage(input) {
|
|
7
|
+
const latest = useRef(input);
|
|
8
|
+
latest.current = input;
|
|
9
|
+
const manager = input.props.manager;
|
|
10
|
+
const reader = input.reader;
|
|
11
|
+
const busy = useRef();
|
|
12
|
+
return useCallback(async (action, confirmed, ownerCurrent = () => true) => {
|
|
13
|
+
const { props, read, mutation, expansion, session, lifecycleState } = latest.current;
|
|
14
|
+
const conflict = () => ({ code: 'WORKTREE_STATE_CONFLICT', message: '', retryable: true,
|
|
15
|
+
details: { workspaceId: confirmed.workspaceId, worktreeId: confirmed.worktreeId } });
|
|
16
|
+
if (busy.current?.isCurrent() || !manager || props.manager !== manager || latest.current.reader !== reader || !ownerCurrent())
|
|
17
|
+
throw conflict();
|
|
18
|
+
const guard = lifecycleState.cleanupGuard.current;
|
|
19
|
+
const generation = guard.begin();
|
|
20
|
+
const lifecycleCurrent = () => latest.current.props.manager === manager && latest.current.reader === reader &&
|
|
21
|
+
latest.current.lifecycleState.cleanupGuard.current === guard && guard.isCurrent(generation);
|
|
22
|
+
const operation = { isCurrent: lifecycleCurrent };
|
|
23
|
+
busy.current = operation;
|
|
24
|
+
mutation.setActionPending(true);
|
|
25
|
+
try {
|
|
26
|
+
// Refresh publishes React state asynchronously. Read the shared ready cache
|
|
27
|
+
// so the next item sees the new revision even before React commits that state.
|
|
28
|
+
const view = await reader.read(confirmed.workspaceId);
|
|
29
|
+
const record = view.worktrees.find((value) => value.worktreeId === confirmed.worktreeId);
|
|
30
|
+
if (!ownerCurrent() || !lifecycleCurrent() ||
|
|
31
|
+
!read.readStateRef.current.views.some((value) => value.workspaceId === confirmed.workspaceId) ||
|
|
32
|
+
!record || !sameBatchTarget(record, confirmed) || !canManageWorktree(record, action))
|
|
33
|
+
throw conflict();
|
|
34
|
+
const target = { workspaceId: record.workspaceId, worktreeId: record.worktreeId, mutationToken: record.mutationToken };
|
|
35
|
+
const refresh = () => read.refresh({ scope: { kind: 'workspace', workspaceId: record.workspaceId }, preserveCurrent: true });
|
|
36
|
+
if (action === 'archive') {
|
|
37
|
+
await manager.removeWorktree(target);
|
|
38
|
+
if (!lifecycleCurrent())
|
|
39
|
+
return;
|
|
40
|
+
expansion.suppressCurrentSessionReveal('archived:' + record.workspaceId);
|
|
41
|
+
}
|
|
42
|
+
else if (action === 'forget') {
|
|
43
|
+
await manager.forgetWorktree(target);
|
|
44
|
+
if (!lifecycleCurrent())
|
|
45
|
+
return;
|
|
46
|
+
// Beginning this operation already retired older cleanup/retry callbacks.
|
|
47
|
+
props.onWorktreeForgotten?.({ workspaceId: record.workspaceId, worktreeId: record.worktreeId,
|
|
48
|
+
sessionIds: bindingIdsFor(view?.bindings ?? [], record.worktreeId) });
|
|
49
|
+
if (session.pendingSessionBinding?.worktreeId === record.worktreeId)
|
|
50
|
+
session.setPendingSessionBinding(undefined);
|
|
51
|
+
expansion.clearSessionGroups(['worktree:' + record.worktreeId]);
|
|
52
|
+
read.setReadState((current) => ({ ...current, views: current.views.map((value) => value.workspaceId !== record.workspaceId ? value : {
|
|
53
|
+
...value, worktrees: value.worktrees.filter((item) => item.worktreeId !== record.worktreeId),
|
|
54
|
+
bindings: value.bindings.filter((item) => item.worktreeId !== record.worktreeId),
|
|
55
|
+
}) }));
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
await runWorktreeCleanupFlow({
|
|
59
|
+
clean: () => manager.cleanWorktree(target),
|
|
60
|
+
isCurrent: lifecycleCurrent,
|
|
61
|
+
onCommitted: () => read.setReadState((current) => ({ ...current, views: current.views.map((value) => value.workspaceId !== record.workspaceId ? value : {
|
|
62
|
+
...value, worktrees: value.worktrees.map((item) => item.worktreeId !== record.worktreeId ? item : {
|
|
63
|
+
...item, status: 'removed', diskCleanup: 'completed', health: 'cleaned', mutationToken: undefined,
|
|
64
|
+
}),
|
|
65
|
+
bindings: value.bindings.map((item) => item.worktreeId !== record.worktreeId ? item : { ...item, status: 'detached' }),
|
|
66
|
+
}) })),
|
|
67
|
+
refresh,
|
|
68
|
+
onFollowUpError: () => { },
|
|
69
|
+
});
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
// The mutation committed. A failed projection read must not invite its replay.
|
|
73
|
+
if (lifecycleCurrent())
|
|
74
|
+
await refresh().catch(() => { });
|
|
75
|
+
}
|
|
76
|
+
catch (cause) {
|
|
77
|
+
// A rejected Git transaction can roll its journal back and still advance
|
|
78
|
+
// the Workspace revision. Retire those tokens before the next batch item.
|
|
79
|
+
if (lifecycleCurrent()) {
|
|
80
|
+
await read.refresh({ scope: { kind: 'workspace', workspaceId: confirmed.workspaceId }, preserveCurrent: true }).catch(() => { });
|
|
81
|
+
}
|
|
82
|
+
throw cause;
|
|
83
|
+
}
|
|
84
|
+
finally {
|
|
85
|
+
if (busy.current === operation)
|
|
86
|
+
busy.current = undefined;
|
|
87
|
+
if (lifecycleCurrent())
|
|
88
|
+
mutation.setActionPending(false);
|
|
89
|
+
}
|
|
90
|
+
}, [manager, reader]);
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=useDashboardBatchManage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDashboardBatchManage.js","sourceRoot":"","sources":["../../../../src/client/surface/actions/useDashboardBatchManage.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,17 +8,15 @@ import type { useSurfaceRefresh } from '../state/useSurfaceRefresh.js';
|
|
|
8
8
|
import type { useSurfaceSources } from '../state/useSurfaceSources.js';
|
|
9
9
|
type Input = {
|
|
10
10
|
read: Pick<ReturnType<typeof useSurfaceRefresh>, 'viewByWorkspace' | 'readStateRef' | 'refresh' | 'setReadState'>;
|
|
11
|
-
lifecycleState: Pick<ReturnType<typeof useLifecycleState>, 'worktreeCleanDisk' | 'worktreeForget' | '
|
|
12
|
-
source: Pick<ReturnType<typeof useSurfaceSources>, 'mode' | '
|
|
13
|
-
props: Pick<WorktreeSurfaceProps, '
|
|
11
|
+
lifecycleState: Pick<ReturnType<typeof useLifecycleState>, 'worktreeCleanDisk' | 'worktreeForget' | 'cleanupGuard' | 'setWorktreeBranchAdoption' | 'worktreeBranchAdoption' | 'branchAdoptionGuard'>;
|
|
12
|
+
source: Pick<ReturnType<typeof useSurfaceSources>, 'mode' | 'workspaceIdsRef'>;
|
|
13
|
+
props: Pick<WorktreeSurfaceProps, 'manager' | 't' | 'viewReader'>;
|
|
14
14
|
mutation: Pick<ReturnType<typeof useSurfaceMutation>, 'actionPending' | 'setActionPending' | 'runMutation' | 'setActionError'>;
|
|
15
15
|
};
|
|
16
16
|
export declare function useLifecycleActions({ read, lifecycleState, source, props, mutation }: Input): {
|
|
17
17
|
latestLifecycleTarget: (target: WorktreeRecord | undefined) => WorktreeRecord | undefined;
|
|
18
18
|
cleanDiskTarget: WorktreeRecord | undefined;
|
|
19
19
|
forgetTarget: WorktreeRecord | undefined;
|
|
20
|
-
permissionRetryTarget: WorktreeRecord | undefined;
|
|
21
|
-
retryCleanupPermissions: () => Promise<void>;
|
|
22
20
|
recoveryAction: (error: WorktreeViewError | undefined) => NonNullable<WorktreeNotification["actions"]>[number] | null;
|
|
23
21
|
branchActions: (record: WorktreeRecord) => {
|
|
24
22
|
onAdoptBranch: (() => void) | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLifecycleActions.d.ts","sourceRoot":"","sources":["../../../../src/client/surface/actions/useLifecycleActions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,CACR,UAAU,CAAC,OAAO,iBAAiB,CAAC,EACpC,iBAAiB,GAAG,cAAc,GAAG,SAAS,GAAG,cAAc,CAChE,CAAC;IACF,cAAc,EAAE,IAAI,CAClB,UAAU,CAAC,OAAO,iBAAiB,CAAC,EAClC,mBAAmB,GACnB,gBAAgB,GAChB,
|
|
1
|
+
{"version":3,"file":"useLifecycleActions.d.ts","sourceRoot":"","sources":["../../../../src/client/surface/actions/useLifecycleActions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,CACR,UAAU,CAAC,OAAO,iBAAiB,CAAC,EACpC,iBAAiB,GAAG,cAAc,GAAG,SAAS,GAAG,cAAc,CAChE,CAAC;IACF,cAAc,EAAE,IAAI,CAClB,UAAU,CAAC,OAAO,iBAAiB,CAAC,EAClC,mBAAmB,GACnB,gBAAgB,GAChB,cAAc,GACd,2BAA2B,GAC3B,wBAAwB,GACxB,qBAAqB,CACxB,CAAC;IACF,MAAM,EAAE,IAAI,CACV,UAAU,CAAC,OAAO,iBAAiB,CAAC,EACpC,MAAM,GAAG,iBAAiB,CAC3B,CAAC;IACF,KAAK,EAAE,IAAI,CACT,oBAAoB,EACpB,SAAS,GAAG,GAAG,GAAG,YAAY,CAC/B,CAAC;IACF,QAAQ,EAAE,IAAI,CACZ,UAAU,CAAC,OAAO,kBAAkB,CAAC,EACrC,eAAe,GAAG,kBAAkB,GAAG,aAAa,GAAG,gBAAgB,CACxE,CAAC;CACH,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK;oCAYnD,cAAc,GAAG,SAAS;;;4BASxD,iBAAiB,GAAG,SAAS,KACnC,WAAW,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI;4BAwB/B,cAAc;;;;iCAmBL,OAAO,CAAC,IAAI,CAAC;0BAiCxB,cAAc,KAAG,MAAM;EAarD"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { mergeWorktreeView, toWorktreeViewError, } from '../../view/worktree-view.js';
|
|
2
2
|
export function useLifecycleActions({ read, lifecycleState, source, props, mutation }) {
|
|
3
|
-
const { viewByWorkspace,
|
|
4
|
-
const { worktreeCleanDisk, worktreeForget,
|
|
5
|
-
const {
|
|
6
|
-
const {
|
|
3
|
+
const { viewByWorkspace, refresh, setReadState } = read;
|
|
4
|
+
const { worktreeCleanDisk, worktreeForget, setWorktreeBranchAdoption, worktreeBranchAdoption, branchAdoptionGuard, } = lifecycleState;
|
|
5
|
+
const { workspaceIdsRef } = source;
|
|
6
|
+
const { manager, t, viewReader } = props;
|
|
7
7
|
const { actionPending, setActionPending, runMutation, setActionError } = mutation;
|
|
8
8
|
const latestLifecycleTarget = (target) => target === undefined
|
|
9
9
|
? undefined
|
|
@@ -12,47 +12,6 @@ export function useLifecycleActions({ read, lifecycleState, source, props, mutat
|
|
|
12
12
|
?.worktrees.find((record) => record.worktreeId === target.worktreeId);
|
|
13
13
|
const cleanDiskTarget = latestLifecycleTarget(worktreeCleanDisk);
|
|
14
14
|
const forgetTarget = latestLifecycleTarget(worktreeForget);
|
|
15
|
-
const permissionRetryTarget = mode === 'worktree' &&
|
|
16
|
-
permissionNoticeSnapshot?.result.retryable === true &&
|
|
17
|
-
permission?.normalizeDetachedWorktreePermissions !== undefined
|
|
18
|
-
? viewByWorkspace
|
|
19
|
-
.get(permissionNoticeSnapshot.workspaceId)
|
|
20
|
-
?.worktrees.find((record) => record.worktreeId === permissionNoticeSnapshot.worktreeId &&
|
|
21
|
-
record.diskCleanup === 'completed')
|
|
22
|
-
: undefined;
|
|
23
|
-
const retryCleanupPermissions = async () => {
|
|
24
|
-
if (!permissionRetryTarget || !permission || actionPending || permissionRetryPending.current)
|
|
25
|
-
return;
|
|
26
|
-
const target = {
|
|
27
|
-
workspaceId: permissionRetryTarget.workspaceId,
|
|
28
|
-
worktreeId: permissionRetryTarget.worktreeId,
|
|
29
|
-
};
|
|
30
|
-
const notice = permissionNoticeSnapshot;
|
|
31
|
-
const generation = cleanupGuard.current.begin();
|
|
32
|
-
const isCurrent = () => cleanupGuard.current.isCurrent(generation) &&
|
|
33
|
-
permissionNotice?.getSnapshot() === notice &&
|
|
34
|
-
readStateRef.current.views.some((view) => view.workspaceId === target.workspaceId &&
|
|
35
|
-
view.worktrees.some((record) => record.worktreeId === target.worktreeId && record.diskCleanup === 'completed'));
|
|
36
|
-
if (!isCurrent())
|
|
37
|
-
return;
|
|
38
|
-
permissionRetryPending.current = true;
|
|
39
|
-
setActionPending(true);
|
|
40
|
-
try {
|
|
41
|
-
const result = await permission.normalizeDetachedWorktreePermissions(target);
|
|
42
|
-
if (isCurrent())
|
|
43
|
-
onPermissionNotice?.(target, result);
|
|
44
|
-
}
|
|
45
|
-
catch {
|
|
46
|
-
if (isCurrent())
|
|
47
|
-
onPermissionNotice?.(target, { status: 'unverified', retryable: true });
|
|
48
|
-
}
|
|
49
|
-
finally {
|
|
50
|
-
if (cleanupGuard.current.isCurrent(generation)) {
|
|
51
|
-
permissionRetryPending.current = false;
|
|
52
|
-
setActionPending(false);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
15
|
const recoveryAction = (error) => {
|
|
57
16
|
const workspaceId = error?.details?.workspaceId;
|
|
58
17
|
if (!manager ||
|
|
@@ -138,8 +97,6 @@ export function useLifecycleActions({ read, lifecycleState, source, props, mutat
|
|
|
138
97
|
latestLifecycleTarget,
|
|
139
98
|
cleanDiskTarget,
|
|
140
99
|
forgetTarget,
|
|
141
|
-
permissionRetryTarget,
|
|
142
|
-
retryCleanupPermissions,
|
|
143
100
|
recoveryAction,
|
|
144
101
|
branchActions,
|
|
145
102
|
refreshBranchAdoption,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLifecycleActions.js","sourceRoot":"","sources":["../../../../src/client/surface/actions/useLifecycleActions.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GAEpB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"useLifecycleActions.js","sourceRoot":"","sources":["../../../../src/client/surface/actions/useLifecycleActions.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import type { useSurfaceRefresh } from '../state/useSurfaceRefresh.js';
|
|
|
5
5
|
import type { useSurfaceSources } from '../state/useSurfaceSources.js';
|
|
6
6
|
type Input = {
|
|
7
7
|
source: Pick<ReturnType<typeof useSurfaceSources>, 'archivedSessionIds'>;
|
|
8
|
-
props: Pick<WorktreeSurfaceProps, 'createSessionForWorktree' | 'manager' | 'ensureSessionWorkspace' | '
|
|
8
|
+
props: Pick<WorktreeSurfaceProps, 'createSessionForWorktree' | 'manager' | 'ensureSessionWorkspace' | 'openSession' | 'retryForkSession'>;
|
|
9
9
|
mutation: Pick<ReturnType<typeof useSurfaceMutation>, 'setActionError' | 'setActionPending'>;
|
|
10
10
|
read: Pick<ReturnType<typeof useSurfaceRefresh>, 'refresh'>;
|
|
11
11
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSessionActions.d.ts","sourceRoot":"","sources":["../../../../src/client/surface/actions/useSessionActions.tsx"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"useSessionActions.d.ts","sourceRoot":"","sources":["../../../../src/client/surface/actions/useSessionActions.tsx"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,6BAA6B,EACnC,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,KAAK,KAAK,GAAG;IACX,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,EAAE,oBAAoB,CAAC,CAAC;IACzE,KAAK,EAAE,IAAI,CACT,oBAAoB,EAClB,0BAA0B,GAC1B,SAAS,GACT,wBAAwB,GACxB,aAAa,GACb,kBAAkB,CACrB,CAAC;IACF,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,EAAE,gBAAgB,GAAG,kBAAkB,CAAC,CAAC;IAC7F,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,EAAE,SAAS,CAAC,CAAC;CAC7D,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK;;;;;;2BAgBpC,6BAA6B,KAAG,OAAO,CAAC,IAAI,CAAC;+BA4B3C,OAAO,CAAC,IAAI,CAAC;4BA8Bd,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;wCAWhB,MAAM,aAAa,MAAM,KAAG,IAAI;EAe5E"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { useState } from 'react';
|
|
2
2
|
import { openWorktreeSession } from '../../view/navigation.js';
|
|
3
3
|
import { retryWorktreeSessionBinding } from '../../session/worktree-session.js';
|
|
4
|
-
import { toWorktreeViewError, WorktreeSessionBindingError,
|
|
4
|
+
import { toWorktreeViewError, WorktreeSessionBindingError, } from '../../view/worktree-view.js';
|
|
5
5
|
import { toNativeWorktreeViewError } from '../shared.js';
|
|
6
6
|
export function useSessionActions({ source, props, mutation, read }) {
|
|
7
7
|
const { archivedSessionIds } = source;
|
|
8
|
-
const { createSessionForWorktree: createSessionCallback, manager, ensureSessionWorkspace,
|
|
8
|
+
const { createSessionForWorktree: createSessionCallback, manager, ensureSessionWorkspace, openSession, retryForkSession, } = props;
|
|
9
9
|
const { setActionError, setActionPending } = mutation;
|
|
10
10
|
const { refresh } = read;
|
|
11
11
|
const [pendingSessionBinding, setPendingSessionBinding] = useState();
|
|
@@ -25,24 +25,17 @@ export function useSessionActions({ source, props, mutation, read }) {
|
|
|
25
25
|
setActionError(undefined);
|
|
26
26
|
setPendingSessionBinding(undefined);
|
|
27
27
|
try {
|
|
28
|
-
await createSessionCallback(input)
|
|
29
|
-
|
|
28
|
+
await createSessionCallback(input, (sessionId, projectionReady) => refresh({
|
|
29
|
+
alreadyInvalidated: projectionReady,
|
|
30
30
|
scope: { kind: 'workspace', workspaceId: input.workspaceId },
|
|
31
31
|
preserveCurrent: true,
|
|
32
|
-
|
|
32
|
+
openingSession: { sessionId, worktreeId: input.worktreeId },
|
|
33
|
+
}));
|
|
33
34
|
}
|
|
34
35
|
catch (error) {
|
|
35
36
|
if (error instanceof WorktreeSessionBindingError) {
|
|
36
37
|
setPendingSessionBinding({ ...input, sessionId: error.sessionId, error: toWorktreeViewError(error) });
|
|
37
38
|
}
|
|
38
|
-
if (error instanceof WorktreeSessionPermissionError && error.retryable) {
|
|
39
|
-
setPendingSessionBinding({
|
|
40
|
-
...input,
|
|
41
|
-
sessionId: error.sessionId,
|
|
42
|
-
permissionRequired: true,
|
|
43
|
-
error: toWorktreeViewError(error),
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
39
|
setActionError(toWorktreeViewError(error));
|
|
47
40
|
}
|
|
48
41
|
finally {
|
|
@@ -64,16 +57,14 @@ export function useSessionActions({ source, props, mutation, read }) {
|
|
|
64
57
|
ensureSessionWorkspace: (workspaceId, sessionId) => {
|
|
65
58
|
ensureSessionWorkspace?.(workspaceId, sessionId);
|
|
66
59
|
},
|
|
67
|
-
permission,
|
|
68
|
-
confirmFullAccess,
|
|
69
|
-
onPermissionResult,
|
|
70
60
|
openSession,
|
|
61
|
+
beforeOpen: (sessionId) => refresh({
|
|
62
|
+
scope: { kind: 'workspace', workspaceId: pending.workspaceId },
|
|
63
|
+
preserveCurrent: true,
|
|
64
|
+
openingSession: { sessionId, worktreeId: pending.worktreeId },
|
|
65
|
+
}),
|
|
71
66
|
});
|
|
72
67
|
setPendingSessionBinding(undefined);
|
|
73
|
-
await refresh({
|
|
74
|
-
scope: { kind: 'workspace', workspaceId: pending.workspaceId },
|
|
75
|
-
preserveCurrent: true,
|
|
76
|
-
});
|
|
77
68
|
}
|
|
78
69
|
catch (error) {
|
|
79
70
|
setPendingSessionBinding({ ...pending, error: toWorktreeViewError(error) });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSessionActions.js","sourceRoot":"","sources":["../../../../src/client/surface/actions/useSessionActions.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EACL,mBAAmB,EACnB,2BAA2B,
|
|
1
|
+
{"version":3,"file":"useSessionActions.js","sourceRoot":"","sources":["../../../../src/client/surface/actions/useSessionActions.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWorktreeRegistration.d.ts","sourceRoot":"","sources":["../../../../src/client/surface/actions/useWorktreeRegistration.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"useWorktreeRegistration.d.ts","sourceRoot":"","sources":["../../../../src/client/surface/actions/useWorktreeRegistration.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAUjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EACV,aAAa,EACb,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,KAAK,KAAK,GAAG;IACX,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,EAAE,YAAY,CAAC,CAAC;IACjE,iBAAiB,EAAE,IAAI,CACrB,UAAU,CAAC,OAAO,oBAAoB,CAAC,EACrC,0BAA0B,GAC1B,kBAAkB,GAClB,eAAe,GACf,kBAAkB,GAClB,mBAAmB,GACnB,cAAc,GACd,qBAAqB,GACrB,uBAAuB,GACvB,qBAAqB,GACrB,oBAAoB,GACpB,kBAAkB,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,6BAA6B,GAC7B,mBAAmB,GACnB,qBAAqB,GACrB,sBAAsB,GACtB,uBAAuB,GACvB,kBAAkB,GAClB,WAAW,GACX,oBAAoB,GACpB,mBAAmB,GACnB,gBAAgB,CACnB,CAAC;IACF,IAAI,EAAE,IAAI,CACR,UAAU,CAAC,OAAO,iBAAiB,CAAC,EACpC,iBAAiB,GAAG,uBAAuB,GAAG,SAAS,CACxD,CAAC;IACF,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,GAAG,0BAA0B,CAAC,CAAC;IAC1E,QAAQ,EAAE,IAAI,CACZ,UAAU,CAAC,OAAO,kBAAkB,CAAC,EACrC,eAAe,GAAG,gBAAgB,GAAG,kBAAkB,CACxD,CAAC;IACF,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,EAAE,0BAA0B,CAAC,CAAC;CACjF,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,EACtC,MAAM,EACN,iBAAiB,EACjB,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,OAAO,GACR,EAAE,KAAK;;;;;;wCAyEgB,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;+CAqBE,IAAI;qCAarC,aAAa,aACd,sBAAsB,KAC/B,IAAI;oCAgCgC,wBAAwB,KAAG,IAAI;uDAYhD,cAAc,KACjC,OAAO,CAAC,IAAI,CAAC;0BAmCiB,OAAO,CAAC,IAAI,CAAC;EAgE/C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useCallback, useEffect, useMemo } from 'react';
|
|
2
|
-
import { createDefaultWorktreeName, executeWorktreeAction, reconcileBaseBranchSelection, selectDefaultBaseBranch, toWorktreeViewError, WorktreeSessionBindingError,
|
|
2
|
+
import { createDefaultWorktreeName, executeWorktreeAction, reconcileBaseBranchSelection, selectDefaultBaseBranch, toWorktreeViewError, WorktreeSessionBindingError, } from '../../view/worktree-view.js';
|
|
3
3
|
export function useWorktreeRegistration({ source, registrationState, read, props, mutation, session, }) {
|
|
4
4
|
const { workspaces } = source;
|
|
5
5
|
const { worktreeModalWorkspaceId, modalReadLoading, modalBranches, setModalBranches, setSelectedBranch, setNewBranch, setImportCandidates, importCandidatesGuard, modalWorkspaceIdRef, modalGenerationRef, modalLifetimeRef, modalReadLoader, modalReadViewRef, setWorktreeModalWorkspaceId, setModalReadError, setModalReadLoading, setWorktreeModalMode, setSelectedImportPath, importCandidates, newBranch, selectedImportPath, worktreeModalMode, selectedBranch, } = registrationState;
|
|
@@ -137,27 +137,20 @@ export function useWorktreeRegistration({ source, registrationState, read, props
|
|
|
137
137
|
cwd: registeredWorktree.absolutePath,
|
|
138
138
|
};
|
|
139
139
|
try {
|
|
140
|
-
await createSessionCallback(sessionInput)
|
|
140
|
+
await createSessionCallback(sessionInput, (sessionId, projectionReady) => refresh({
|
|
141
|
+
alreadyInvalidated: projectionReady,
|
|
142
|
+
scope: { kind: 'workspace', workspaceId: registeredWorktree.workspaceId },
|
|
143
|
+
preserveCurrent: true,
|
|
144
|
+
openingSession: { sessionId, worktreeId: registeredWorktree.worktreeId },
|
|
145
|
+
}));
|
|
141
146
|
}
|
|
142
147
|
catch (error) {
|
|
143
148
|
if (error instanceof WorktreeSessionBindingError) {
|
|
144
149
|
setPendingSessionBinding({ ...sessionInput, sessionId: error.sessionId,
|
|
145
150
|
error: toWorktreeViewError(error) });
|
|
146
151
|
}
|
|
147
|
-
if (error instanceof WorktreeSessionPermissionError && error.retryable) {
|
|
148
|
-
setPendingSessionBinding({
|
|
149
|
-
...sessionInput,
|
|
150
|
-
sessionId: error.sessionId,
|
|
151
|
-
permissionRequired: true,
|
|
152
|
-
error: toWorktreeViewError(error),
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
152
|
throw error;
|
|
156
153
|
}
|
|
157
|
-
await refresh({
|
|
158
|
-
scope: { kind: 'workspace', workspaceId: registeredWorktree.workspaceId },
|
|
159
|
-
preserveCurrent: true,
|
|
160
|
-
});
|
|
161
154
|
};
|
|
162
155
|
const submitWorktree = async () => {
|
|
163
156
|
const worktreeName = newBranch.trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWorktreeRegistration.js","sourceRoot":"","sources":["../../../../src/client/surface/actions/useWorktreeRegistration.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAExD,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,4BAA4B,EAC5B,uBAAuB,EACvB,mBAAmB,EACnB,2BAA2B,
|
|
1
|
+
{"version":3,"file":"useWorktreeRegistration.js","sourceRoot":"","sources":["../../../../src/client/surface/actions/useWorktreeRegistration.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,8 @@ export interface WorktreeCleanupFlowInput {
|
|
|
2
2
|
readonly clean: () => Promise<void>;
|
|
3
3
|
readonly onCommitted: () => void;
|
|
4
4
|
readonly refresh: () => Promise<void>;
|
|
5
|
-
readonly normalize: () => Promise<void>;
|
|
6
5
|
readonly isCurrent: () => boolean;
|
|
7
|
-
readonly onFollowUpError: (stage: 'refresh'
|
|
6
|
+
readonly onFollowUpError: (stage: 'refresh', error: unknown) => void;
|
|
8
7
|
}
|
|
9
8
|
export declare function runWorktreeCleanupFlow(input: WorktreeCleanupFlowInput): Promise<void>;
|
|
10
9
|
//# sourceMappingURL=worktree-cleanup-flow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-cleanup-flow.d.ts","sourceRoot":"","sources":["../../../../src/client/surface/actions/worktree-cleanup-flow.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC
|
|
1
|
+
{"version":3,"file":"worktree-cleanup-flow.d.ts","sourceRoot":"","sources":["../../../../src/client/surface/actions/worktree-cleanup-flow.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACtE;AAED,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAa3F"}
|
|
@@ -14,6 +14,6 @@ export async function runWorktreeCleanupFlow(input) {
|
|
|
14
14
|
input.onFollowUpError(stage, error);
|
|
15
15
|
}
|
|
16
16
|
};
|
|
17
|
-
await
|
|
17
|
+
await follow('refresh', input.refresh);
|
|
18
18
|
}
|
|
19
19
|
//# sourceMappingURL=worktree-cleanup-flow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-cleanup-flow.js","sourceRoot":"","sources":["../../../../src/client/surface/actions/worktree-cleanup-flow.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"worktree-cleanup-flow.js","sourceRoot":"","sources":["../../../../src/client/surface/actions/worktree-cleanup-flow.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,KAA+B;IAC1E,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACpB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;QAAE,OAAO;IAC/B,KAAK,CAAC,WAAW,EAAE,CAAC;IACpB,MAAM,MAAM,GAAG,KAAK,EAAE,KAAgB,EAAE,SAA8B,EAAiB,EAAE;QACvF,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YAAE,OAAO;QAC/B,IAAI,CAAC;YACH,MAAM,SAAS,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,CAAC,SAAS,EAAE;gBAAE,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC,CAAC;IACF,MAAM,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -6,7 +6,7 @@ import type { useSessionExpansion } from '../state/useSessionExpansion.js';
|
|
|
6
6
|
import type { useSurfaceMutation } from '../actions/useSurfaceMutation.js';
|
|
7
7
|
import type { useSurfaceRefresh } from '../state/useSurfaceRefresh.js';
|
|
8
8
|
export type LifecycleDialogInput = {
|
|
9
|
-
props: Pick<WorktreeSurfaceProps, 't' | 'manager' | '
|
|
9
|
+
props: Pick<WorktreeSurfaceProps, 't' | 'manager' | 'onWorktreeForgotten'>;
|
|
10
10
|
lifecycleState: Pick<ReturnType<typeof useLifecycleState>, 'worktreeBranchAdoption' | 'branchAdoptionGuard' | 'setWorktreeBranchAdoption' | 'worktreeRemoval' | 'setWorktreeRemoval' | 'setWorktreeCleanDisk' | 'cleanupGuard' | 'setWorktreeForget'>;
|
|
11
11
|
mutation: Pick<ReturnType<typeof useSurfaceMutation>, 'actionPending' | 'actionError' | 'runMutation' | 'setActionError' | 'setActionPending'>;
|
|
12
12
|
lifecycle: Pick<ReturnType<typeof useLifecycleActions>, 'refreshBranchAdoption' | 'cleanDiskTarget' | 'forgetTarget'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LifecycleDialogs.d.ts","sourceRoot":"","sources":["../../../../src/client/surface/components/LifecycleDialogs.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,IAAI,CACT,oBAAoB,EACpB,GAAG,GAAG,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"LifecycleDialogs.d.ts","sourceRoot":"","sources":["../../../../src/client/surface/components/LifecycleDialogs.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,IAAI,CACT,oBAAoB,EACpB,GAAG,GAAG,SAAS,GAAG,qBAAqB,CACxC,CAAC;IACF,cAAc,EAAE,IAAI,CAClB,UAAU,CAAC,OAAO,iBAAiB,CAAC,EAClC,wBAAwB,GACxB,qBAAqB,GACrB,2BAA2B,GAC3B,iBAAiB,GACjB,oBAAoB,GACpB,sBAAsB,GACtB,cAAc,GACd,mBAAmB,CACtB,CAAC;IACF,QAAQ,EAAE,IAAI,CACZ,UAAU,CAAC,OAAO,kBAAkB,CAAC,EACrC,eAAe,GAAG,aAAa,GAAG,aAAa,GAAG,gBAAgB,GAAG,kBAAkB,CACxF,CAAC;IACF,SAAS,EAAE,IAAI,CACb,UAAU,CAAC,OAAO,mBAAmB,CAAC,EACtC,uBAAuB,GAAG,iBAAiB,GAAG,cAAc,CAC7D,CAAC;IACF,SAAS,EAAE,IAAI,CACb,UAAU,CAAC,OAAO,mBAAmB,CAAC,EACtC,8BAA8B,GAAG,oBAAoB,CACtD,CAAC;IACF,IAAI,EAAE,IAAI,CACR,UAAU,CAAC,OAAO,iBAAiB,CAAC,EACpC,cAAc,GAAG,cAAc,GAAG,SAAS,GAAG,WAAW,CAC1D,CAAC;IACF,OAAO,EAAE,IAAI,CACX,UAAU,CAAC,OAAO,iBAAiB,CAAC,EACpC,uBAAuB,GAAG,0BAA0B,CACrD,CAAC;CACH,CAAC;AACF,KAAK,KAAK,GAAG,oBAAoB,CAAC;AAElC,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,cAAc,EACd,QAAQ,EACR,SAAS,EACT,SAAS,EACT,IAAI,EACJ,OAAO,GACR,EAAE,KAAK,+BAsEP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestartToast.d.ts","sourceRoot":"","sources":["../../../../src/client/surface/components/RestartToast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,CAAC,GACF,EAAE,YAAY,CAAC,eAAe,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"RestartToast.d.ts","sourceRoot":"","sources":["../../../../src/client/surface/components/RestartToast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,CAAC,GACF,EAAE,YAAY,CAAC,eAAe,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;CAAE,sCAS9F"}
|
|
@@ -5,7 +5,6 @@ export function RestartToast({ notice, t, }) {
|
|
|
5
5
|
const reason = useSyncExternalStore(notice.subscribe, notice.getReasonSnapshot, notice.getReasonSnapshot);
|
|
6
6
|
if (reason === undefined)
|
|
7
7
|
return null;
|
|
8
|
-
|
|
9
|
-
return _jsx(Toast, { text: t(presetMissing ? 'permission.presetRestartRequired' : 'restartRequired'), holdMs: presetMissing ? 12_000 : 8_000, onDone: () => notice.dismissReason(reason) }, reason);
|
|
8
|
+
return _jsx(Toast, { text: t('restartRequired'), holdMs: 8_000, onDone: () => notice.dismissReason(reason) }, reason);
|
|
10
9
|
}
|
|
11
10
|
//# sourceMappingURL=RestartToast.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestartToast.js","sourceRoot":"","sources":["../../../../src/client/surface/components/RestartToast.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,uCAAuC,CAAC;AAI9D,MAAM,UAAU,YAAY,CAAC,EAC3B,MAAM,EACN,CAAC,GAC4F;IAC7F,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC1G,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACtC,
|
|
1
|
+
{"version":3,"file":"RestartToast.js","sourceRoot":"","sources":["../../../../src/client/surface/components/RestartToast.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,uCAAuC,CAAC;AAI9D,MAAM,UAAU,YAAY,CAAC,EAC3B,MAAM,EACN,CAAC,GAC4F;IAC7F,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC1G,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,KAAC,KAAK,IAEX,IAAI,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAC1B,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAHrC,MAAM,CAIX,CAAC;AACL,CAAC"}
|
|
@@ -12,9 +12,9 @@ import type { useSurfaceRefresh } from '../state/useSurfaceRefresh.js';
|
|
|
12
12
|
import type { useSurfaceSources } from '../state/useSurfaceSources.js';
|
|
13
13
|
import type { useWorktreeRegistration } from '../actions/useWorktreeRegistration.js';
|
|
14
14
|
type Input = {
|
|
15
|
-
source: Pick<ReturnType<typeof useSurfaceSources>, '
|
|
15
|
+
source: Pick<ReturnType<typeof useSurfaceSources>, 'forkRecoverySnapshot' | 'expandSnapshot' | 'workspaces' | 'sessions' | 'archivedSessionIds' | 'sessionPresentations' | 'currentSessionId'>;
|
|
16
16
|
props: Pick<WorktreeSurfaceProps, 't' | 'openDashboard' | 'retryForkSession' | 'openSession' | 'createMainSession' | 'renameSession' | 'forkSession' | 'archiveSession' | 'manager'>;
|
|
17
|
-
lifecycle: Pick<ReturnType<typeof useLifecycleActions>, '
|
|
17
|
+
lifecycle: Pick<ReturnType<typeof useLifecycleActions>, 'recoveryAction' | 'branchLabel' | 'branchActions'>;
|
|
18
18
|
mutation: Pick<ReturnType<typeof useSurfaceMutation>, 'actionPending' | 'actionError' | 'setActionError' | 'runMutation'>;
|
|
19
19
|
session: Pick<ReturnType<typeof useSessionActions>, 'forkRetryKey' | 'retryForkBinding' | 'pendingSessionBinding' | 'pendingSessionArchived' | 'retrySessionBinding' | 'setPendingSessionBinding' | 'createSession' | 'openWorkspaceSession'>;
|
|
20
20
|
read: Pick<ReturnType<typeof useSurfaceRefresh>, 'refresh' | 'readState' | 'viewByWorkspace'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SurfaceContent.d.ts","sourceRoot":"","sources":["../../../../src/client/surface/components/SurfaceContent.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SurfaceContent.d.ts","sourceRoot":"","sources":["../../../../src/client/surface/components/SurfaceContent.tsx"],"names":[],"mappings":"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"}
|