@dsh-electron/dsh-plugin-multi-root-workspace 0.1.9 → 0.1.10

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 (50) hide show
  1. package/CHANGELOG.en.md +14 -1
  2. package/CHANGELOG.md +14 -1
  3. package/README.en.md +23 -8
  4. package/README.md +23 -8
  5. package/cordis.patch.yml +4 -0
  6. package/lib/auto-review.js +1 -1
  7. package/lib/client.js +573 -131
  8. package/lib/client.js.map +1 -1
  9. package/lib/{command-Bwd6EGNV.js → command-BGdz7VBH.js} +65 -5
  10. package/lib/command.js +1 -1
  11. package/lib/{compat-CagUNzRB.js → compat-D-MljsPV.js} +12 -1
  12. package/lib/compat.js +1 -1
  13. package/lib/{contract-DZ4zczDT.js → contract-CStSEOcK.js} +44 -1
  14. package/lib/index.js +6 -5
  15. package/lib/{instructions-CGNS3H0H.js → instructions-MePoRigy.js} +2 -206
  16. package/lib/instructions.js +1 -1
  17. package/lib/llm-message-fYORacvh.js +206 -0
  18. package/lib/metadata-DgqSdVX_.js +35 -0
  19. package/lib/{registry-BClm6wfh.js → registry-KSsmU393.js} +60 -7
  20. package/lib/registry.js +1 -1
  21. package/lib/{review-context-D-ohSVmA.js → review-context-AH-SXHmj.js} +1 -1
  22. package/lib/review-context.js +1 -1
  23. package/lib/scope.js +1 -1
  24. package/lib/skills.js +790 -0
  25. package/lib/types/client/WorkspaceFoldersAction.d.ts +1 -1
  26. package/lib/types/client/locales.d.ts +26 -16
  27. package/lib/types/client/skills-client.d.ts +23 -0
  28. package/lib/types/client/skills-settings.d.ts +10 -0
  29. package/lib/types/client/skills.d.ts +36 -0
  30. package/lib/types/client/styles.d.ts +1 -1
  31. package/lib/types/command.d.ts +1 -1
  32. package/lib/types/compat/client-session.d.ts +2 -0
  33. package/lib/types/compat/dsh-version.d.ts +5 -5
  34. package/lib/types/compat/skill-content.d.ts +3 -0
  35. package/lib/types/compat/skills-client.d.ts +33 -0
  36. package/lib/types/compat/skills-settings.d.ts +8 -0
  37. package/lib/types/compat/skills.d.ts +13 -0
  38. package/lib/types/compat/storage-zod.d.ts +1 -0
  39. package/lib/types/contract.d.ts +12 -1
  40. package/lib/types/registry.d.ts +7 -0
  41. package/lib/types/roots.d.ts +4 -1
  42. package/lib/types/skills/catalog.d.ts +34 -0
  43. package/lib/types/skills/invocation.d.ts +7 -0
  44. package/lib/types/skills/metadata.d.ts +13 -0
  45. package/lib/types/skills/pool.d.ts +19 -0
  46. package/lib/types/skills/reader.d.ts +3 -0
  47. package/lib/types/skills/routing.d.ts +2 -0
  48. package/lib/types/skills-contract.d.ts +39 -0
  49. package/lib/types/skills.d.ts +43 -0
  50. package/package.json +96 -83
@@ -0,0 +1,39 @@
1
+ /** Browser-safe Skills wire shapes. Session IDs select authority; clients never send paths. */
2
+ import { z } from 'zod';
3
+ export declare const SKILLS_ENDPOINTS: readonly ["skillsList", "skillsPreview", "skillsChanges"];
4
+ export type SkillsEndpoint = typeof SKILLS_ENDPOINTS[number];
5
+ export declare const skillsRequestSchema: z.ZodObject<{
6
+ sessionId: z.ZodString;
7
+ name: z.ZodOptional<z.ZodString>;
8
+ generation: z.ZodOptional<z.ZodNumber>;
9
+ }, z.core.$strict>;
10
+ export declare const skillsStatusSchema: z.ZodObject<{
11
+ sessionId: z.ZodString;
12
+ generation: z.ZodNumber;
13
+ enabled: z.ZodBoolean;
14
+ }, z.core.$strip>;
15
+ export declare const skillsCatalogSchema: z.ZodObject<{
16
+ skills: z.ZodArray<z.ZodObject<{
17
+ name: z.ZodString;
18
+ description: z.ZodString;
19
+ modelInvocable: z.ZodBoolean;
20
+ }, z.core.$strip>>;
21
+ sessionId: z.ZodString;
22
+ generation: z.ZodNumber;
23
+ enabled: z.ZodBoolean;
24
+ }, z.core.$strip>;
25
+ export declare const skillsPreviewSchema: z.ZodObject<{
26
+ name: z.ZodString;
27
+ content: z.ZodString;
28
+ sessionId: z.ZodString;
29
+ generation: z.ZodNumber;
30
+ enabled: z.ZodBoolean;
31
+ }, z.core.$strip>;
32
+ export type SkillsStatusView = z.infer<typeof skillsStatusSchema>;
33
+ export type SkillsCatalogView = z.infer<typeof skillsCatalogSchema>;
34
+ export type SkillsPreviewView = z.infer<typeof skillsPreviewSchema>;
35
+ export interface SkillsResponseMap {
36
+ skillsList: SkillsCatalogView;
37
+ skillsPreview: SkillsPreviewView;
38
+ skillsChanges: SkillsStatusView;
39
+ }
@@ -0,0 +1,43 @@
1
+ /** Optional Skills host entry. Kept outside the carrier's module evaluation graph. */
2
+ import { Service, type Context } from '@deepseek-ai/cordis';
3
+ import z from '@deepseek-ai/schemastery';
4
+ import type { SkillsCatalogView, SkillsPreviewView, SkillsStatusView } from './skills-contract.ts';
5
+ export interface Config {
6
+ readonly enabled?: boolean;
7
+ }
8
+ export declare const Config: z<Schemastery.ObjectS<NoInfer<{
9
+ enabled: z<boolean, boolean, "defined">;
10
+ }>>, Schemastery.ObjectT<NoInfer<{
11
+ enabled: z<boolean, boolean, "defined">;
12
+ }>>, "plain">;
13
+ declare module '@deepseek-ai/cordis' {
14
+ interface Context {
15
+ multiRootSkills: MultiRootSkills;
16
+ }
17
+ }
18
+ /** Assembly owner; discovery is installed only after native services arrive. */
19
+ export declare class MultiRootSkills extends Service {
20
+ private readonly settingsConfig;
21
+ static Config: z<Schemastery.ObjectS<NoInfer<{
22
+ enabled: z<boolean, boolean, "defined">;
23
+ }>>, Schemastery.ObjectT<NoInfer<{
24
+ enabled: z<boolean, boolean, "defined">;
25
+ }>>, "plain">;
26
+ static provide: string;
27
+ static inject: string[];
28
+ constructor(ctx: Context, settingsConfig?: Config);
29
+ private settingsRead;
30
+ private revision;
31
+ private catalog;
32
+ private readonly changed;
33
+ private closing;
34
+ get generation(): number;
35
+ invalidate(): void;
36
+ private status;
37
+ listSession(sessionId: string, signal?: AbortSignal): Promise<SkillsCatalogView>;
38
+ previewSession(sessionId: string, name: string, signal?: AbortSignal): Promise<SkillsPreviewView>;
39
+ changes(sessionId: string, generation: number, signal?: AbortSignal): Promise<SkillsStatusView>;
40
+ protected [Service.init](): Promise<void>;
41
+ get enabled(): boolean;
42
+ }
43
+ export default MultiRootSkills;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dsh-electron/dsh-plugin-multi-root-workspace",
3
3
  "description": "Multi-root Workspace for DeepSeek Harness: adds N additional roots to the workspace sandbox scope as an out-of-tree bundle",
4
- "version": "0.1.9",
4
+ "version": "0.1.10",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/types/index.d.ts",
@@ -70,6 +70,10 @@
70
70
  "./auto-review": {
71
71
  "types": "./lib/types/auto-review/entry.d.ts",
72
72
  "default": "./lib/auto-review.js"
73
+ },
74
+ "./skills": {
75
+ "types": "./lib/types/skills.d.ts",
76
+ "default": "./lib/skills.js"
73
77
  }
74
78
  },
75
79
  "files": [
@@ -102,28 +106,33 @@
102
106
  "license": "MIT",
103
107
  "peerDependencies": {
104
108
  "@deepseek-ai/cordis": ">=4.0.1 <5.0.0 || 4.0.5-alpha.1 || 4.0.5-alpha.2",
105
- "@deepseek-ai/dsh-agent": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2",
106
- "@deepseek-ai/dsh-agent-instructions": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2",
107
- "@deepseek-ai/dsh-api-workspace-files": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2",
108
- "@deepseek-ai/dsh-client-connection": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2",
109
- "@deepseek-ai/dsh-commands": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2",
110
- "@deepseek-ai/dsh-fs": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2",
111
- "@deepseek-ai/dsh-fs-local": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2",
112
- "@deepseek-ai/dsh-llm": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2",
113
- "@deepseek-ai/dsh-lsp": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2",
114
- "@deepseek-ai/dsh-lsp-stdio": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2",
115
- "@deepseek-ai/dsh-sandbox": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2",
116
- "@deepseek-ai/dsh-sandbox-local": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2",
117
- "@deepseek-ai/dsh-sandbox-policy": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2",
118
- "@deepseek-ai/dsh-sandbox-windows-acl": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2",
119
- "@deepseek-ai/dsh-session": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2",
120
- "@deepseek-ai/dsh-storage-domain": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2",
121
- "@deepseek-ai/dsh-subprocess": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2",
122
- "@deepseek-ai/dsh-system-prompt": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2",
123
- "@deepseek-ai/dsh-tools": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2",
124
- "@deepseek-ai/dsh-typert-protocol": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2",
125
- "@deepseek-ai/dsh-permission-presets": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2",
126
- "@deepseek-ai/dsh-util-values": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2"
109
+ "@deepseek-ai/dsh-agent": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
110
+ "@deepseek-ai/dsh-agent-instructions": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
111
+ "@deepseek-ai/dsh-api-workspace-files": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
112
+ "@deepseek-ai/dsh-client-connection": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
113
+ "@deepseek-ai/dsh-commands": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
114
+ "@deepseek-ai/dsh-fs": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
115
+ "@deepseek-ai/dsh-fs-local": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
116
+ "@deepseek-ai/dsh-llm": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
117
+ "@deepseek-ai/dsh-lsp": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
118
+ "@deepseek-ai/dsh-lsp-stdio": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
119
+ "@deepseek-ai/dsh-sandbox": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
120
+ "@deepseek-ai/dsh-sandbox-local": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
121
+ "@deepseek-ai/dsh-sandbox-policy": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
122
+ "@deepseek-ai/dsh-sandbox-windows-acl": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
123
+ "@deepseek-ai/dsh-session": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
124
+ "@deepseek-ai/dsh-storage-domain": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
125
+ "@deepseek-ai/dsh-subprocess": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
126
+ "@deepseek-ai/dsh-system-prompt": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
127
+ "@deepseek-ai/dsh-tools": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
128
+ "@deepseek-ai/dsh-typert-protocol": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
129
+ "@deepseek-ai/dsh-permission-presets": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
130
+ "@deepseek-ai/dsh-util-values": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
131
+ "@deepseek-ai/dsh-skill": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
132
+ "@deepseek-ai/dsh-skill-filesystem": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
133
+ "@deepseek-ai/dsh-settings": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
134
+ "@deepseek-ai/dsh-api-session-controller": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3",
135
+ "@deepseek-ai/dsh-session-query": "0.1.5-rc.2 || 0.1.6-alpha.1 || 0.1.6-alpha.2 || 0.1.7-alpha.1 || 0.1.7-alpha.2 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4 || 0.2.1-alpha.5 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3"
127
136
  },
128
137
  "peerDependenciesMeta": {
129
138
  "@deepseek-ai/dsh-agent": {
@@ -173,51 +182,66 @@
173
182
  },
174
183
  "@deepseek-ai/dsh-util-values": {
175
184
  "optional": true
185
+ },
186
+ "@deepseek-ai/dsh-skill": {
187
+ "optional": true
188
+ },
189
+ "@deepseek-ai/dsh-skill-filesystem": {
190
+ "optional": true
191
+ },
192
+ "@deepseek-ai/dsh-settings": {
193
+ "optional": true
194
+ },
195
+ "@deepseek-ai/dsh-api-session-controller": {
196
+ "optional": true
197
+ },
198
+ "@deepseek-ai/dsh-session-query": {
199
+ "optional": true
176
200
  }
177
201
  },
178
202
  "devDependencies": {
179
203
  "@deepseek-ai/cordis": "4.0.5",
180
- "@deepseek-ai/dsh": "0.2.1-rc.2",
181
- "@deepseek-ai/dsh-agent": "0.2.1-rc.2",
182
- "@deepseek-ai/dsh-agent-instructions": "0.2.1-rc.2",
183
- "@deepseek-ai/dsh-api-remotes": "0.2.1-rc.2",
184
- "@deepseek-ai/dsh-api-workspace-files": "0.2.1-rc.2",
185
- "@deepseek-ai/dsh-app-boot": "0.2.1-rc.2",
186
- "@deepseek-ai/dsh-base": "0.2.1-rc.2",
187
- "@deepseek-ai/dsh-client-connection": "0.2.1-rc.2",
188
- "@deepseek-ai/dsh-client-locale": "0.2.1-rc.2",
189
- "@deepseek-ai/dsh-client-store": "0.2.1-rc.2",
190
- "@deepseek-ai/dsh-client-ui-dockkit": "0.2.1-rc.2",
191
- "@deepseek-ai/dsh-client-ui-primitives": "0.2.1-rc.2",
192
- "@deepseek-ai/dsh-client-ui-renderer": "0.2.1-rc.2",
193
- "@deepseek-ai/dsh-client-ui-session": "0.2.1-rc.2",
194
- "@deepseek-ai/dsh-client-ui-sidebar": "0.2.1-rc.2",
195
- "@deepseek-ai/dsh-client-ui-slots": "0.2.1-rc.2",
196
- "@deepseek-ai/dsh-client-ui-workspace": "0.2.1-rc.2",
197
- "@deepseek-ai/dsh-commands": "0.2.1-rc.2",
198
- "@deepseek-ai/dsh-fs": "0.2.1-rc.2",
199
- "@deepseek-ai/dsh-fs-local": "0.2.1-rc.2",
200
- "@deepseek-ai/dsh-fs-sandbox": "0.2.1-rc.2",
201
- "@deepseek-ai/dsh-host-open-in-app": "0.2.1-rc.2",
202
- "@deepseek-ai/dsh-llm": "0.2.1-rc.2",
203
- "@deepseek-ai/dsh-lsp": "0.2.1-rc.2",
204
- "@deepseek-ai/dsh-lsp-stdio": "0.2.1-rc.2",
205
- "@deepseek-ai/dsh-sandbox": "0.2.1-rc.2",
206
- "@deepseek-ai/dsh-sandbox-local": "0.2.1-rc.2",
207
- "@deepseek-ai/dsh-sandbox-policy": "0.2.1-rc.2",
208
- "@deepseek-ai/dsh-sandbox-windows-acl": "0.2.1-rc.2",
209
- "@deepseek-ai/dsh-session": "0.2.1-rc.2",
210
- "@deepseek-ai/dsh-session-projection": "0.2.1-rc.2",
211
- "@deepseek-ai/dsh-storage": "0.2.1-rc.2",
212
- "@deepseek-ai/dsh-storage-domain": "0.2.1-rc.2",
213
- "@deepseek-ai/dsh-storage-json": "0.2.1-rc.2",
214
- "@deepseek-ai/dsh-subprocess": "0.2.1-rc.2",
215
- "@deepseek-ai/dsh-subprocess-local": "0.2.1-rc.2",
216
- "@deepseek-ai/dsh-system-prompt": "0.2.1-rc.2",
217
- "@deepseek-ai/dsh-tools": "0.2.1-rc.2",
218
- "@deepseek-ai/dsh-typert-protocol": "0.2.1-rc.2",
219
- "@deepseek-ai/dsh-util-workspace-path": "0.2.1-rc.2",
220
- "@deepseek-ai/dsh-workspace": "0.2.1-rc.2",
204
+ "@deepseek-ai/dsh": "0.2.1-rc.3",
205
+ "@deepseek-ai/dsh-agent": "0.2.1-rc.3",
206
+ "@deepseek-ai/dsh-agent-instructions": "0.2.1-rc.3",
207
+ "@deepseek-ai/dsh-api-remotes": "0.2.1-rc.3",
208
+ "@deepseek-ai/dsh-api-workspace-files": "0.2.1-rc.3",
209
+ "@deepseek-ai/dsh-app-boot": "0.2.1-rc.3",
210
+ "@deepseek-ai/dsh-base": "0.2.1-rc.3",
211
+ "@deepseek-ai/dsh-client-connection": "0.2.1-rc.3",
212
+ "@deepseek-ai/dsh-client-locale": "0.2.1-rc.3",
213
+ "@deepseek-ai/dsh-client-store": "0.2.1-rc.3",
214
+ "@deepseek-ai/dsh-client-ui-dockkit": "0.2.1-rc.3",
215
+ "@deepseek-ai/dsh-client-ui-primitives": "0.2.1-rc.3",
216
+ "@deepseek-ai/dsh-client-ui-renderer": "0.2.1-rc.3",
217
+ "@deepseek-ai/dsh-client-ui-session": "0.2.1-rc.3",
218
+ "@deepseek-ai/dsh-client-ui-sidebar": "0.2.1-rc.3",
219
+ "@deepseek-ai/dsh-client-ui-slots": "0.2.1-rc.3",
220
+ "@deepseek-ai/dsh-client-ui-workspace": "0.2.1-rc.3",
221
+ "@deepseek-ai/dsh-commands": "0.2.1-rc.3",
222
+ "@deepseek-ai/dsh-fs": "0.2.1-rc.3",
223
+ "@deepseek-ai/dsh-fs-local": "0.2.1-rc.3",
224
+ "@deepseek-ai/dsh-fs-sandbox": "0.2.1-rc.3",
225
+ "@deepseek-ai/dsh-host-open-in-app": "0.2.1-rc.3",
226
+ "@deepseek-ai/dsh-llm": "0.2.1-rc.3",
227
+ "@deepseek-ai/dsh-lsp": "0.2.1-rc.3",
228
+ "@deepseek-ai/dsh-lsp-stdio": "0.2.1-rc.3",
229
+ "@deepseek-ai/dsh-sandbox": "0.2.1-rc.3",
230
+ "@deepseek-ai/dsh-sandbox-local": "0.2.1-rc.3",
231
+ "@deepseek-ai/dsh-sandbox-policy": "0.2.1-rc.3",
232
+ "@deepseek-ai/dsh-sandbox-windows-acl": "0.2.1-rc.3",
233
+ "@deepseek-ai/dsh-session": "0.2.1-rc.3",
234
+ "@deepseek-ai/dsh-session-projection": "0.2.1-rc.3",
235
+ "@deepseek-ai/dsh-storage": "0.2.1-rc.3",
236
+ "@deepseek-ai/dsh-storage-domain": "0.2.1-rc.3",
237
+ "@deepseek-ai/dsh-storage-json": "0.2.1-rc.3",
238
+ "@deepseek-ai/dsh-subprocess": "0.2.1-rc.3",
239
+ "@deepseek-ai/dsh-subprocess-local": "0.2.1-rc.3",
240
+ "@deepseek-ai/dsh-system-prompt": "0.2.1-rc.3",
241
+ "@deepseek-ai/dsh-tools": "0.2.1-rc.3",
242
+ "@deepseek-ai/dsh-typert-protocol": "0.2.1-rc.3",
243
+ "@deepseek-ai/dsh-util-workspace-path": "0.2.1-rc.3",
244
+ "@deepseek-ai/dsh-workspace": "0.2.1-rc.3",
221
245
  "@testing-library/react": "^16.3.3",
222
246
  "@types/node": "^22.0.0",
223
247
  "@types/react": "~18.3.31",
@@ -233,24 +257,12 @@
233
257
  "vitest": "^4.1.8",
234
258
  "yaml": "^2.9.0",
235
259
  "zustand": "~4.5.7",
236
- "@deepseek-ai/dsh-agent-loop": "0.2.1-rc.2",
237
- "@deepseek-ai/dsh-agent-loop-testkit": "0.2.1-rc.2",
238
- "@deepseek-ai/dsh-bash-sandbox": "0.2.1-rc.2",
239
- "@deepseek-ai/dsh-compaction": "0.2.1-rc.2",
240
- "@deepseek-ai/dsh-fs-observation-policy": "0.2.1-rc.2",
241
- "@deepseek-ai/dsh-llm-deepseek": "0.2.1-rc.2",
242
- "@deepseek-ai/dsh-llm-deepseek-api-key": "0.2.1-rc.2",
243
- "@deepseek-ai/dsh-permission-presets": "0.2.1-rc.2",
244
- "@deepseek-ai/dsh-ptc-runtime-node": "0.2.1-rc.2",
245
- "@deepseek-ai/dsh-shell": "0.2.1-rc.2",
246
- "@deepseek-ai/dsh-shell-env": "0.2.1-rc.2",
247
- "@deepseek-ai/dsh-subagent": "0.2.1-rc.2",
248
- "@deepseek-ai/dsh-tool-bash": "0.2.1-rc.2",
249
- "@deepseek-ai/dsh-tool-fs": "0.2.1-rc.2",
250
- "@deepseek-ai/dsh-tool-subagent": "0.2.1-rc.2",
251
- "@deepseek-ai/dsh-user-approval": "0.2.1-rc.2",
252
- "@deepseek-ai/dsh-working-directory": "0.2.1-rc.2",
253
- "@deepseek-ai/dsh-util-values": "0.2.1-rc.2"
260
+ "@deepseek-ai/dsh-skill": "0.2.1-rc.3",
261
+ "@deepseek-ai/dsh-skill-filesystem": "0.2.1-rc.3",
262
+ "@deepseek-ai/dsh-settings": "0.2.1-rc.3",
263
+ "@deepseek-ai/dsh-api-session-controller": "0.2.1-rc.3",
264
+ "@deepseek-ai/dsh-session-query": "0.2.1-rc.3",
265
+ "@deepseek-ai/dsh-tool-skill": "0.2.1-rc.3"
254
266
  },
255
267
  "dsh": {
256
268
  "bundle": {
@@ -269,7 +281,8 @@
269
281
  "dependencies": {
270
282
  "@deepseek-ai/node-addon-system": "^0.1.2",
271
283
  "koffi": "^3.1.0",
272
- "zod": "^4.6.2"
284
+ "zod": "^4.6.2",
285
+ "@deepseek-ai/schemastery": "^3.18.2"
273
286
  },
274
287
  "scripts": {
275
288
  "bench:roots": "node --experimental-transform-types scripts/bench-root-scale.mjs",