@agimon-ai/doompi-git 0.0.1-alpha.8 → 0.0.1-alpha.9
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/dist/_virtual/_rolldown/runtime.cjs +23 -1
- package/dist/api-contracts.cjs +7 -1
- package/dist/api-contracts.d.cts +1 -1
- package/dist/api-contracts.d.mts +1 -1
- package/dist/api-contracts.mjs +2 -1
- package/dist/extensions/pi.cjs +38 -1
- package/dist/extensions/pi.cjs.map +1 -1
- package/dist/extensions/pi.d.cts +5 -4
- package/dist/extensions/pi.d.cts.map +1 -1
- package/dist/extensions/pi.d.mts +5 -4
- package/dist/extensions/pi.d.mts.map +1 -1
- package/dist/extensions/pi.mjs +33 -1
- package/dist/extensions/pi.mjs.map +1 -1
- package/dist/extensions/server.cjs +72 -1
- package/dist/extensions/server.cjs.map +1 -1
- package/dist/extensions/server.d.cts +3 -3
- package/dist/extensions/server.d.cts.map +1 -1
- package/dist/extensions/server.d.mts +3 -3
- package/dist/extensions/server.d.mts.map +1 -1
- package/dist/extensions/server.mjs +67 -1
- package/dist/extensions/server.mjs.map +1 -1
- package/dist/extensions/web.mjs +485 -0
- package/dist/extensions/web.mjs.map +1 -0
- package/dist/index.cjs +5 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.mts +3 -3
- package/dist/index.mjs +3 -1
- package/dist/src/constants/git.cjs +8 -0
- package/dist/src/constants/git.cjs.map +1 -0
- package/dist/src/constants/git.mjs +7 -0
- package/dist/src/constants/git.mjs.map +1 -0
- package/dist/src/extensions/(backend)/api/_lib/route.server.cjs +93 -0
- package/dist/src/extensions/(backend)/api/_lib/route.server.cjs.map +1 -0
- package/dist/src/extensions/(backend)/api/_lib/route.server.mjs +92 -0
- package/dist/src/extensions/(backend)/api/_lib/route.server.mjs.map +1 -0
- package/dist/src/extensions/(backend)/api/route.server.cjs +7 -0
- package/dist/src/extensions/(backend)/api/route.server.cjs.map +1 -0
- package/dist/src/extensions/(backend)/api/route.server.mjs +8 -0
- package/dist/src/extensions/(backend)/api/route.server.mjs.map +1 -0
- package/dist/src/extensions/(backend)/channel/_lib/git-worktrees.server.cjs +195 -0
- package/dist/src/extensions/(backend)/channel/_lib/git-worktrees.server.cjs.map +1 -0
- package/dist/src/extensions/(backend)/channel/_lib/git-worktrees.server.mjs +194 -0
- package/dist/src/extensions/(backend)/channel/_lib/git-worktrees.server.mjs.map +1 -0
- package/dist/src/extensions/(backend)/channel/git-worktrees.server.cjs +7 -0
- package/dist/src/extensions/(backend)/channel/git-worktrees.server.cjs.map +1 -0
- package/dist/src/extensions/(backend)/channel/git-worktrees.server.mjs +8 -0
- package/dist/src/extensions/(backend)/channel/git-worktrees.server.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.cli.cjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.cli.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.cli.mjs +8 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.cli.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.server.cjs +71 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.server.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.server.mjs +70 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/_lib/root.server.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/git.cli.cjs +17 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/git.cli.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/git.cli.mjs +16 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/command/_lib/git.cli.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/command/git.cli.cjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/command/git.cli.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/command/git.cli.mjs +8 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/command/git.cli.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/_lib/doompi-use-git.cli.cjs +15 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/_lib/doompi-use-git.cli.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/_lib/doompi-use-git.cli.mjs +15 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/_lib/doompi-use-git.cli.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/_lib/doompiGit.server.cjs +6 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/_lib/doompiGit.server.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/_lib/doompiGit.server.mjs +6 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/_lib/doompiGit.server.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/_lib/doompiGitReadme.server.cjs +6 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/_lib/doompiGitReadme.server.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/_lib/doompiGitReadme.server.mjs +6 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/_lib/doompiGitReadme.server.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/_lib/doompiUseGit.server.cjs +6 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/_lib/doompiUseGit.server.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/_lib/doompiUseGit.server.mjs +6 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/_lib/doompiUseGit.server.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-use-git.cli.cjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-use-git.cli.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-use-git.cli.mjs +8 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-use-git.cli.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiGit.server.cjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiGit.server.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiGit.server.mjs +8 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiGit.server.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiGitReadme.server.cjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiGitReadme.server.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiGitReadme.server.mjs +8 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiGitReadme.server.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiUseGit.server.cjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiUseGit.server.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiUseGit.server.mjs +8 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompiUseGit.server.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.cjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.mjs +8 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/root.server.cjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/root.server.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/root.server.mjs +8 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/root.server.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/runWorktree.cli.cjs +38 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/runWorktree.cli.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/runWorktree.cli.mjs +36 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/_lib/runWorktree.cli.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/runWorktree.cli.cjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/runWorktree.cli.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/runWorktree.cli.mjs +8 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/runWorktree.cli.mjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/runWorktree.server.cjs +6 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/runWorktree.server.cjs.map +1 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/runWorktree.server.mjs +7 -0
- package/dist/src/extensions/workspaces/sessions/(backend)/tool/runWorktree.server.mjs.map +1 -0
- package/dist/src/schemas/apiContracts.cjs +138 -0
- package/dist/src/schemas/apiContracts.cjs.map +1 -0
- package/dist/{schemas → src/schemas}/apiContracts.d.cts.map +1 -1
- package/dist/{schemas → src/schemas}/apiContracts.d.mts.map +1 -1
- package/dist/src/schemas/apiContracts.mjs +135 -0
- package/dist/src/schemas/apiContracts.mjs.map +1 -0
- package/dist/src/schemas/runWorktreeTool.cjs +152 -0
- package/dist/src/schemas/runWorktreeTool.cjs.map +1 -0
- package/dist/src/schemas/runWorktreeTool.mjs +150 -0
- package/dist/src/schemas/runWorktreeTool.mjs.map +1 -0
- package/dist/src/services/atomicJson/index.cjs +42 -0
- package/dist/src/services/atomicJson/index.cjs.map +1 -0
- package/dist/src/services/atomicJson/index.mjs +38 -0
- package/dist/src/services/atomicJson/index.mjs.map +1 -0
- package/dist/src/services/compositionMirror/index.cjs +119 -0
- package/dist/src/services/compositionMirror/index.cjs.map +1 -0
- package/dist/src/services/compositionMirror/index.mjs +116 -0
- package/dist/src/services/compositionMirror/index.mjs.map +1 -0
- package/dist/src/services/errors/index.cjs +29 -0
- package/dist/src/services/errors/index.cjs.map +1 -0
- package/dist/src/services/errors/index.mjs +27 -0
- package/dist/src/services/errors/index.mjs.map +1 -0
- package/dist/src/services/extensionService/index.cjs +13 -0
- package/dist/src/services/extensionService/index.cjs.map +1 -0
- package/dist/src/services/extensionService/index.d.cts.map +1 -0
- package/dist/src/services/extensionService/index.d.mts.map +1 -0
- package/dist/src/services/extensionService/index.mjs +13 -0
- package/dist/src/services/extensionService/index.mjs.map +1 -0
- package/dist/src/services/gitCli/index.cjs +144 -0
- package/dist/src/services/gitCli/index.cjs.map +1 -0
- package/dist/src/services/gitCli/index.mjs +142 -0
- package/dist/src/services/gitCli/index.mjs.map +1 -0
- package/dist/src/services/gitDependencies/index.cjs +14 -0
- package/dist/src/services/gitDependencies/index.cjs.map +1 -0
- package/dist/src/services/gitDependencies/index.d.cts.map +1 -0
- package/dist/src/services/gitDependencies/index.d.mts.map +1 -0
- package/dist/src/services/gitDependencies/index.mjs +14 -0
- package/dist/src/services/gitDependencies/index.mjs.map +1 -0
- package/dist/src/services/paths/index.cjs +35 -0
- package/dist/src/services/paths/index.cjs.map +1 -0
- package/dist/src/services/paths/index.mjs +30 -0
- package/dist/src/services/paths/index.mjs.map +1 -0
- package/dist/src/services/repositoryIdentity/index.cjs +71 -0
- package/dist/src/services/repositoryIdentity/index.cjs.map +1 -0
- package/dist/src/services/repositoryIdentity/index.mjs +65 -0
- package/dist/src/services/repositoryIdentity/index.mjs.map +1 -0
- package/dist/src/services/runWorktree/index.cjs +145 -0
- package/dist/src/services/runWorktree/index.cjs.map +1 -0
- package/dist/src/services/runWorktree/index.mjs +142 -0
- package/dist/src/services/runWorktree/index.mjs.map +1 -0
- package/dist/src/services/worktreeEvents/index.cjs +64 -0
- package/dist/src/services/worktreeEvents/index.cjs.map +1 -0
- package/dist/src/services/worktreeEvents/index.d.cts.map +1 -0
- package/dist/src/services/worktreeEvents/index.d.mts.map +1 -0
- package/dist/src/services/worktreeEvents/index.mjs +60 -0
- package/dist/src/services/worktreeEvents/index.mjs.map +1 -0
- package/dist/src/services/worktreeNaming/index.cjs +99 -0
- package/dist/src/services/worktreeNaming/index.cjs.map +1 -0
- package/dist/src/services/worktreeNaming/index.d.cts.map +1 -0
- package/dist/src/services/worktreeNaming/index.d.mts.map +1 -0
- package/dist/src/services/worktreeNaming/index.mjs +94 -0
- package/dist/src/services/worktreeNaming/index.mjs.map +1 -0
- package/dist/src/services/worktreeOperations/index.cjs +263 -0
- package/dist/src/services/worktreeOperations/index.cjs.map +1 -0
- package/dist/src/services/worktreeOperations/index.d.cts.map +1 -0
- package/dist/src/services/worktreeOperations/index.d.mts.map +1 -0
- package/dist/src/services/worktreeOperations/index.mjs +261 -0
- package/dist/src/services/worktreeOperations/index.mjs.map +1 -0
- package/dist/src/services/worktreeRegistry/index.cjs +38 -0
- package/dist/src/services/worktreeRegistry/index.cjs.map +1 -0
- package/dist/src/services/worktreeRegistry/index.mjs +38 -0
- package/dist/src/services/worktreeRegistry/index.mjs.map +1 -0
- package/dist/src/types/extension.d.cts.map +1 -0
- package/dist/src/types/extension.d.mts.map +1 -0
- package/dist/src/types/webWorktrees.cjs +20 -0
- package/dist/src/types/webWorktrees.cjs.map +1 -0
- package/dist/src/types/webWorktrees.mjs +20 -0
- package/dist/src/types/webWorktrees.mjs.map +1 -0
- package/dist/src/types/worktreeRegistry.d.cts.map +1 -0
- package/dist/src/types/worktreeRegistry.d.mts.map +1 -0
- package/package.json +24 -19
- package/dist/constants/git.cjs +0 -2
- package/dist/constants/git.cjs.map +0 -1
- package/dist/constants/git.mjs +0 -2
- package/dist/constants/git.mjs.map +0 -1
- package/dist/controllers/gitCommand.cjs +0 -2
- package/dist/controllers/gitCommand.cjs.map +0 -1
- package/dist/controllers/gitCommand.mjs +0 -2
- package/dist/controllers/gitCommand.mjs.map +0 -1
- package/dist/controllers/gitSession.cjs +0 -2
- package/dist/controllers/gitSession.cjs.map +0 -1
- package/dist/controllers/gitSession.mjs +0 -2
- package/dist/controllers/gitSession.mjs.map +0 -1
- package/dist/controllers/hubApi.cjs +0 -2
- package/dist/controllers/hubApi.cjs.map +0 -1
- package/dist/controllers/hubApi.mjs +0 -2
- package/dist/controllers/hubApi.mjs.map +0 -1
- package/dist/controllers/worktreesChannel.cjs +0 -2
- package/dist/controllers/worktreesChannel.cjs.map +0 -1
- package/dist/controllers/worktreesChannel.mjs +0 -2
- package/dist/controllers/worktreesChannel.mjs.map +0 -1
- package/dist/schemas/apiContracts.cjs +0 -2
- package/dist/schemas/apiContracts.cjs.map +0 -1
- package/dist/schemas/apiContracts.mjs +0 -2
- package/dist/schemas/apiContracts.mjs.map +0 -1
- package/dist/schemas/runWorktreeTool.cjs +0 -2
- package/dist/schemas/runWorktreeTool.cjs.map +0 -1
- package/dist/schemas/runWorktreeTool.mjs +0 -2
- package/dist/schemas/runWorktreeTool.mjs.map +0 -1
- package/dist/services/atomicJson/index.cjs +0 -2
- package/dist/services/atomicJson/index.cjs.map +0 -1
- package/dist/services/atomicJson/index.mjs +0 -2
- package/dist/services/atomicJson/index.mjs.map +0 -1
- package/dist/services/compositionMirror/index.cjs +0 -2
- package/dist/services/compositionMirror/index.cjs.map +0 -1
- package/dist/services/compositionMirror/index.mjs +0 -2
- package/dist/services/compositionMirror/index.mjs.map +0 -1
- package/dist/services/errors/index.cjs +0 -2
- package/dist/services/errors/index.cjs.map +0 -1
- package/dist/services/errors/index.mjs +0 -2
- package/dist/services/errors/index.mjs.map +0 -1
- package/dist/services/extensionService/index.cjs +0 -2
- package/dist/services/extensionService/index.cjs.map +0 -1
- package/dist/services/extensionService/index.d.cts.map +0 -1
- package/dist/services/extensionService/index.d.mts.map +0 -1
- package/dist/services/extensionService/index.mjs +0 -2
- package/dist/services/extensionService/index.mjs.map +0 -1
- package/dist/services/gitCli/index.cjs +0 -4
- package/dist/services/gitCli/index.cjs.map +0 -1
- package/dist/services/gitCli/index.mjs +0 -4
- package/dist/services/gitCli/index.mjs.map +0 -1
- package/dist/services/gitDependencies/index.cjs +0 -2
- package/dist/services/gitDependencies/index.cjs.map +0 -1
- package/dist/services/gitDependencies/index.d.cts.map +0 -1
- package/dist/services/gitDependencies/index.d.mts.map +0 -1
- package/dist/services/gitDependencies/index.mjs +0 -2
- package/dist/services/gitDependencies/index.mjs.map +0 -1
- package/dist/services/paths/index.cjs +0 -2
- package/dist/services/paths/index.cjs.map +0 -1
- package/dist/services/paths/index.mjs +0 -2
- package/dist/services/paths/index.mjs.map +0 -1
- package/dist/services/repositoryIdentity/index.cjs +0 -2
- package/dist/services/repositoryIdentity/index.cjs.map +0 -1
- package/dist/services/repositoryIdentity/index.mjs +0 -2
- package/dist/services/repositoryIdentity/index.mjs.map +0 -1
- package/dist/services/runWorktree/index.cjs +0 -15
- package/dist/services/runWorktree/index.cjs.map +0 -1
- package/dist/services/runWorktree/index.mjs +0 -15
- package/dist/services/runWorktree/index.mjs.map +0 -1
- package/dist/services/worktreeEvents/index.cjs +0 -2
- package/dist/services/worktreeEvents/index.cjs.map +0 -1
- package/dist/services/worktreeEvents/index.d.cts.map +0 -1
- package/dist/services/worktreeEvents/index.d.mts.map +0 -1
- package/dist/services/worktreeEvents/index.mjs +0 -2
- package/dist/services/worktreeEvents/index.mjs.map +0 -1
- package/dist/services/worktreeNaming/index.cjs +0 -2
- package/dist/services/worktreeNaming/index.cjs.map +0 -1
- package/dist/services/worktreeNaming/index.d.cts.map +0 -1
- package/dist/services/worktreeNaming/index.d.mts.map +0 -1
- package/dist/services/worktreeNaming/index.mjs +0 -2
- package/dist/services/worktreeNaming/index.mjs.map +0 -1
- package/dist/services/worktreeOperations/index.cjs +0 -2
- package/dist/services/worktreeOperations/index.cjs.map +0 -1
- package/dist/services/worktreeOperations/index.d.cts.map +0 -1
- package/dist/services/worktreeOperations/index.d.mts.map +0 -1
- package/dist/services/worktreeOperations/index.mjs +0 -2
- package/dist/services/worktreeOperations/index.mjs.map +0 -1
- package/dist/services/worktreeRegistry/index.cjs +0 -2
- package/dist/services/worktreeRegistry/index.cjs.map +0 -1
- package/dist/services/worktreeRegistry/index.mjs +0 -2
- package/dist/services/worktreeRegistry/index.mjs.map +0 -1
- package/dist/tools/runWorktree.cjs +0 -2
- package/dist/tools/runWorktree.cjs.map +0 -1
- package/dist/tools/runWorktree.mjs +0 -2
- package/dist/tools/runWorktree.mjs.map +0 -1
- package/dist/types/extension.d.cts.map +0 -1
- package/dist/types/extension.d.mts.map +0 -1
- package/dist/types/webWorktrees.cjs +0 -2
- package/dist/types/webWorktrees.cjs.map +0 -1
- package/dist/types/webWorktrees.mjs +0 -2
- package/dist/types/webWorktrees.mjs.map +0 -1
- package/dist/types/worktreeRegistry.d.cts.map +0 -1
- package/dist/types/worktreeRegistry.d.mts.map +0 -1
- package/src/extensions/web.ts +0 -33
- package/src/types/webWorktrees.ts +0 -55
- package/src/types/worktreeRegistry.ts +0 -78
- package/src/web/components/RunWorktreeToolMessage.tsx +0 -45
- package/src/web/components/WorktreesActivitySection.tsx +0 -80
- package/src/web/components/WorktreesPanel.tsx +0 -175
- package/src/web/components/toolRenderers.ts +0 -8
- package/src/web/stores/worktreesActivityStore.ts +0 -125
- package/src/web/tsconfig.json +0 -22
- /package/dist/{schemas → src/schemas}/apiContracts.d.cts +0 -0
- /package/dist/{schemas → src/schemas}/apiContracts.d.mts +0 -0
- /package/dist/{services → src/services}/extensionService/index.d.cts +0 -0
- /package/dist/{services → src/services}/extensionService/index.d.mts +0 -0
- /package/dist/{services → src/services}/gitDependencies/index.d.cts +0 -0
- /package/dist/{services → src/services}/gitDependencies/index.d.mts +0 -0
- /package/dist/{services → src/services}/worktreeEvents/index.d.cts +0 -0
- /package/dist/{services → src/services}/worktreeEvents/index.d.mts +0 -0
- /package/dist/{services → src/services}/worktreeNaming/index.d.cts +0 -0
- /package/dist/{services → src/services}/worktreeNaming/index.d.mts +0 -0
- /package/dist/{services → src/services}/worktreeOperations/index.d.cts +0 -0
- /package/dist/{services → src/services}/worktreeOperations/index.d.mts +0 -0
- /package/dist/{types → src/types}/extension.d.cts +0 -0
- /package/dist/{types → src/types}/extension.d.mts +0 -0
- /package/dist/{types → src/types}/worktreeRegistry.d.cts +0 -0
- /package/dist/{types → src/types}/worktreeRegistry.d.mts +0 -0
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
import type { TransientTab, WebPluginSlotProps } from '@agimon-ai/doompi-core/web';
|
|
2
|
-
/**
|
|
3
|
-
* The '# git' group's tab: this session's worktrees, and the form that makes one.
|
|
4
|
-
*
|
|
5
|
-
* DESIGN PATTERNS:
|
|
6
|
-
* - Lives in the activity dock, opened by the group's name. A worktree is work
|
|
7
|
-
* in progress belonging to the session that started it, so it sits beside
|
|
8
|
-
* agents, runners and workflows rather than in a settings screen.
|
|
9
|
-
* - Header, form, then cards, the same rhythm the runners and workflows panels
|
|
10
|
-
* use. A worktree row is a card because it carries three facts and two
|
|
11
|
-
* actions, which a single line cannot hold without becoming a puzzle.
|
|
12
|
-
* - Local form state is never reset by a data refresh. The hub republishes this
|
|
13
|
-
* list on a timer, and a half-typed branch name must survive that.
|
|
14
|
-
* - Acts through the plugin's own hub channel, so a worktree made here and one
|
|
15
|
-
* made by the tool take exactly the same path.
|
|
16
|
-
* - Creating waits on the cockpit starting a session, so the hub reports each
|
|
17
|
-
* phase on that channel and the header shows it turning. A button that looks
|
|
18
|
-
* idle for two minutes reads as broken.
|
|
19
|
-
*
|
|
20
|
-
* AVOID:
|
|
21
|
-
* - Deriving form state from props or store data. That is what wiped the
|
|
22
|
-
* fields on every poll.
|
|
23
|
-
* - Colour classes outside the token set. `doom-error`, `doom-line` and
|
|
24
|
-
* `doom-bright` are not tokens: they compile to nothing and the row silently
|
|
25
|
-
* loses its border.
|
|
26
|
-
*/
|
|
27
|
-
import { Button, Dot, EmptyState, Input, Spinner, StatusBadge } from '@agimon-ai/doompi-web-components';
|
|
28
|
-
import { useStore } from '@tanstack/react-store';
|
|
29
|
-
import { useState } from 'react';
|
|
30
|
-
|
|
31
|
-
import type { WorktreeView } from '../../types/webWorktrees';
|
|
32
|
-
import { requestWorktreeClose, requestWorktreeCreate, worktreeActivity } from '../stores/worktreesActivityStore';
|
|
33
|
-
|
|
34
|
-
const WORKTREES_TAB_ID = 'git-worktrees';
|
|
35
|
-
|
|
36
|
-
export function worktreesTab(): TransientTab {
|
|
37
|
-
return { id: WORKTREES_TAB_ID, label: 'worktrees', panel: WorktreesPanel };
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export function WorktreesPanel({ sessionId }: WebPluginSlotProps) {
|
|
41
|
-
const session = useStore(worktreeActivity.store, (state) => worktreeActivity.select(state, sessionId));
|
|
42
|
-
const [branch, setBranch] = useState('');
|
|
43
|
-
const [baseRef, setBaseRef] = useState('');
|
|
44
|
-
|
|
45
|
-
const busy = session.pending !== undefined;
|
|
46
|
-
const canCreate = sessionId !== null && branch.trim() !== '' && !busy;
|
|
47
|
-
|
|
48
|
-
const create = (): void => {
|
|
49
|
-
if (sessionId === null || !canCreate) return;
|
|
50
|
-
requestWorktreeCreate(sessionId, branch, baseRef);
|
|
51
|
-
setBranch('');
|
|
52
|
-
setBaseRef('');
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
return (
|
|
56
|
-
<div data-testid="git-worktrees-panel" className="flex min-h-0 flex-1 flex-col overflow-auto">
|
|
57
|
-
<div className="flex min-h-11 shrink-0 items-center gap-2.5 border-b border-doom-border-soft px-3 sm:px-[26px]">
|
|
58
|
-
<span className="text-sm font-bold text-doom-hi">worktrees</span>
|
|
59
|
-
<span data-testid="git-worktrees-count" className="text-xs text-doom-faint">
|
|
60
|
-
{session.worktrees.length === 0 ? 'none yet' : `${String(session.worktrees.length)} open`}
|
|
61
|
-
</span>
|
|
62
|
-
<span className="min-w-0 flex-1" />
|
|
63
|
-
{session.pending === undefined ? null : (
|
|
64
|
-
<span data-testid="git-worktree-pending" className="flex min-w-0 items-center gap-1.5">
|
|
65
|
-
<Spinner className="h-3 w-3 shrink-0 text-doom-faint" label={session.pending} />
|
|
66
|
-
<span className="min-w-0 truncate text-xs text-doom-dim">{session.pending}</span>
|
|
67
|
-
</span>
|
|
68
|
-
)}
|
|
69
|
-
</div>
|
|
70
|
-
|
|
71
|
-
<div className="flex shrink-0 flex-col gap-1.5 border-b border-doom-border-soft px-3 py-2.5 sm:px-[26px]">
|
|
72
|
-
<div className="flex items-center gap-2">
|
|
73
|
-
<Input
|
|
74
|
-
data-testid="git-worktree-branch"
|
|
75
|
-
aria-label="Branch"
|
|
76
|
-
size="sm"
|
|
77
|
-
className="min-w-0 flex-1"
|
|
78
|
-
placeholder="wt/fix-auth"
|
|
79
|
-
value={branch}
|
|
80
|
-
onChange={(event) => setBranch(event.target.value)}
|
|
81
|
-
onKeyDown={(event) => {
|
|
82
|
-
if (event.key === 'Enter') create();
|
|
83
|
-
}}
|
|
84
|
-
/>
|
|
85
|
-
<Input
|
|
86
|
-
data-testid="git-worktree-base"
|
|
87
|
-
aria-label="Base ref"
|
|
88
|
-
size="sm"
|
|
89
|
-
placeholder="base (current)"
|
|
90
|
-
value={baseRef}
|
|
91
|
-
onChange={(event) => setBaseRef(event.target.value)}
|
|
92
|
-
className="w-32 shrink-0"
|
|
93
|
-
/>
|
|
94
|
-
<Button data-testid="git-worktree-create" size="sm" disabled={!canCreate} onClick={create}>
|
|
95
|
-
Create
|
|
96
|
-
</Button>
|
|
97
|
-
</div>
|
|
98
|
-
{session.error === undefined ? (
|
|
99
|
-
<p className="text-2xs text-doom-faint">
|
|
100
|
-
Creates the worktree outside the repository and starts a session nested under this one.
|
|
101
|
-
</p>
|
|
102
|
-
) : (
|
|
103
|
-
<p data-testid="git-worktree-error" className="text-2xs text-doom-red">
|
|
104
|
-
{session.error}
|
|
105
|
-
</p>
|
|
106
|
-
)}
|
|
107
|
-
</div>
|
|
108
|
-
|
|
109
|
-
{session.worktrees.length === 0 ? (
|
|
110
|
-
<EmptyState
|
|
111
|
-
data-testid="git-worktrees-empty"
|
|
112
|
-
className="px-4 py-8"
|
|
113
|
-
title="no worktrees yet"
|
|
114
|
-
description="a worktree is its own checkout on its own branch, with its own session nested under this one."
|
|
115
|
-
/>
|
|
116
|
-
) : (
|
|
117
|
-
<ul data-testid="git-worktrees-list" className="flex flex-col gap-2.5 px-3 py-3 sm:px-[26px]">
|
|
118
|
-
{session.worktrees.map((worktree: WorktreeView) => (
|
|
119
|
-
<WorktreeCard key={worktree.id} worktree={worktree} sessionId={sessionId} busy={busy} />
|
|
120
|
-
))}
|
|
121
|
-
</ul>
|
|
122
|
-
)}
|
|
123
|
-
</div>
|
|
124
|
-
);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
/** One worktree: what it is, where it is, and the one thing you can do to it. */
|
|
128
|
-
function WorktreeCard({
|
|
129
|
-
worktree,
|
|
130
|
-
sessionId,
|
|
131
|
-
busy,
|
|
132
|
-
}: {
|
|
133
|
-
worktree: WorktreeView;
|
|
134
|
-
busy: boolean;
|
|
135
|
-
} & Pick<WebPluginSlotProps, 'sessionId'>) {
|
|
136
|
-
return (
|
|
137
|
-
<li
|
|
138
|
-
data-testid={`git-worktree-${worktree.id}`}
|
|
139
|
-
className="flex min-w-0 flex-col gap-1.5 rounded-md border border-doom-border-soft bg-doom-panel p-2.5"
|
|
140
|
-
>
|
|
141
|
-
<div className="flex min-w-0 items-center gap-1.5">
|
|
142
|
-
<Dot tone={worktree.orphaned ? 'red' : worktree.sessionId === null ? 'muted' : 'blue'} />
|
|
143
|
-
<span className="min-w-0 flex-1 truncate text-sm font-bold text-doom-hi">{worktree.branch}</span>
|
|
144
|
-
{worktree.orphaned ? (
|
|
145
|
-
<StatusBadge tone="error" size="xs">
|
|
146
|
-
orphaned
|
|
147
|
-
</StatusBadge>
|
|
148
|
-
) : null}
|
|
149
|
-
{worktree.unowned ? (
|
|
150
|
-
<StatusBadge tone="info" size="xs">
|
|
151
|
-
unowned
|
|
152
|
-
</StatusBadge>
|
|
153
|
-
) : null}
|
|
154
|
-
</div>
|
|
155
|
-
|
|
156
|
-
<span className="min-w-0 truncate text-2xs text-doom-faint">{worktree.path}</span>
|
|
157
|
-
|
|
158
|
-
<div className="flex items-center gap-1.5 pt-0.5">
|
|
159
|
-
<span className="min-w-0 flex-1" />
|
|
160
|
-
{sessionId === null ? null : (
|
|
161
|
-
<Button
|
|
162
|
-
variant="danger-outline"
|
|
163
|
-
size="xs"
|
|
164
|
-
disabled={busy}
|
|
165
|
-
data-testid={`git-worktree-close-${worktree.id}`}
|
|
166
|
-
className="px-2 text-2xs font-bold"
|
|
167
|
-
onClick={() => requestWorktreeClose(sessionId, worktree.id)}
|
|
168
|
-
>
|
|
169
|
-
close
|
|
170
|
-
</Button>
|
|
171
|
-
)}
|
|
172
|
-
</div>
|
|
173
|
-
</li>
|
|
174
|
-
);
|
|
175
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { ToolRendererContribution } from '@agimon-ai/doompi-core/web';
|
|
2
|
-
|
|
3
|
-
import { RunWorktreeToolMessage } from './RunWorktreeToolMessage';
|
|
4
|
-
|
|
5
|
-
/** The timeline items for this package's tools. */
|
|
6
|
-
export const gitToolRenderers: ToolRendererContribution[] = [
|
|
7
|
-
{ tools: ['run_worktree'], message: RunWorktreeToolMessage },
|
|
8
|
-
];
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The dock's view of this session's worktrees, and the commands it sends.
|
|
3
|
-
*
|
|
4
|
-
* DESIGN PATTERNS:
|
|
5
|
-
* - Session-scoped store fed by one hub channel. The hub is authoritative; the
|
|
6
|
-
* page never reads a registry and never guesses.
|
|
7
|
-
* - Actions are channel frames, not prompts. The hub half owns the tool's
|
|
8
|
-
* operations, so the panel names the work and the hub performs it; a
|
|
9
|
-
* worktree made from the dock is the same object the tool makes, without
|
|
10
|
-
* spending a turn of the conversation to ask for it.
|
|
11
|
-
* - The sender lives in a store rather than a module variable, because a web
|
|
12
|
-
* plugin keeps no mutable module state and the page may reconnect.
|
|
13
|
-
*
|
|
14
|
-
* AVOID:
|
|
15
|
-
* - Calling the hub package API from here. A dock slot gets no sealed request
|
|
16
|
-
* transport, and raw fetch breaks the remote cockpit.
|
|
17
|
-
* - `sendSessionFrame` for a command. It envelopes the frame as a session
|
|
18
|
-
* command bound for the agent, which never reaches a channel's `receive`.
|
|
19
|
-
*/
|
|
20
|
-
import { defineGlobalStore, defineSessionStore, type WebPluginRuntime } from '@agimon-ai/doompi-core/web';
|
|
21
|
-
|
|
22
|
-
import { GIT_WORKTREES_TYPE, type GitWorktreesCommand, type WorktreeView } from '../../types/webWorktrees';
|
|
23
|
-
|
|
24
|
-
export interface WorktreesSession {
|
|
25
|
-
/** The worktrees the hub last reported for this session's repository. */
|
|
26
|
-
worktrees: WorktreeView[];
|
|
27
|
-
/** Label of the operation the hub is running for this session. */
|
|
28
|
-
pending: string | undefined;
|
|
29
|
-
/** The last failure the hub reported, shown until the next command. */
|
|
30
|
-
error: string | undefined;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export const worktreeActivity = defineSessionStore<WorktreesSession>({
|
|
34
|
-
worktrees: [],
|
|
35
|
-
pending: undefined,
|
|
36
|
-
error: undefined,
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* The page's hub socket sender, held for as long as the plugin runs.
|
|
41
|
-
*
|
|
42
|
-
* Undefined before `startWorktreeRuntime` and after it disposes; a command
|
|
43
|
-
* sent in that window is dropped rather than queued, because a queue would
|
|
44
|
-
* replay a worktree create against a socket that has since changed sessions.
|
|
45
|
-
*/
|
|
46
|
-
const worktreeSender = defineGlobalStore<WebPluginRuntime['sendHubFrame'] | undefined>(undefined);
|
|
47
|
-
|
|
48
|
-
/** Binds the page's hub socket. The plugin host calls this once per page. */
|
|
49
|
-
export function startWorktreeRuntime(runtime: WebPluginRuntime): () => void {
|
|
50
|
-
// Wrapped rather than referenced: an unbound method would lose the runtime
|
|
51
|
-
// it belongs to the moment the store hands it back.
|
|
52
|
-
const send = (frame: Record<string, unknown>): void => {
|
|
53
|
-
runtime.sendHubFrame(frame);
|
|
54
|
-
};
|
|
55
|
-
worktreeSender.update(() => send);
|
|
56
|
-
return () => {
|
|
57
|
-
worktreeSender.update((current) => (current === send ? undefined : current));
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Whether this session has worktree work in flight.
|
|
63
|
-
*
|
|
64
|
-
* A standing worktree is state, not work: it sits there until someone closes
|
|
65
|
-
* it, so counting it would leave the session reading as busy forever, with a
|
|
66
|
-
* "background work is still running" notice under a conversation where
|
|
67
|
-
* nothing is running. Only a create or close actually in progress counts.
|
|
68
|
-
*
|
|
69
|
-
* The group stays visible either way. Declaring an active source at all is
|
|
70
|
-
* what keeps it in the dock; this answers how it is drawn, not whether it is
|
|
71
|
-
* there.
|
|
72
|
-
*/
|
|
73
|
-
export const worktreeActivitySource = {
|
|
74
|
-
subscribe(listener: () => void) {
|
|
75
|
-
const subscription = worktreeActivity.store.subscribe(listener);
|
|
76
|
-
return () => subscription.unsubscribe();
|
|
77
|
-
},
|
|
78
|
-
isActive(sessionId: string | null) {
|
|
79
|
-
return worktreeActivity.select(worktreeActivity.store.state, sessionId).pending !== undefined;
|
|
80
|
-
},
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
function isRecord(value: unknown): value is Record<string, unknown> {
|
|
84
|
-
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
function optionalText(value: unknown): string | undefined {
|
|
88
|
-
return typeof value === 'string' && value !== '' ? value : undefined;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/** The plugin's session data channel: 'git_worktrees' payloads into the store. */
|
|
92
|
-
export const worktreesChannel = worktreeActivity.channel<WorktreesSession>({
|
|
93
|
-
channel: GIT_WORKTREES_TYPE,
|
|
94
|
-
parse(input) {
|
|
95
|
-
if (!isRecord(input) || !Array.isArray(input.worktrees)) return null;
|
|
96
|
-
return {
|
|
97
|
-
worktrees: input.worktrees.filter(isRecord) as unknown as WorktreeView[],
|
|
98
|
-
pending: optionalText(input.pending),
|
|
99
|
-
error: optionalText(input.error),
|
|
100
|
-
};
|
|
101
|
-
},
|
|
102
|
-
reduce(_current, next) {
|
|
103
|
-
return next;
|
|
104
|
-
},
|
|
105
|
-
});
|
|
106
|
-
|
|
107
|
-
/** Sends one command to the session's worktrees channel. */
|
|
108
|
-
function command(sessionId: string, payload: GitWorktreesCommand): void {
|
|
109
|
-
worktreeSender.store.state?.({ type: GIT_WORKTREES_TYPE, sessionId, payload });
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/** Asks the hub for a worktree. The hub answers on the same channel. */
|
|
113
|
-
export function requestWorktreeCreate(sessionId: string, branch: string, baseRef: string): void {
|
|
114
|
-
const trimmedBase = baseRef.trim();
|
|
115
|
-
command(sessionId, {
|
|
116
|
-
action: 'create',
|
|
117
|
-
branch: branch.trim(),
|
|
118
|
-
...(trimmedBase === '' ? {} : { baseRef: trimmedBase }),
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/** Asks the hub to close one worktree. Refusal on a dirty tree stays the hub's call. */
|
|
123
|
-
export function requestWorktreeClose(sessionId: string, id: string): void {
|
|
124
|
-
command(sessionId, { action: 'close', id });
|
|
125
|
-
}
|
package/src/web/tsconfig.json
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "ES2022",
|
|
4
|
-
"lib": ["ES2023", "DOM", "DOM.Iterable"],
|
|
5
|
-
"module": "ESNext",
|
|
6
|
-
"moduleResolution": "Bundler",
|
|
7
|
-
"jsx": "react-jsx",
|
|
8
|
-
"strict": true,
|
|
9
|
-
"noImplicitAny": true,
|
|
10
|
-
"noUnusedLocals": true,
|
|
11
|
-
"noUnusedParameters": true,
|
|
12
|
-
"noImplicitReturns": true,
|
|
13
|
-
"noFallthroughCasesInSwitch": true,
|
|
14
|
-
"noEmit": true,
|
|
15
|
-
"resolveJsonModule": true,
|
|
16
|
-
"esModuleInterop": true,
|
|
17
|
-
"skipLibCheck": true,
|
|
18
|
-
"allowImportingTsExtensions": true,
|
|
19
|
-
"forceConsistentCasingInFileNames": true
|
|
20
|
-
},
|
|
21
|
-
"include": [".", "../types/worktreeRegistry.ts", "../types/webWorktrees.ts", "../extensions/web.ts"]
|
|
22
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|