@yadsh/dsh-qa-surface 0.18.0 → 0.20.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 (243) hide show
  1. package/README.md +201 -22
  2. package/lib/access/model-choices.js +103 -0
  3. package/lib/access/model-choices.js.map +1 -0
  4. package/lib/access/model-policy.js +79 -7
  5. package/lib/access/model-policy.js.map +1 -1
  6. package/lib/access/model.js +29 -1
  7. package/lib/access/model.js.map +1 -1
  8. package/lib/access/queue-policy.js +36 -0
  9. package/lib/access/queue-policy.js.map +1 -0
  10. package/lib/access/service.js +124 -7
  11. package/lib/access/service.js.map +1 -1
  12. package/lib/account-remotes.js +10 -1
  13. package/lib/account-remotes.js.map +1 -1
  14. package/lib/accounts/database.js +44 -3
  15. package/lib/accounts/database.js.map +1 -1
  16. package/lib/accounts/store.js +28 -0
  17. package/lib/accounts/store.js.map +1 -1
  18. package/lib/admin/service.js +6 -1
  19. package/lib/admin/service.js.map +1 -1
  20. package/lib/attachment-access.js +147 -0
  21. package/lib/attachment-access.js.map +1 -0
  22. package/lib/chat-sharing/search.js +89 -0
  23. package/lib/chat-sharing/search.js.map +1 -0
  24. package/lib/chat-sharing/transport.js +8 -9
  25. package/lib/chat-sharing/transport.js.map +1 -1
  26. package/lib/client/QaAccountsController.js +43 -8
  27. package/lib/client/QaAccountsController.js.map +1 -1
  28. package/lib/client/QaSessionController.js +106 -32
  29. package/lib/client/QaSessionController.js.map +1 -1
  30. package/lib/client/QaSurface.js +64 -5
  31. package/lib/client/QaSurface.js.map +1 -1
  32. package/lib/client/admin/ModelPolicyEditor.js +28 -2
  33. package/lib/client/admin/ModelPolicyEditor.js.map +1 -1
  34. package/lib/client/admin/RoleEditor.js +18 -1
  35. package/lib/client/admin/RoleEditor.js.map +1 -1
  36. package/lib/client/admin/pages/SkillFiles.js +1 -1
  37. package/lib/client/admin/pages/SkillFiles.js.map +1 -1
  38. package/lib/client/admin/pages/Users.js +36 -16
  39. package/lib/client/admin/pages/Users.js.map +1 -1
  40. package/lib/client/admin/styles.js +3 -0
  41. package/lib/client/admin/styles.js.map +1 -1
  42. package/lib/client/code-source-styles.js +12 -0
  43. package/lib/client/code-source-styles.js.map +1 -0
  44. package/lib/client/components/QaChangelog.js +96 -0
  45. package/lib/client/components/QaChangelog.js.map +1 -1
  46. package/lib/client/components/QaChatActions.js +36 -14
  47. package/lib/client/components/QaChatActions.js.map +1 -1
  48. package/lib/client/components/QaCodeSourcePicker.js +18 -0
  49. package/lib/client/components/QaCodeSourcePicker.js.map +1 -0
  50. package/lib/client/components/QaComposer.js +11 -12
  51. package/lib/client/components/QaComposer.js.map +1 -1
  52. package/lib/client/components/QaComposerSettings.js +202 -0
  53. package/lib/client/components/QaComposerSettings.js.map +1 -0
  54. package/lib/client/components/QaFormItem.js +74 -38
  55. package/lib/client/components/QaFormItem.js.map +1 -1
  56. package/lib/client/components/QaHistoryCatalog.js +261 -0
  57. package/lib/client/components/QaHistoryCatalog.js.map +1 -0
  58. package/lib/client/components/QaInputForm.js +115 -32
  59. package/lib/client/components/QaInputForm.js.map +1 -1
  60. package/lib/client/components/QaModelSelector.js +21 -0
  61. package/lib/client/components/QaModelSelector.js.map +1 -0
  62. package/lib/client/components/QaRequestWait.js +15 -0
  63. package/lib/client/components/QaRequestWait.js.map +1 -0
  64. package/lib/client/components/QaSidebar.js +25 -24
  65. package/lib/client/components/QaSidebar.js.map +1 -1
  66. package/lib/client/composer-settings-styles.js +21 -0
  67. package/lib/client/composer-settings-styles.js.map +1 -0
  68. package/lib/client/forms-styles.js +35 -11
  69. package/lib/client/forms-styles.js.map +1 -1
  70. package/lib/client/history-organization-styles.js +31 -0
  71. package/lib/client/history-organization-styles.js.map +1 -0
  72. package/lib/client/history-organization.js +155 -0
  73. package/lib/client/history-organization.js.map +1 -0
  74. package/lib/client/index.js +13 -2
  75. package/lib/client/index.js.map +1 -1
  76. package/lib/client/project-session-state.js.map +1 -1
  77. package/lib/client/request-wait-styles.js +7 -0
  78. package/lib/client/request-wait-styles.js.map +1 -0
  79. package/lib/client/settings/sections/attachments.js +7 -1
  80. package/lib/client/settings/sections/attachments.js.map +1 -1
  81. package/lib/client/settings/sections/session.js +1 -1
  82. package/lib/client/settings/sections/session.js.map +1 -1
  83. package/lib/client/styles.js +20 -1
  84. package/lib/client/styles.js.map +1 -1
  85. package/lib/client/types.js.map +1 -1
  86. package/lib/client/use-chat-code-source.js +156 -0
  87. package/lib/client/use-chat-code-source.js.map +1 -0
  88. package/lib/client/use-history-organization.js +48 -0
  89. package/lib/client/use-history-organization.js.map +1 -0
  90. package/lib/client/use-model-selection.js +96 -0
  91. package/lib/client/use-model-selection.js.map +1 -0
  92. package/lib/client/use-qa-file-drop.js +81 -0
  93. package/lib/client/use-qa-file-drop.js.map +1 -0
  94. package/lib/client/user-settings/IntegrationTokensPage.js +42 -6
  95. package/lib/client/user-settings/IntegrationTokensPage.js.map +1 -1
  96. package/lib/client/user-settings/UserSettingsDialog.js +1 -1
  97. package/lib/client/user-settings/UserSettingsDialog.js.map +1 -1
  98. package/lib/client.js +131 -27
  99. package/lib/client.js.map +1 -1
  100. package/lib/code-source-selection.js +102 -0
  101. package/lib/code-source-selection.js.map +1 -0
  102. package/lib/config-resolvers/accounts.js +26 -1
  103. package/lib/config-resolvers/accounts.js.map +1 -1
  104. package/lib/config-resolvers/defaults.js +5 -0
  105. package/lib/config-resolvers/defaults.js.map +1 -1
  106. package/lib/config-resolvers/integration.js +8 -1
  107. package/lib/config-resolvers/integration.js.map +1 -1
  108. package/lib/config-resolvers/session.js +2 -0
  109. package/lib/config-resolvers/session.js.map +1 -1
  110. package/lib/config.js +51 -3
  111. package/lib/config.js.map +1 -1
  112. package/lib/enforcement/skill-policy.js +37 -2
  113. package/lib/enforcement/skill-policy.js.map +1 -1
  114. package/lib/filesystem-intent.js +39 -0
  115. package/lib/filesystem-intent.js.map +1 -0
  116. package/lib/forms/attachments.js +18 -2
  117. package/lib/forms/attachments.js.map +1 -1
  118. package/lib/forms/errors.js +6 -1
  119. package/lib/forms/errors.js.map +1 -1
  120. package/lib/forms/gate.js +28 -2
  121. package/lib/forms/gate.js.map +1 -1
  122. package/lib/forms/schema-errors.js +47 -0
  123. package/lib/forms/schema-errors.js.map +1 -0
  124. package/lib/forms/schema.js +29 -20
  125. package/lib/forms/schema.js.map +1 -1
  126. package/lib/index.js +189 -84
  127. package/lib/index.js.map +1 -1
  128. package/lib/integration/http.js +9 -10
  129. package/lib/integration/http.js.map +1 -1
  130. package/lib/integration/service.js +9 -0
  131. package/lib/integration/service.js.map +1 -1
  132. package/lib/personal-skills/provider.js +9 -1
  133. package/lib/personal-skills/provider.js.map +1 -1
  134. package/lib/personal-skills/service.js +4 -0
  135. package/lib/personal-skills/service.js.map +1 -1
  136. package/lib/personal-skills/shared-seed.js +65 -0
  137. package/lib/personal-skills/shared-seed.js.map +1 -0
  138. package/lib/prompt-notes.js +19 -1
  139. package/lib/prompt-notes.js.map +1 -1
  140. package/lib/provenance/collector.js +1 -0
  141. package/lib/provenance/collector.js.map +1 -1
  142. package/lib/provenance/extractors.js +6 -1
  143. package/lib/provenance/extractors.js.map +1 -1
  144. package/lib/qa-tools/catalog.js +18 -1
  145. package/lib/qa-tools/catalog.js.map +1 -1
  146. package/lib/qa-tools/code-files.js +207 -0
  147. package/lib/qa-tools/code-files.js.map +1 -0
  148. package/lib/qa-tools/code-tools.js +158 -0
  149. package/lib/qa-tools/code-tools.js.map +1 -0
  150. package/lib/qa-tools/docs-tools.js +49 -12
  151. package/lib/qa-tools/docs-tools.js.map +1 -1
  152. package/lib/qa-tools/index.js +4 -0
  153. package/lib/qa-tools/index.js.map +1 -1
  154. package/lib/qa-tools/request-user-form.js +27 -7
  155. package/lib/qa-tools/request-user-form.js.map +1 -1
  156. package/lib/request-scheduler.js +262 -0
  157. package/lib/request-scheduler.js.map +1 -0
  158. package/lib/resolve-config.js +9 -1
  159. package/lib/resolve-config.js.map +1 -1
  160. package/lib/secure-session.js +62 -56
  161. package/lib/secure-session.js.map +1 -1
  162. package/lib/session-create.js +125 -0
  163. package/lib/session-create.js.map +1 -0
  164. package/lib/session-model.js +43 -1
  165. package/lib/session-model.js.map +1 -1
  166. package/lib/shared/history-folder.js +18 -0
  167. package/lib/shared/history-folder.js.map +1 -0
  168. package/lib/typert.host.js +793 -159
  169. package/lib/typert.remote-client.d.ts +19 -7
  170. package/lib/typert.remote-client.js +726 -148
  171. package/lib/types/access/model-choices.d.ts +16 -0
  172. package/lib/types/access/model-policy.d.ts +13 -7
  173. package/lib/types/access/model.d.ts +9 -0
  174. package/lib/types/access/queue-policy.d.ts +30 -0
  175. package/lib/types/access/service.d.ts +27 -0
  176. package/lib/types/account-remotes.d.ts +5 -4
  177. package/lib/types/accounts/database.d.ts +5 -0
  178. package/lib/types/accounts/store.d.ts +6 -0
  179. package/lib/types/attachment-access.d.ts +29 -0
  180. package/lib/types/chat-sharing/search.d.ts +5 -0
  181. package/lib/types/chat-sharing/transport.d.ts +1 -1
  182. package/lib/types/client/QaAccountsController.d.ts +3 -1
  183. package/lib/types/client/QaSessionController.d.ts +31 -14
  184. package/lib/types/client/QaSurface.d.ts +2 -0
  185. package/lib/types/client/admin/ModelPolicyEditor.d.ts +2 -0
  186. package/lib/types/client/code-source-styles.d.ts +2 -0
  187. package/lib/types/client/components/QaChatActions.d.ts +3 -1
  188. package/lib/types/client/components/QaCodeSourcePicker.d.ts +9 -0
  189. package/lib/types/client/components/QaComposer.d.ts +2 -0
  190. package/lib/types/client/components/QaComposerSettings.d.ts +16 -0
  191. package/lib/types/client/components/QaFormItem.d.ts +4 -2
  192. package/lib/types/client/components/QaHistoryCatalog.d.ts +19 -0
  193. package/lib/types/client/components/QaInputForm.d.ts +3 -2
  194. package/lib/types/client/components/QaModelSelector.d.ts +4 -0
  195. package/lib/types/client/components/QaRequestWait.d.ts +6 -0
  196. package/lib/types/client/components/QaSidebar.d.ts +3 -0
  197. package/lib/types/client/composer-settings-styles.d.ts +2 -0
  198. package/lib/types/client/forms-styles.d.ts +1 -1
  199. package/lib/types/client/history-organization-styles.d.ts +3 -0
  200. package/lib/types/client/history-organization.d.ts +38 -0
  201. package/lib/types/client/project-session-state.d.ts +2 -4
  202. package/lib/types/client/request-wait-styles.d.ts +2 -0
  203. package/lib/types/client/types.d.ts +15 -7
  204. package/lib/types/client/use-chat-code-source.d.ts +20 -0
  205. package/lib/types/client/use-history-organization.d.ts +8 -0
  206. package/lib/types/client/use-model-selection.d.ts +24 -0
  207. package/lib/types/client/use-qa-file-drop.d.ts +12 -0
  208. package/lib/types/code-source-selection.d.ts +28 -0
  209. package/lib/types/code-sources.js +2 -0
  210. package/lib/types/code-sources.js.map +1 -0
  211. package/lib/types/config-resolvers/integration.d.ts +7 -1
  212. package/lib/types/filesystem-intent.d.ts +12 -0
  213. package/lib/types/forms/attachments.d.ts +5 -2
  214. package/lib/types/forms/errors.d.ts +3 -2
  215. package/lib/types/forms/gate.d.ts +4 -2
  216. package/lib/types/forms/schema-errors.d.ts +7 -0
  217. package/lib/types/forms/types.d.ts +14 -0
  218. package/lib/types/index.d.ts +41 -15
  219. package/lib/types/integration/http.d.ts +1 -3
  220. package/lib/types/integration/service.d.ts +2 -0
  221. package/lib/types/personal-skills/shared-seed.d.ts +12 -0
  222. package/lib/types/prompt-notes.d.ts +5 -1
  223. package/lib/types/qa-tools/catalog.d.ts +4 -3
  224. package/lib/types/qa-tools/code-files.d.ts +59 -0
  225. package/lib/types/qa-tools/code-tools.d.ts +7 -0
  226. package/lib/types/qa-tools/docs-tools.d.ts +4 -0
  227. package/lib/types/qa-tools/index.d.ts +3 -1
  228. package/lib/types/qa-tools/request-user-form.d.ts +1 -1
  229. package/lib/types/request-scheduler.d.ts +47 -0
  230. package/lib/types/secure-session.d.ts +12 -26
  231. package/lib/types/session-create.d.ts +29 -0
  232. package/lib/types/session-model.d.ts +11 -2
  233. package/lib/types/shared/history-folder.d.ts +4 -0
  234. package/lib/types/types/accounts.d.ts +11 -0
  235. package/lib/types/types/capability.d.ts +31 -4
  236. package/lib/types/types/code-sources.d.ts +12 -0
  237. package/lib/types/types/config.d.ts +20 -0
  238. package/lib/types/types/session.d.ts +8 -0
  239. package/lib/types/types.d.ts +1 -0
  240. package/lib/types/user-workspace.d.ts +4 -6
  241. package/lib/user-workspace.js +20 -71
  242. package/lib/user-workspace.js.map +1 -1
  243. package/package.json +13 -10
@@ -1,5 +1,6 @@
1
1
  import { chmodSync, lstatSync, mkdirSync, readdirSync, realpathSync, statSync, } from "node:fs";
2
2
  import path from "node:path";
3
+ import { qaFilesystemIntent } from "./filesystem-intent.js";
3
4
  /** Stable, non-workspace child used to keep account directories out of sight. */
4
5
  export const QA_USER_WORKSPACES_DIRECTORY = ".qa-users";
5
6
  /** Conservative fixed budgets; there is deliberately no browser override. */
@@ -105,49 +106,6 @@ function record(value) {
105
106
  ? value
106
107
  : undefined;
107
108
  }
108
- function requestedPaths(execution) {
109
- const args = record(execution.arguments);
110
- if (args === undefined)
111
- return [];
112
- switch (execution.name) {
113
- case "read":
114
- case "read_image":
115
- case "write":
116
- case "edit": {
117
- return typeof args.file_path === "string" ? [args.file_path] : [];
118
- }
119
- case "glob":
120
- case "grep": {
121
- return [typeof args.path === "string" ? args.path : "."];
122
- }
123
- case "str_replace_editor": {
124
- return typeof args.path === "string" ? [args.path] : [];
125
- }
126
- default:
127
- return [];
128
- }
129
- }
130
- /**
131
- * Whether the named path is only read. Directory-wide tools stay confined even
132
- * for reads: the attachment store is shared by every account, and only the
133
- * exact file an upload produced is meant to be reachable.
134
- */
135
- function readsSharedRoot(execution) {
136
- if (execution.name === "read" ||
137
- execution.name === "read_image" ||
138
- execution.name === "glob" ||
139
- execution.name === "grep") {
140
- return true;
141
- }
142
- return (execution.name === "str_replace_editor" &&
143
- record(execution.arguments)?.command === "view");
144
- }
145
- function readsSingleFile(execution) {
146
- if (execution.name === "read" || execution.name === "read_image")
147
- return true;
148
- return (execution.name === "str_replace_editor" &&
149
- record(execution.arguments)?.command === "view");
150
- }
151
109
  function directoryBytes(root, stopAfter) {
152
110
  let total = 0;
153
111
  const pending = [root];
@@ -167,31 +125,23 @@ function directoryBytes(root, stopAfter) {
167
125
  }
168
126
  return total;
169
127
  }
170
- function requestedWriteBytes(execution) {
171
- const args = record(execution.arguments);
172
- if (args === undefined)
173
- return 0;
174
- const values = [args.content, args.new_string, args.new_str];
175
- return values.reduce((total, value) => total + (typeof value === "string" ? Buffer.byteLength(value) : 0), 0);
176
- }
177
128
  /**
178
129
  * Monotonic guard used in addition to DSH's workspace-write sandbox. It
179
130
  * fences model-controlled file paths for both reads and writes, rejects tools
180
131
  * whose implementation can walk above cwd, and enforces bounded scratch use.
181
132
  *
182
- * `attachmentRoot` is the one deliberate read exemption: an uploaded file is
183
- * an immutable content-addressed copy the deployment stores outside every
184
- * workspace, and the model reaches it exactly as the harness intends (the
185
- * prompt carries the stored path). Reads of a single such file are allowed;
186
- * directory-wide tools stay confined because the store is shared by every
187
- * account, and writes are never exempted.
133
+ * `attachmentRoot` identifies the storage backend, never authority to read it.
134
+ * Only regular files in `attachmentFiles` may cross the workspace boundary.
188
135
  */
189
136
  export function qaUserWorkspaceDenial(execution, root, attachmentRoot, readPolicy = {}) {
190
137
  const args = record(execution.arguments);
138
+ const pathDenial = `${PATH_DENIAL} Personal workspace: ${root}. ` +
139
+ `Shared read-only roots: ${(readPolicy.sharedReadOnlyRoots ?? []).join(", ") || "none"}. ` +
140
+ "Use an exact path under an allowed root; writes stay in the personal workspace. Attachment access requires the exact file supplied by this conversation.";
191
141
  if (args?.sandbox_permissions !== undefined ||
192
142
  (execution.name === "edit" &&
193
143
  (args?.replace_all === true || args?.replaceAll === true))) {
194
- return PATH_DENIAL;
144
+ return pathDenial;
195
145
  }
196
146
  if (execution.name === "bash" ||
197
147
  execution.name === "shell" ||
@@ -200,37 +150,36 @@ export function qaUserWorkspaceDenial(execution, root, attachmentRoot, readPolic
200
150
  execution.name === "run_code" ||
201
151
  execution.name === "lsp" ||
202
152
  execution.name === "apply_patch") {
203
- return PATH_DENIAL;
153
+ return pathDenial;
204
154
  }
205
- const readsShared = readsSharedRoot(execution);
206
- const readsOneFile = readsSingleFile(execution);
155
+ const intent = qaFilesystemIntent(execution.name, args);
207
156
  try {
208
157
  const sharedReadOnlyRoots = (readPolicy.sharedReadOnlyRoots ?? []).map(canonicalCandidate);
209
- for (const requested of requestedPaths(execution)) {
158
+ for (const requested of intent === undefined ? [] : [intent.path]) {
210
159
  const absolute = path.isAbsolute(requested)
211
160
  ? requested
212
161
  : path.resolve(root, requested);
213
162
  const canonical = canonicalCandidate(absolute);
214
163
  if (pathIsInside(canonical, root))
215
164
  continue;
216
- if (readsShared &&
165
+ if (intent?.kind === "read" &&
217
166
  sharedReadOnlyRoots.some((readRoot) => pathIsInside(canonical, readRoot))) {
218
167
  continue;
219
168
  }
220
169
  // Resolved only for a path the fence would otherwise refuse, so the
221
170
  // common case pays no extra filesystem walk.
222
- if (readsOneFile &&
171
+ if (intent?.kind === "read" &&
172
+ intent.fileOnlyGrant &&
223
173
  attachmentRoot !== undefined &&
224
- pathIsInside(canonical, canonicalCandidate(attachmentRoot))) {
174
+ pathIsInside(canonical, canonicalCandidate(attachmentRoot)) &&
175
+ (readPolicy.attachmentFiles ?? []).some((file) => samePath(canonical, file)) &&
176
+ statSync(canonical).isFile()) {
225
177
  continue;
226
178
  }
227
- return PATH_DENIAL;
179
+ return pathDenial;
228
180
  }
229
- if (execution.name === "write" ||
230
- execution.name === "edit" ||
231
- (execution.name === "str_replace_editor" &&
232
- record(execution.arguments)?.command !== "view")) {
233
- const requested = requestedWriteBytes(execution);
181
+ if (intent?.kind === "write") {
182
+ const requested = intent.bytes;
234
183
  if (requested > QA_USER_WORKSPACE_MAX_WRITE_BYTES ||
235
184
  directoryBytes(root, QA_USER_WORKSPACE_MAX_BYTES) + requested >
236
185
  QA_USER_WORKSPACE_MAX_BYTES) {
@@ -240,7 +189,7 @@ export function qaUserWorkspaceDenial(execution, root, attachmentRoot, readPolic
240
189
  return undefined;
241
190
  }
242
191
  catch {
243
- return PATH_DENIAL;
192
+ return pathDenial;
244
193
  }
245
194
  }
246
195
  //# sourceMappingURL=user-workspace.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-workspace.js","sourceRoot":"","sources":["../src/user-workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-workspace.js","sourceRoot":"","sources":["../src/user-workspace.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yadsh/dsh-qa-surface",
3
- "version": "0.18.0",
3
+ "version": "0.20.0",
4
4
  "description": "A focused end-user QA surface backed by native DeepSeek Harness sessions",
5
5
  "repository": {
6
6
  "type": "git",
@@ -103,7 +103,7 @@
103
103
  "node": "^22.19.0 || >=24.0.0"
104
104
  },
105
105
  "peerDependencies": {
106
- "@deepseek-ai/cordis": "^4.0.4",
106
+ "@deepseek-ai/cordis": "~4.0.4",
107
107
  "@deepseek-ai/dsh-agent": ">=0.1.7-rc.2 <0.3.0-0",
108
108
  "@deepseek-ai/dsh-agent-preset-registry": ">=0.1.7-rc.2 <0.3.0-0",
109
109
  "@deepseek-ai/dsh-api-gateway": ">=0.1.7-rc.2 <0.3.0-0",
@@ -137,15 +137,16 @@
137
137
  "openid-client": "6.8.8",
138
138
  "yaml": "^2.9.0",
139
139
  "zod": "^4.4.3",
140
- "@yadsh/dsh-audit-core": "^0.1.2",
141
- "@yadsh/dsh-audit-ui": "^0.1.3",
142
- "@yadsh/dsh-documents": "^0.8.1",
143
- "@yadsh/dsh-plugin-kit": "^0.6.0",
144
- "@yadsh/dsh-plugin-log": "^0.4.2"
140
+ "@yadsh/dsh-audit-core": "^0.1.3",
141
+ "@yadsh/dsh-plugin-log": "^0.4.3",
142
+ "@yadsh/dsh-plugin-kit": "^0.8.0",
143
+ "@yadsh/dsh-documents": "^0.8.3",
144
+ "@yadsh/dsh-audit-ui": "^0.1.4"
145
145
  },
146
146
  "devDependencies": {
147
147
  "@deepseek-ai/cordis": "4.0.5",
148
148
  "@deepseek-ai/dsh-agent": "0.2.1-rc.3",
149
+ "@deepseek-ai/dsh-agent-loop": "0.2.1-rc.3",
149
150
  "@deepseek-ai/dsh-agent-preset-registry": "0.2.1-rc.3",
150
151
  "@deepseek-ai/dsh-api-gateway": "0.2.1-rc.3",
151
152
  "@deepseek-ai/dsh-api-session-controller": "0.2.1-rc.3",
@@ -164,6 +165,7 @@
164
165
  "@deepseek-ai/dsh-permission-presets": "0.2.1-rc.3",
165
166
  "@deepseek-ai/dsh-scope": "0.2.1-rc.3",
166
167
  "@deepseek-ai/dsh-session": "0.2.1-rc.3",
168
+ "@deepseek-ai/dsh-session-projection": "0.2.1-rc.3",
167
169
  "@deepseek-ai/dsh-settings": "0.2.1-rc.3",
168
170
  "@deepseek-ai/dsh-skill": "0.2.1-rc.3",
169
171
  "@deepseek-ai/dsh-system-prompt": "0.2.1-rc.3",
@@ -177,7 +179,7 @@
177
179
  "@types/node": "^26.4.0",
178
180
  "@types/react": "18.3.28",
179
181
  "@types/react-dom": "18.3.7",
180
- "@vitest/coverage-v8": "^4.1.8",
182
+ "@vitest/coverage-v8": "^4.1.12",
181
183
  "eslint": "10.9.1",
182
184
  "jsdom": "^26.1.0",
183
185
  "katex": "^0.18.2",
@@ -186,7 +188,7 @@
186
188
  "react-dom": "18.3.1",
187
189
  "tsdown": "^0.22.14",
188
190
  "typescript": "^7.0.2",
189
- "vitest": "^4.1.11",
191
+ "vitest": "^4.1.12",
190
192
  "@yadsh/dsh-config": "^0.0.0",
191
193
  "@yadsh/dsh-plugin-scripts": "^0.0.0"
192
194
  },
@@ -202,7 +204,8 @@
202
204
  "test": "vitest run",
203
205
  "test:coverage": "vitest run --coverage",
204
206
  "verify:package": "node scripts/verify-package.mjs",
205
- "verify": "pnpm run verify:package && pnpm run verify:consumer",
207
+ "verify": "pnpm run verify:package && pnpm run verify:consumer && pnpm run verify:shared-skills",
208
+ "verify:shared-skills": "node scripts/verify-shared-skills.mjs",
206
209
  "verify:consumer": "tsc -p scripts/fixtures/tsconfig.json --noEmit",
207
210
  "smoke:packed": "node scripts/smoke-packed-dsh.mjs",
208
211
  "e2e:browser": "node scripts/smoke-packed-dsh.mjs --browser",