dsh-git-worktree 0.9.2 → 0.10.0

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.
Files changed (65) hide show
  1. package/CHANGELOG.md +418 -386
  2. package/LICENSE +21 -21
  3. package/NOTICE +16 -14
  4. package/README.en.md +169 -169
  5. package/README.md +169 -169
  6. package/cordis.patch.yml +11 -11
  7. package/docs/i18n.md +63 -63
  8. package/lib/adapters/initial-commit.js +3 -3
  9. package/lib/adapters/project-skill-provider.js +14 -4
  10. package/lib/adapters/project-skill-provider.js.map +1 -1
  11. package/lib/client/actions.d.ts +19 -3
  12. package/lib/client/actions.js +23 -3
  13. package/lib/client/actions.js.map +1 -1
  14. package/lib/client/console-remote/adapter.js +1 -1
  15. package/lib/client/console-remote/adapter.js.map +1 -1
  16. package/lib/client/console-remote/index.d.ts +10 -3
  17. package/lib/client/console-remote/index.js +56 -13
  18. package/lib/client/console-remote/index.js.map +1 -1
  19. package/lib/client/index.js +1 -0
  20. package/lib/client/index.js.map +1 -1
  21. package/lib/client/pre-session/controller.d.ts +1 -1
  22. package/lib/client/pre-session/controller.js +33 -18
  23. package/lib/client/pre-session/controller.js.map +1 -1
  24. package/lib/client/review-console/recovery-continuation.d.ts +1 -1
  25. package/lib/client/review-console/recovery-continuation.js +9 -4
  26. package/lib/client/review-console/recovery-continuation.js.map +1 -1
  27. package/lib/client/review-console/review-console.styles.js +190 -190
  28. package/lib/client/styles.js +146 -140
  29. package/lib/client/styles.js.map +1 -1
  30. package/lib/client/target-console/target-console.styles.js +155 -155
  31. package/lib/client/workspace-sidebar/index.d.ts +11 -2
  32. package/lib/client/workspace-sidebar/index.js +89 -9
  33. package/lib/client/workspace-sidebar/index.js.map +1 -1
  34. package/lib/client.js +10501 -1345
  35. package/lib/console-contract.d.ts +2 -0
  36. package/lib/console-contract.js.map +1 -1
  37. package/lib/console-host/service.js +4 -2
  38. package/lib/console-host/service.js.map +1 -1
  39. package/lib/console-remote/descriptors.js +10 -3
  40. package/lib/console-remote/descriptors.js.map +1 -1
  41. package/lib/console-remote/schemas.js +1 -0
  42. package/lib/console-remote/schemas.js.map +1 -1
  43. package/lib/host-compat.d.ts +4 -0
  44. package/lib/host-compat.js +25 -0
  45. package/lib/host-compat.js.map +1 -0
  46. package/lib/i18n/client-messages.d.ts +4 -0
  47. package/lib/i18n/client-messages.js +4 -0
  48. package/lib/i18n/client-messages.js.map +1 -1
  49. package/lib/index.d.ts +4 -1
  50. package/lib/index.js +9 -2
  51. package/lib/index.js.map +1 -1
  52. package/lib/workspace-provider-lifecycle.d.ts +16 -1
  53. package/lib/workspace-provider-lifecycle.js +69 -5
  54. package/lib/workspace-provider-lifecycle.js.map +1 -1
  55. package/package.json +153 -149
  56. package/scripts/check-publish.mjs +239 -238
  57. package/scripts/check-workspace-sidebar-version.mjs +18 -14
  58. package/scripts/clean-lib.mjs +7 -7
  59. package/scripts/dev-dsh-lib.mjs +547 -509
  60. package/scripts/dev-dsh.mjs +98 -95
  61. package/scripts/dsh-source-runner.mjs +20 -14
  62. package/scripts/workspace-sidebar-upstream-alpha.mjs +102 -0
  63. package/scripts/workspace-sidebar-upstream-next.mjs +134 -0
  64. package/scripts/workspace-sidebar-upstream.d.mts +8 -8
  65. package/scripts/workspace-sidebar-upstream.mjs +182 -162
@@ -1,15 +1,35 @@
1
+ import { hostWorkspaceClientFlavor } from './host-compat.js';
1
2
  export const WORKSPACE_PROVIDER_CONDITION = "!!get('worktreeWorkspaceProvider') && [...loader.entries()].some(entry => entry.options?.name === 'dsh-git-worktree' && !entry.disabled)";
2
3
  const OFFICIAL_WORKSPACE = '@deepseek-ai/dsh-client-ui-workspace';
3
4
  // Cordis exposes FiberState as a declaration-only const enum, not a JS export.
4
5
  const UNLOADING = 5;
6
+ // One Loader election operation that has not settled by this ceiling stops
7
+ // blocking the chain: plugin activation must never depend on the Host's
8
+ // concurrent entry startup unwinding first (a wedged official-fiber dispose
9
+ // would otherwise starve every Remote, tool, and command mount).
10
+ const DEFAULT_OPERATION_TIMEOUT_MS = 10_000;
5
11
  /**
6
12
  * Reconcile the conditional patch with the public Loader lifecycle. A disabled
7
13
  * expression is evaluated dynamically, but the Web module registry caches rows
8
14
  * by plugin name; a change to the replacement alone does not re-elect Workspace.
9
15
  * Restarting the official entry through Loader operations publishes real module
10
16
  * events without saving any disabled flag or changing the user's profile.
17
+ *
18
+ * Election never blocks (or fails) plugin activation: Host boots start entries
19
+ * concurrently, so the official entry's disable may race a fiber that is still
20
+ * starting, and Loader versions differ in how such a dispose settles. Each
21
+ * operation therefore races a ceiling; a wedged one is reported once and the
22
+ * entry stays guarded until the real operation settles, while the next Loader
23
+ * event retries the election. The disabled expression itself already keeps any
24
+ * not-yet-started official entry out of the Web module graph, so the Web side
25
+ * never observes two `uiWorkspace` providers from a slow reconciliation.
11
26
  */
12
- export async function mountWorkspaceProviderLifecycle(ctx) {
27
+ export function mountWorkspaceProviderLifecycle(ctx, flavor = hostWorkspaceClientFlavor(), options = {}) {
28
+ if (flavor === 'unsupported') {
29
+ ctx.logger.warn('No pinned Workspace Browser for this Host generation; leaving the official Workspace provider active.');
30
+ return;
31
+ }
32
+ const operationTimeoutMs = options.operationTimeoutMs ?? DEFAULT_OPERATION_TIMEOUT_MS;
13
33
  const loader = ctx.loader;
14
34
  const owned = () => [...loader.entries()].filter(entry => {
15
35
  const disabled = entry.options.disabled;
@@ -19,17 +39,59 @@ export async function mountWorkspaceProviderLifecycle(ctx) {
19
39
  });
20
40
  let released = false;
21
41
  let pending = Promise.resolve();
42
+ // Entries whose real Loader operation is still in flight (possibly past the
43
+ // ceiling). Later reconciles skip them until the operation itself settles,
44
+ // which keeps at most one Loader mutation per entry alive at any time.
45
+ const inFlight = new Set();
46
+ const operate = (entry, kind) => new Promise(resolve => {
47
+ const key = entry.id;
48
+ const label = kind === 'disable' ? 'official Workspace disable' : 'official Workspace restore';
49
+ let operation;
50
+ try {
51
+ operation = kind === 'disable' ? entry.update({}, false, true) : entry.refresh();
52
+ }
53
+ catch (error) {
54
+ ctx.logger.warn(`dsh-git-worktree: ${label} threw during Loader reconciliation`, error);
55
+ resolve();
56
+ return;
57
+ }
58
+ const settle = () => { inFlight.delete(key); };
59
+ inFlight.add(key);
60
+ void operation.then(settle, settle);
61
+ const timer = setTimeout(() => {
62
+ ctx.logger.warn(`dsh-git-worktree: ${label} did not settle within ${String(operationTimeoutMs)}ms; `
63
+ + 'plugin activation continues and election retries on the next Loader event.');
64
+ resolve();
65
+ }, operationTimeoutMs);
66
+ timer.unref?.();
67
+ void operation.then(() => { clearTimeout(timer); settle(); resolve(); }, error => {
68
+ clearTimeout(timer);
69
+ settle();
70
+ ctx.logger.warn(`dsh-git-worktree: ${label} failed during Loader reconciliation`, error);
71
+ resolve();
72
+ });
73
+ });
22
74
  const reconcile = () => {
23
75
  pending = pending.then(async () => {
24
76
  if (released)
25
77
  return;
26
78
  for (const entry of owned()) {
27
- if (entry.disabled) {
79
+ if (inFlight.has(entry.id))
80
+ continue;
81
+ let disabled;
82
+ try {
83
+ disabled = entry.disabled;
84
+ }
85
+ catch (error) {
86
+ ctx.logger.warn('dsh-git-worktree: could not evaluate the official Workspace disabled expression', error);
87
+ continue;
88
+ }
89
+ if (disabled) {
28
90
  if (!released)
29
- await entry.update({}, false, true);
91
+ await operate(entry, 'disable');
30
92
  }
31
93
  else {
32
- await entry.refresh();
94
+ await operate(entry, 'restore');
33
95
  }
34
96
  }
35
97
  });
@@ -60,6 +122,8 @@ export async function mountWorkspaceProviderLifecycle(ctx) {
60
122
  void reconcile().catch(error => ctx.logger.warn(error));
61
123
  }
62
124
  });
63
- await reconcile();
125
+ // Deliberately fire-and-forget: this pass only stops an official fiber that
126
+ // raced ahead during concurrent boot; activation itself must not wait on it.
127
+ void reconcile().catch(error => ctx.logger.warn(error));
64
128
  }
65
129
  //# sourceMappingURL=workspace-provider-lifecycle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-provider-lifecycle.js","sourceRoot":"","sources":["../src/workspace-provider-lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-provider-lifecycle.js","sourceRoot":"","sources":["../src/workspace-provider-lifecycle.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,149 +1,153 @@
1
- {
2
- "name": "dsh-git-worktree",
3
- "version": "0.9.2",
4
- "description": "Experimental Git worktree Session Targets for DeepSeek Harness with isolated sessions, review checkpoints, human-confirmed delivery, and safe recovery.",
5
- "type": "module",
6
- "main": "lib/index.js",
7
- "types": "lib/index.d.ts",
8
- "exports": {
9
- ".": {
10
- "types": "./lib/index.d.ts",
11
- "default": "./lib/index.js"
12
- },
13
- "./client": {
14
- "types": "./lib/client/console-remote/index.d.ts",
15
- "default": "./lib/client.js"
16
- },
17
- "./typert": {
18
- "types": "./lib/console-remote/typert.d.ts",
19
- "default": "./lib/console-remote/typert.js"
20
- },
21
- "./remote": {
22
- "types": "./lib/console-remote/remote.d.ts",
23
- "default": "./lib/console-remote/remote.js"
24
- },
25
- "./console-contract": {
26
- "types": "./lib/console-contract.d.ts",
27
- "default": "./lib/console-contract.js"
28
- },
29
- "./package.json": "./package.json",
30
- "./cordis.patch.yml": "./cordis.patch.yml"
31
- },
32
- "files": [
33
- "lib",
34
- "scripts",
35
- "CHANGELOG.md",
36
- "docs/i18n.md",
37
- "NOTICE",
38
- "cordis.patch.yml"
39
- ],
40
- "license": "MIT",
41
- "dsh": {
42
- "bundle": {
43
- "patch": "./cordis.patch.yml"
44
- },
45
- "client": {
46
- "inject": [
47
- "@deepseek-ai/dsh-api-session-controller",
48
- "@deepseek-ai/dsh-api-workspace-controller",
49
- "@deepseek-ai/dsh-client-connection",
50
- "@deepseek-ai/dsh-client-locale",
51
- "@deepseek-ai/dsh-client-ui-conversation",
52
- "@deepseek-ai/dsh-client-ui-tool",
53
- "@deepseek-ai/dsh-api-gateway"
54
- ],
55
- "platform": "web"
56
- }
57
- },
58
- "repository": {
59
- "type": "git",
60
- "url": "git+https://github.com/wloops/dsh-git-worktree.git"
61
- },
62
- "bugs": {
63
- "url": "https://github.com/wloops/dsh-git-worktree/issues"
64
- },
65
- "homepage": "https://github.com/wloops/dsh-git-worktree#readme",
66
- "engines": {
67
- "node": "^22.19.0 || >=24.0.0"
68
- },
69
- "scripts": {
70
- "build": "node scripts/clean-lib.mjs && tsc && tsdown",
71
- "typecheck": "tsc --noEmit",
72
- "test": "vitest run",
73
- "prepare": "pnpm run build",
74
- "check:sidebar-version": "node scripts/check-workspace-sidebar-version.mjs",
75
- "check:publish": "node scripts/check-publish.mjs",
76
- "check:publish:release": "node scripts/check-publish.mjs --require-clean",
77
- "dev:dsh": "node scripts/dev-dsh.mjs run",
78
- "dev:dsh:install": "node scripts/dev-dsh.mjs install",
79
- "dev:dsh:smoke": "node scripts/dev-dsh.mjs smoke",
80
- "dev:dsh:remove": "node scripts/dev-dsh.mjs remove",
81
- "prepublishOnly": "pnpm run check:sidebar-version && pnpm run build && pnpm run check:publish:release && pnpm run test"
82
- },
83
- "dependencies": {
84
- "@deepseek-ai/schemastery": "3.18.2",
85
- "lucide-react": "1.43.0",
86
- "zod": "4.4.3"
87
- },
88
- "peerDependencies": {
89
- "@deepseek-ai/cordis": "^4.0.2",
90
- "@deepseek-ai/cordis-plugin-loader": "^1.0.3",
91
- "@deepseek-ai/dsh-agent": "^0.1.2-rc.1",
92
- "@deepseek-ai/dsh-client-locale": "0.1.2-rc.1",
93
- "@deepseek-ai/dsh-commands": "^0.1.2-rc.1",
94
- "@deepseek-ai/dsh-session": "^0.1.2-rc.1",
95
- "@deepseek-ai/dsh-skill": "^0.1.2-rc.1",
96
- "@deepseek-ai/dsh-skill-filesystem": "^0.1.2-rc.1",
97
- "@deepseek-ai/dsh-subprocess": "^0.1.2-rc.1",
98
- "@deepseek-ai/dsh-system-prompt": "^0.1.2-rc.1",
99
- "@deepseek-ai/dsh-tools": "^0.1.2-rc.1",
100
- "@deepseek-ai/dsh-typert-protocol": "^0.1.2-rc.1",
101
- "@deepseek-ai/dsh-typert-registry": "^0.1.2-rc.1",
102
- "react": "^18.2.0",
103
- "@deepseek-ai/dsh-fs": "^0.1.2-rc.1"
104
- },
105
- "devDependencies": {
106
- "@deepseek-ai/cordis": "4.0.2",
107
- "@deepseek-ai/cordis-plugin-include": "1.0.7",
108
- "@deepseek-ai/cordis-plugin-loader": "1.0.3",
109
- "@deepseek-ai/dsh-agent": "0.1.2-rc.1",
110
- "@deepseek-ai/dsh-api-gateway": "0.1.2-rc.1",
111
- "@deepseek-ai/dsh-api-session-controller": "0.1.2-rc.1",
112
- "@deepseek-ai/dsh-api-workspace-controller": "0.1.2-rc.1",
113
- "@deepseek-ai/dsh-client-connection": "0.1.2-rc.1",
114
- "@deepseek-ai/dsh-client-locale": "0.1.2-rc.1",
115
- "@deepseek-ai/dsh-client-modules": "0.1.2-rc.1",
116
- "@deepseek-ai/dsh-client-store": "0.1.2-rc.1",
117
- "@deepseek-ai/dsh-client-ui-primitives": "0.1.2-rc.1",
118
- "@deepseek-ai/dsh-client-ui-workspace": "0.1.2-rc.1",
119
- "@deepseek-ai/dsh-commands": "0.1.2-rc.1",
120
- "@deepseek-ai/dsh-fs": "0.1.2-rc.1",
121
- "@deepseek-ai/dsh-session": "0.1.2-rc.1",
122
- "@deepseek-ai/dsh-skill": "0.1.2-rc.1",
123
- "@deepseek-ai/dsh-skill-filesystem": "0.1.2-rc.1",
124
- "@deepseek-ai/dsh-subprocess": "0.1.2-rc.1",
125
- "@deepseek-ai/dsh-system-prompt": "0.1.2-rc.1",
126
- "@deepseek-ai/dsh-tools": "0.1.2-rc.1",
127
- "@deepseek-ai/dsh-typert-loader": "0.1.2-rc.1",
128
- "@deepseek-ai/dsh-typert-protocol": "0.1.2-rc.1",
129
- "@deepseek-ai/dsh-typert-registry": "0.1.2-rc.1",
130
- "@testing-library/react": "^16.3.2",
131
- "@types/node": "^22.0.0",
132
- "@types/react": "~18.3.31",
133
- "@types/react-dom": "~18.3.7",
134
- "jsdom": "^24.1.3",
135
- "react": "^18.3.1",
136
- "react-dom": "^18.3.1",
137
- "tsdown": "^0.17.2",
138
- "typescript": "^5.6.0",
139
- "vitest": "^2.1.0"
140
- },
141
- "keywords": [
142
- "deepseek-harness",
143
- "dsh",
144
- "cordis",
145
- "plugin",
146
- "worktree",
147
- "git"
148
- ]
149
- }
1
+ {
2
+ "name": "dsh-git-worktree",
3
+ "version": "0.10.0",
4
+ "description": "Experimental Git worktree Session Targets for DeepSeek Harness with isolated sessions, review checkpoints, human-confirmed delivery, and safe recovery.",
5
+ "type": "module",
6
+ "main": "lib/index.js",
7
+ "types": "lib/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./lib/index.d.ts",
11
+ "default": "./lib/index.js"
12
+ },
13
+ "./client": {
14
+ "types": "./lib/client/console-remote/index.d.ts",
15
+ "default": "./lib/client.js"
16
+ },
17
+ "./typert": {
18
+ "types": "./lib/console-remote/typert.d.ts",
19
+ "default": "./lib/console-remote/typert.js"
20
+ },
21
+ "./remote": {
22
+ "types": "./lib/console-remote/remote.d.ts",
23
+ "default": "./lib/console-remote/remote.js"
24
+ },
25
+ "./console-contract": {
26
+ "types": "./lib/console-contract.d.ts",
27
+ "default": "./lib/console-contract.js"
28
+ },
29
+ "./package.json": "./package.json",
30
+ "./cordis.patch.yml": "./cordis.patch.yml"
31
+ },
32
+ "files": [
33
+ "lib",
34
+ "scripts",
35
+ "CHANGELOG.md",
36
+ "docs/i18n.md",
37
+ "NOTICE",
38
+ "cordis.patch.yml"
39
+ ],
40
+ "license": "MIT",
41
+ "dsh": {
42
+ "bundle": {
43
+ "patch": "./cordis.patch.yml"
44
+ },
45
+ "client": {
46
+ "inject": [
47
+ "@deepseek-ai/dsh-api-session-controller",
48
+ "@deepseek-ai/dsh-api-workspace-controller",
49
+ "@deepseek-ai/dsh-client-connection",
50
+ "@deepseek-ai/dsh-client-locale",
51
+ "@deepseek-ai/dsh-client-ui-conversation",
52
+ "@deepseek-ai/dsh-client-ui-tool",
53
+ "@deepseek-ai/dsh-api-gateway"
54
+ ],
55
+ "platform": "web"
56
+ }
57
+ },
58
+ "repository": {
59
+ "type": "git",
60
+ "url": "git+https://github.com/wloops/dsh-git-worktree.git"
61
+ },
62
+ "bugs": {
63
+ "url": "https://github.com/wloops/dsh-git-worktree/issues"
64
+ },
65
+ "homepage": "https://github.com/wloops/dsh-git-worktree#readme",
66
+ "engines": {
67
+ "node": "^22.19.0 || >=24.0.0"
68
+ },
69
+ "scripts": {
70
+ "build": "node scripts/clean-lib.mjs && tsc && tsdown",
71
+ "typecheck": "tsc --noEmit",
72
+ "test": "vitest run",
73
+ "prepare": "pnpm run build",
74
+ "check:sidebar-version": "node scripts/check-workspace-sidebar-version.mjs",
75
+ "check:publish": "node scripts/check-publish.mjs",
76
+ "check:publish:release": "node scripts/check-publish.mjs --require-clean",
77
+ "dev:dsh": "node scripts/dev-dsh.mjs run",
78
+ "dev:dsh:install": "node scripts/dev-dsh.mjs install",
79
+ "dev:dsh:smoke": "node scripts/dev-dsh.mjs smoke",
80
+ "dev:dsh:remove": "node scripts/dev-dsh.mjs remove",
81
+ "prepublishOnly": "pnpm run check:sidebar-version && pnpm run build && pnpm run check:publish:release && pnpm run test"
82
+ },
83
+ "dependencies": {
84
+ "@deepseek-ai/schemastery": "3.18.2",
85
+ "lucide-react": "1.43.0",
86
+ "zod": "4.4.3"
87
+ },
88
+ "peerDependencies": {
89
+ "@deepseek-ai/cordis": "^4.0.4",
90
+ "@deepseek-ai/cordis-plugin-loader": "^1.0.3",
91
+ "@deepseek-ai/dsh-agent": "0.2.0-rc.2",
92
+ "@deepseek-ai/dsh-client-locale": "0.2.0-rc.2",
93
+ "@deepseek-ai/dsh-commands": "0.2.0-rc.2",
94
+ "@deepseek-ai/dsh-fs": "0.2.0-rc.2",
95
+ "@deepseek-ai/dsh-session": "0.2.0-rc.2",
96
+ "@deepseek-ai/dsh-skill": "0.2.0-rc.2",
97
+ "@deepseek-ai/dsh-skill-filesystem": "0.2.0-rc.2",
98
+ "@deepseek-ai/dsh-subprocess": "0.2.0-rc.2",
99
+ "@deepseek-ai/dsh-system-prompt": "0.2.0-rc.2",
100
+ "@deepseek-ai/dsh-tools": "0.2.0-rc.2",
101
+ "@deepseek-ai/dsh-typert-protocol": "0.2.0-rc.2",
102
+ "@deepseek-ai/dsh-typert-registry": "0.2.0-rc.2",
103
+ "react": "^18.2.0"
104
+ },
105
+ "devDependencies": {
106
+ "@deepseek-ai/cordis": "4.0.4",
107
+ "@deepseek-ai/cordis-plugin-include": "1.0.7",
108
+ "@deepseek-ai/cordis-plugin-loader": "1.0.3",
109
+ "@deepseek-ai/dsh-agent": "0.2.0-rc.2",
110
+ "@deepseek-ai/dsh-api-gateway": "0.2.0-rc.2",
111
+ "@deepseek-ai/dsh-api-session-controller": "0.2.0-rc.2",
112
+ "@deepseek-ai/dsh-api-workspace-controller": "0.2.0-rc.2",
113
+ "@deepseek-ai/dsh-client-connection": "0.2.0-rc.2",
114
+ "@deepseek-ai/dsh-client-locale": "0.2.0-rc.2",
115
+ "@deepseek-ai/dsh-client-modules": "0.2.0-rc.2",
116
+ "@deepseek-ai/dsh-client-store": "0.2.0-rc.2",
117
+ "@deepseek-ai/dsh-client-ui-primitives": "0.2.0-rc.2",
118
+ "@deepseek-ai/dsh-client-ui-workspace": "0.2.0-rc.2",
119
+ "@deepseek-ai/dsh-client-ui-workspace-alpha": "npm:@deepseek-ai/dsh-client-ui-workspace@0.1.6-alpha.2",
120
+ "@deepseek-ai/dsh-client-ui-workspace-next": "npm:@deepseek-ai/dsh-client-ui-workspace@0.1.7-rc.2",
121
+ "@deepseek-ai/dsh-commands": "0.2.0-rc.2",
122
+ "@deepseek-ai/dsh-fs": "0.2.0-rc.2",
123
+ "@deepseek-ai/dsh-session": "0.2.0-rc.2",
124
+ "@deepseek-ai/dsh-skill": "0.2.0-rc.2",
125
+ "@deepseek-ai/dsh-skill-filesystem": "0.2.0-rc.2",
126
+ "@deepseek-ai/dsh-subprocess": "0.2.0-rc.2",
127
+ "@deepseek-ai/dsh-system-prompt": "0.2.0-rc.2",
128
+ "@deepseek-ai/dsh-tools": "0.2.0-rc.2",
129
+ "@deepseek-ai/dsh-typert-loader": "0.2.0-rc.2",
130
+ "@deepseek-ai/dsh-typert-protocol": "0.2.0-rc.2",
131
+ "@deepseek-ai/dsh-typert-registry": "0.2.0-rc.2",
132
+ "@testing-library/react": "^16.3.2",
133
+ "@types/node": "^22.0.0",
134
+ "@types/react": "~18.3.31",
135
+ "@types/react-dom": "~18.3.7",
136
+ "immer": "^10.1.1",
137
+ "jsdom": "^24.1.3",
138
+ "react": "^18.3.1",
139
+ "react-dom": "^18.3.1",
140
+ "tsdown": "^0.17.2",
141
+ "typescript": "^5.6.0",
142
+ "zustand": "~4.4.7",
143
+ "vitest": "^2.1.0"
144
+ },
145
+ "keywords": [
146
+ "deepseek-harness",
147
+ "dsh",
148
+ "cordis",
149
+ "plugin",
150
+ "worktree",
151
+ "git"
152
+ ]
153
+ }