@yadsh/dsh-qa-surface 0.6.0 → 0.7.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 (292) hide show
  1. package/README.md +148 -9
  2. package/capability-policy.json +1 -1
  3. package/cordis.patch.yml +2 -1
  4. package/lib/access/capability-catalog.js +144 -0
  5. package/lib/access/capability-catalog.js.map +1 -0
  6. package/lib/access/model.js +379 -0
  7. package/lib/access/model.js.map +1 -0
  8. package/lib/access/role-repository.js +195 -0
  9. package/lib/access/role-repository.js.map +1 -0
  10. package/lib/access/service.js +380 -0
  11. package/lib/access/service.js.map +1 -0
  12. package/lib/access/skill-metadata.js +234 -0
  13. package/lib/access/skill-metadata.js.map +1 -0
  14. package/lib/account-remotes.js +20 -10
  15. package/lib/account-remotes.js.map +1 -1
  16. package/lib/accounts/errors.js.map +1 -1
  17. package/lib/accounts/file.js.map +1 -1
  18. package/lib/accounts/store.js +202 -3
  19. package/lib/accounts/store.js.map +1 -1
  20. package/lib/admin/conversation-log.js +256 -0
  21. package/lib/admin/conversation-log.js.map +1 -0
  22. package/lib/admin/index.js +17 -0
  23. package/lib/admin/index.js.map +1 -0
  24. package/lib/admin/metrics.js +103 -0
  25. package/lib/admin/metrics.js.map +1 -0
  26. package/lib/admin/paging.js +23 -0
  27. package/lib/admin/paging.js.map +1 -0
  28. package/lib/admin/permissions.js +50 -0
  29. package/lib/admin/permissions.js.map +1 -0
  30. package/lib/admin/quality-store.js +485 -0
  31. package/lib/admin/quality-store.js.map +1 -0
  32. package/lib/admin/queue.js +107 -0
  33. package/lib/admin/queue.js.map +1 -0
  34. package/lib/admin/redaction.js +45 -0
  35. package/lib/admin/redaction.js.map +1 -0
  36. package/lib/admin/service.js +897 -0
  37. package/lib/admin/service.js.map +1 -0
  38. package/lib/admin/session-log.js +142 -0
  39. package/lib/admin/session-log.js.map +1 -0
  40. package/lib/attestation.js +6 -0
  41. package/lib/attestation.js.map +1 -1
  42. package/lib/cli.js +9 -6
  43. package/lib/cli.js.map +1 -1
  44. package/lib/client/QaSessionController.js +65 -15
  45. package/lib/client/QaSessionController.js.map +1 -1
  46. package/lib/client/QaSurface.js +144 -6
  47. package/lib/client/QaSurface.js.map +1 -1
  48. package/lib/client/QaTranscriptAdapter.js +1 -0
  49. package/lib/client/QaTranscriptAdapter.js.map +1 -1
  50. package/lib/client/admin/QaAdmin.js +458 -0
  51. package/lib/client/admin/QaAdmin.js.map +1 -0
  52. package/lib/client/admin/format.js +177 -0
  53. package/lib/client/admin/format.js.map +1 -0
  54. package/lib/client/admin/pages/Conversations.js +114 -0
  55. package/lib/client/admin/pages/Conversations.js.map +1 -0
  56. package/lib/client/admin/pages/Overview.js +24 -0
  57. package/lib/client/admin/pages/Overview.js.map +1 -0
  58. package/lib/client/admin/pages/Quality.js +71 -0
  59. package/lib/client/admin/pages/Quality.js.map +1 -0
  60. package/lib/client/admin/pages/Review.js +93 -0
  61. package/lib/client/admin/pages/Review.js.map +1 -0
  62. package/lib/client/admin/pages/Users.js +95 -0
  63. package/lib/client/admin/pages/Users.js.map +1 -0
  64. package/lib/client/admin/routes.js +127 -0
  65. package/lib/client/admin/routes.js.map +1 -0
  66. package/lib/client/admin/shared.js +91 -0
  67. package/lib/client/admin/shared.js.map +1 -0
  68. package/lib/client/admin/styles.js +111 -0
  69. package/lib/client/admin/styles.js.map +1 -0
  70. package/lib/client/attestation.js +14 -2
  71. package/lib/client/attestation.js.map +1 -1
  72. package/lib/client/components/QaChangelog.js +48 -0
  73. package/lib/client/components/QaChangelog.js.map +1 -1
  74. package/lib/client/components/QaHeader.js +3 -3
  75. package/lib/client/components/QaHeader.js.map +1 -1
  76. package/lib/client/components/QaMessage.js +61 -2
  77. package/lib/client/components/QaMessage.js.map +1 -1
  78. package/lib/client/create-session.js +1 -1
  79. package/lib/client/create-session.js.map +1 -1
  80. package/lib/client/index.js +33 -1
  81. package/lib/client/index.js.map +1 -1
  82. package/lib/client/project-session-state.js +10 -5
  83. package/lib/client/project-session-state.js.map +1 -1
  84. package/lib/client/role/RoleSelector.js +31 -0
  85. package/lib/client/role/RoleSelector.js.map +1 -0
  86. package/lib/client/session-sources.js +37 -1
  87. package/lib/client/session-sources.js.map +1 -1
  88. package/lib/client/settings/card.js +2 -2
  89. package/lib/client/settings/card.js.map +1 -1
  90. package/lib/client/settings/sections.js +0 -1
  91. package/lib/client/settings/sections.js.map +1 -1
  92. package/lib/client/styles.js +32 -0
  93. package/lib/client/styles.js.map +1 -1
  94. package/lib/client/types.js +1 -0
  95. package/lib/client/types.js.map +1 -1
  96. package/lib/client.js +10786 -5684
  97. package/lib/client.js.map +1 -1
  98. package/lib/config-resolvers/defaults.js +0 -2
  99. package/lib/config-resolvers/defaults.js.map +1 -1
  100. package/lib/config.js +0 -249
  101. package/lib/config.js.map +1 -1
  102. package/lib/enforcement/skill-policy.js +172 -0
  103. package/lib/enforcement/skill-policy.js.map +1 -0
  104. package/lib/enforcement/tool-grants.js +151 -0
  105. package/lib/enforcement/tool-grants.js.map +1 -0
  106. package/lib/index.js +230 -44
  107. package/lib/index.js.map +1 -1
  108. package/lib/personal-skills/service.js +10 -3
  109. package/lib/personal-skills/service.js.map +1 -1
  110. package/lib/qa-tools/index.js +4 -0
  111. package/lib/qa-tools/index.js.map +1 -1
  112. package/lib/resolve-config.js +0 -2
  113. package/lib/resolve-config.js.map +1 -1
  114. package/lib/secure-session.js +111 -32
  115. package/lib/secure-session.js.map +1 -1
  116. package/lib/typert.host.js +2237 -202
  117. package/lib/typert.remote-client.d.ts +49 -3
  118. package/lib/typert.remote-client.js +1863 -183
  119. package/lib/types/access/capability-catalog.d.ts +37 -0
  120. package/lib/types/access/model.d.ts +60 -0
  121. package/lib/types/access/role-repository.d.ts +32 -0
  122. package/lib/types/access/service.d.ts +57 -0
  123. package/lib/types/access/skill-metadata.d.ts +53 -0
  124. package/lib/types/account-remotes.d.ts +6 -0
  125. package/lib/types/accounts/errors.d.ts +1 -1
  126. package/lib/types/accounts/file.d.ts +16 -5
  127. package/lib/types/accounts/store.d.ts +83 -3
  128. package/lib/types/admin/conversation-log.d.ts +39 -0
  129. package/lib/types/admin/index.d.ts +24 -0
  130. package/lib/types/admin/metrics.d.ts +29 -0
  131. package/lib/types/admin/paging.d.ts +33 -0
  132. package/lib/types/admin/permissions.d.ts +10 -0
  133. package/lib/types/admin/quality-store.d.ts +82 -0
  134. package/lib/types/admin/queue.d.ts +21 -0
  135. package/lib/types/admin/redaction.d.ts +29 -0
  136. package/lib/types/admin/service.d.ts +105 -0
  137. package/lib/types/admin/session-log.d.ts +53 -0
  138. package/lib/types/attestation.d.ts +2 -0
  139. package/lib/types/client/QaSessionController.d.ts +14 -1
  140. package/lib/types/client/QaSurface.d.ts +7 -1
  141. package/lib/types/client/admin/QaAdmin.d.ts +17 -0
  142. package/lib/types/client/admin/format.d.ts +43 -0
  143. package/lib/types/client/admin/pages/Conversations.d.ts +21 -0
  144. package/lib/types/client/admin/pages/Overview.d.ts +13 -0
  145. package/lib/types/client/admin/pages/Quality.d.ts +18 -0
  146. package/lib/types/client/admin/pages/Review.d.ts +15 -0
  147. package/lib/types/client/admin/pages/Users.d.ts +22 -0
  148. package/lib/types/client/admin/routes.d.ts +50 -0
  149. package/lib/types/client/admin/shared.d.ts +53 -0
  150. package/lib/types/client/admin/styles.d.ts +11 -0
  151. package/lib/types/client/attestation.d.ts +8 -1
  152. package/lib/types/client/components/QaHeader.d.ts +5 -1
  153. package/lib/types/client/components/QaMessage.d.ts +14 -1
  154. package/lib/types/client/create-session.d.ts +2 -0
  155. package/lib/types/client/project-session-state.d.ts +2 -0
  156. package/lib/types/client/role/RoleSelector.d.ts +14 -0
  157. package/lib/types/client/session-sources.d.ts +9 -0
  158. package/lib/types/client/settings/sections.d.ts +0 -1
  159. package/lib/types/client/types.d.ts +39 -2
  160. package/lib/types/enforcement/skill-policy.d.ts +29 -0
  161. package/lib/types/enforcement/tool-grants.d.ts +84 -0
  162. package/lib/types/index.d.ts +62 -14
  163. package/lib/types/qa-tools/index.d.ts +2 -0
  164. package/lib/types/secure-session.d.ts +19 -1
  165. package/lib/types/types.d.ts +574 -5
  166. package/package.json +3 -3
  167. package/lib/client/settings/sections/documents.js +0 -88
  168. package/lib/client/settings/sections/documents.js.map +0 -1
  169. package/lib/documents/artifacts/ids.js +0 -43
  170. package/lib/documents/artifacts/ids.js.map +0 -1
  171. package/lib/documents/artifacts/manifest.js +0 -66
  172. package/lib/documents/artifacts/manifest.js.map +0 -1
  173. package/lib/documents/artifacts/store.js +0 -169
  174. package/lib/documents/artifacts/store.js.map +0 -1
  175. package/lib/documents/capabilities.js +0 -93
  176. package/lib/documents/capabilities.js.map +0 -1
  177. package/lib/documents/config.js +0 -302
  178. package/lib/documents/config.js.map +0 -1
  179. package/lib/documents/defaults.js +0 -78
  180. package/lib/documents/defaults.js.map +0 -1
  181. package/lib/documents/errors.js +0 -101
  182. package/lib/documents/errors.js.map +0 -1
  183. package/lib/documents/index.js +0 -80
  184. package/lib/documents/index.js.map +0 -1
  185. package/lib/documents/inspect/facts.js +0 -161
  186. package/lib/documents/inspect/facts.js.map +0 -1
  187. package/lib/documents/inspect/zip.js +0 -108
  188. package/lib/documents/inspect/zip.js.map +0 -1
  189. package/lib/documents/markdown/directives.js +0 -135
  190. package/lib/documents/markdown/directives.js.map +0 -1
  191. package/lib/documents/markdown/frontmatter.js +0 -35
  192. package/lib/documents/markdown/frontmatter.js.map +0 -1
  193. package/lib/documents/markdown/normalize.js +0 -113
  194. package/lib/documents/markdown/normalize.js.map +0 -1
  195. package/lib/documents/orchestrator/assets.js +0 -243
  196. package/lib/documents/orchestrator/assets.js.map +0 -1
  197. package/lib/documents/orchestrator/convert-document.js +0 -186
  198. package/lib/documents/orchestrator/convert-document.js.map +0 -1
  199. package/lib/documents/orchestrator/create-document.js +0 -292
  200. package/lib/documents/orchestrator/create-document.js.map +0 -1
  201. package/lib/documents/orchestrator/extract-document.js +0 -162
  202. package/lib/documents/orchestrator/extract-document.js.map +0 -1
  203. package/lib/documents/orchestrator/inspect-document.js +0 -89
  204. package/lib/documents/orchestrator/inspect-document.js.map +0 -1
  205. package/lib/documents/orchestrator/runtime-deps.js +0 -59
  206. package/lib/documents/orchestrator/runtime-deps.js.map +0 -1
  207. package/lib/documents/orchestrator/scope.js +0 -132
  208. package/lib/documents/orchestrator/scope.js.map +0 -1
  209. package/lib/documents/providers/docling.js +0 -247
  210. package/lib/documents/providers/docling.js.map +0 -1
  211. package/lib/documents/providers/libreoffice.js +0 -130
  212. package/lib/documents/providers/libreoffice.js.map +0 -1
  213. package/lib/documents/providers/markitdown.js +0 -89
  214. package/lib/documents/providers/markitdown.js.map +0 -1
  215. package/lib/documents/providers/pandoc.js +0 -161
  216. package/lib/documents/providers/pandoc.js.map +0 -1
  217. package/lib/documents/providers/process.js +0 -164
  218. package/lib/documents/providers/process.js.map +0 -1
  219. package/lib/documents/providers/registry.js +0 -152
  220. package/lib/documents/providers/registry.js.map +0 -1
  221. package/lib/documents/providers/shared.js +0 -75
  222. package/lib/documents/providers/shared.js.map +0 -1
  223. package/lib/documents/runtime.js +0 -114
  224. package/lib/documents/runtime.js.map +0 -1
  225. package/lib/documents/security/file-types.js +0 -188
  226. package/lib/documents/security/file-types.js.map +0 -1
  227. package/lib/documents/security/limits.js +0 -78
  228. package/lib/documents/security/limits.js.map +0 -1
  229. package/lib/documents/security/mime.js +0 -43
  230. package/lib/documents/security/mime.js.map +0 -1
  231. package/lib/documents/security/paths.js +0 -133
  232. package/lib/documents/security/paths.js.map +0 -1
  233. package/lib/documents/templates/registry.js +0 -147
  234. package/lib/documents/templates/registry.js.map +0 -1
  235. package/lib/documents/templates/resolver.js +0 -59
  236. package/lib/documents/templates/resolver.js.map +0 -1
  237. package/lib/documents/tools/convert.js +0 -125
  238. package/lib/documents/tools/convert.js.map +0 -1
  239. package/lib/documents/tools/create.js +0 -187
  240. package/lib/documents/tools/create.js.map +0 -1
  241. package/lib/documents/tools/index.js +0 -41
  242. package/lib/documents/tools/index.js.map +0 -1
  243. package/lib/documents/tools/inspect.js +0 -135
  244. package/lib/documents/tools/inspect.js.map +0 -1
  245. package/lib/documents/tools/shared.js +0 -88
  246. package/lib/documents/tools/shared.js.map +0 -1
  247. package/lib/documents/tools/to-markdown.js +0 -125
  248. package/lib/documents/tools/to-markdown.js.map +0 -1
  249. package/lib/documents/types.js +0 -12
  250. package/lib/documents/types.js.map +0 -1
  251. package/lib/types/client/settings/sections/documents.d.ts +0 -13
  252. package/lib/types/documents/artifacts/ids.d.ts +0 -14
  253. package/lib/types/documents/artifacts/manifest.d.ts +0 -32
  254. package/lib/types/documents/artifacts/store.d.ts +0 -67
  255. package/lib/types/documents/capabilities.d.ts +0 -32
  256. package/lib/types/documents/config.d.ts +0 -27
  257. package/lib/types/documents/defaults.d.ts +0 -161
  258. package/lib/types/documents/errors.d.ts +0 -42
  259. package/lib/types/documents/index.d.ts +0 -63
  260. package/lib/types/documents/inspect/facts.d.ts +0 -43
  261. package/lib/types/documents/inspect/zip.d.ts +0 -28
  262. package/lib/types/documents/markdown/directives.d.ts +0 -39
  263. package/lib/types/documents/markdown/frontmatter.d.ts +0 -15
  264. package/lib/types/documents/markdown/normalize.d.ts +0 -30
  265. package/lib/types/documents/orchestrator/assets.d.ts +0 -55
  266. package/lib/types/documents/orchestrator/convert-document.d.ts +0 -25
  267. package/lib/types/documents/orchestrator/create-document.d.ts +0 -18
  268. package/lib/types/documents/orchestrator/extract-document.d.ts +0 -24
  269. package/lib/types/documents/orchestrator/inspect-document.d.ts +0 -12
  270. package/lib/types/documents/orchestrator/runtime-deps.d.ts +0 -43
  271. package/lib/types/documents/orchestrator/scope.d.ts +0 -52
  272. package/lib/types/documents/providers/docling.d.ts +0 -54
  273. package/lib/types/documents/providers/libreoffice.d.ts +0 -40
  274. package/lib/types/documents/providers/markitdown.d.ts +0 -28
  275. package/lib/types/documents/providers/pandoc.d.ts +0 -42
  276. package/lib/types/documents/providers/process.d.ts +0 -54
  277. package/lib/types/documents/providers/registry.d.ts +0 -68
  278. package/lib/types/documents/providers/shared.d.ts +0 -27
  279. package/lib/types/documents/runtime.d.ts +0 -59
  280. package/lib/types/documents/security/file-types.d.ts +0 -39
  281. package/lib/types/documents/security/limits.d.ts +0 -24
  282. package/lib/types/documents/security/mime.d.ts +0 -13
  283. package/lib/types/documents/security/paths.d.ts +0 -38
  284. package/lib/types/documents/templates/registry.d.ts +0 -50
  285. package/lib/types/documents/templates/resolver.d.ts +0 -30
  286. package/lib/types/documents/tools/convert.d.ts +0 -9
  287. package/lib/types/documents/tools/create.d.ts +0 -14
  288. package/lib/types/documents/tools/index.d.ts +0 -33
  289. package/lib/types/documents/tools/inspect.d.ts +0 -9
  290. package/lib/types/documents/tools/shared.d.ts +0 -77
  291. package/lib/types/documents/tools/to-markdown.d.ts +0 -12
  292. package/lib/types/documents/types.d.ts +0 -294
@@ -1,5 +1,4 @@
1
1
  import { DEFAULT_QA_TEXT_EXTENSIONS } from "../attachment-rules.js";
2
- import { DEFAULT_QA_DOCUMENTS_CONFIG } from "../documents/defaults.js";
3
2
  import { QA_PROFILE_DEFAULT_INSTRUCTIONS_MAX } from "../profile.js";
4
3
  import { QA_SKILL_DEFAULT_RELATIVE_ROOT, QA_SKILL_FILE_MAX_BYTES, } from "../personal-skills/skill-format.js";
5
4
  import { DEFAULT_THINKING_PHRASES } from "../thinking-phrases.js";
@@ -154,6 +153,5 @@ export const DEFAULT_QA_SURFACE_CONFIG = Object.freeze({
154
153
  maxPending: 8,
155
154
  extensions: DEFAULT_QA_TEXT_EXTENSIONS,
156
155
  }),
157
- documents: DEFAULT_QA_DOCUMENTS_CONFIG,
158
156
  });
159
157
  //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config-resolvers/defaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config-resolvers/defaults.ts"],"names":[],"mappings":"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"}
package/lib/config.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import z from "@deepseek-ai/schemastery";
2
2
  import { QA_MAX_FILE_BYTES_MAX, QA_MAX_FILE_BYTES_MIN, QA_MAX_PENDING_MAX, QA_MAX_PENDING_MIN, QA_PASTED_TEXT_LINES_MAX, QA_PASTED_TEXT_LINES_MIN, } from "./attachment-rules.js";
3
- import { DEFAULT_QA_DOCUMENTS_CONFIG } from "./documents/defaults.js";
4
3
  import { DEFAULT_QA_SURFACE_CONFIG } from "./resolve-config.js";
5
4
  import { QA_PROFILE_INSTRUCTIONS_MAX_MAX, QA_PROFILE_INSTRUCTIONS_MAX_MIN, } from "./profile.js";
6
5
  import { QA_SKILL_ENABLED_BY_DEFAULT, QA_SKILL_MAX_BYTES_MAX, QA_SKILL_MAX_BYTES_MIN, } from "./personal-skills/skill-format.js";
@@ -10,7 +9,6 @@ import { QA_SKILL_ENABLED_BY_DEFAULT, QA_SKILL_MAX_BYTES_MAX, QA_SKILL_MAX_BYTES
10
9
  // ui.showReset, trip the lockdown cross-check on untouched deployments).
11
10
  const D = DEFAULT_QA_SURFACE_CONFIG;
12
11
  // Node-free on purpose: this schema reaches the browser bundle.
13
- const DD = DEFAULT_QA_DOCUMENTS_CONFIG;
14
12
  const nullableString = z.union([z.string(), z.const(null)]);
15
13
  const configSchema = z.object({
16
14
  enabled: z.boolean().default(D.enabled),
@@ -356,253 +354,6 @@ const configSchema = z.object({
356
354
  ...D.attachments,
357
355
  extensions: [...D.attachments.extensions],
358
356
  }),
359
- /**
360
- * Document pipeline. Every default comes from the canonical resolved config,
361
- * so an untouched deployment hands the resolver nothing — and normalization
362
- * and validation stay in `documents/config.ts`, not here.
363
- */
364
- documents: z
365
- .object({
366
- enabled: z.boolean().default(DD.enabled),
367
- storage: z
368
- .object({
369
- root: nullableString.default(DD.storage.root),
370
- retainSource: z.boolean().default(DD.storage.retainSource),
371
- retainInputs: z.boolean().default(DD.storage.retainInputs),
372
- allowedInputRoots: z
373
- .array(z.string())
374
- .default([...DD.storage.allowedInputRoots]),
375
- })
376
- .default({
377
- ...DD.storage,
378
- allowedInputRoots: [...DD.storage.allowedInputRoots],
379
- }),
380
- templates: z
381
- .object({
382
- root: nullableString.default(DD.templates.root),
383
- default: z.string().default(DD.templates.default),
384
- })
385
- .default({ ...DD.templates }),
386
- create: z
387
- .object({
388
- defaultPdfMode: z
389
- .union(["auto", "office", "typst"])
390
- .default(DD.create.defaultPdfMode),
391
- allowFormats: z
392
- .array(z.union(["docx", "pdf"]))
393
- .default([...DD.create.allowFormats]),
394
- allowRawMarkup: z.boolean().default(DD.create.allowRawMarkup),
395
- toc: z.boolean().default(DD.create.toc),
396
- })
397
- .default({
398
- ...DD.create,
399
- allowFormats: [...DD.create.allowFormats],
400
- }),
401
- extraction: z
402
- .object({
403
- defaultMode: z
404
- .union(["auto", "fast", "accurate"])
405
- .default(DD.extraction.defaultMode),
406
- ocr: z
407
- .union(["auto", "off", "force"])
408
- .default(DD.extraction.ocr),
409
- ocrLanguages: z
410
- .array(z.string())
411
- .default([...DD.extraction.ocrLanguages]),
412
- extractImages: z.boolean().default(DD.extraction.extractImages),
413
- extractTables: z.boolean().default(DD.extraction.extractTables),
414
- preservePageMarkers: z
415
- .boolean()
416
- .default(DD.extraction.preservePageMarkers),
417
- allowFallback: z.boolean().default(DD.extraction.allowFallback),
418
- maxInlineChars: z
419
- .number()
420
- .step(1)
421
- .min(1_000)
422
- .max(5_000_000)
423
- .default(DD.extraction.maxInlineChars),
424
- })
425
- .default({
426
- ...DD.extraction,
427
- ocrLanguages: [...DD.extraction.ocrLanguages],
428
- }),
429
- docling: z
430
- .object({
431
- enabled: z.boolean().default(DD.docling.enabled),
432
- baseUrl: z.string().default(DD.docling.baseUrl),
433
- timeoutMs: z
434
- .number()
435
- .step(1)
436
- .min(1_000)
437
- .max(600_000)
438
- .default(DD.docling.timeoutMs),
439
- })
440
- .default({ ...DD.docling }),
441
- pandoc: z
442
- .object({
443
- executable: z.string().default(DD.pandoc.executable),
444
- timeoutMs: z
445
- .number()
446
- .step(1)
447
- .min(1_000)
448
- .max(600_000)
449
- .default(DD.pandoc.timeoutMs),
450
- })
451
- .default({ ...DD.pandoc }),
452
- libreoffice: z
453
- .object({
454
- executable: z.string().default(DD.libreoffice.executable),
455
- timeoutMs: z
456
- .number()
457
- .step(1)
458
- .min(1_000)
459
- .max(600_000)
460
- .default(DD.libreoffice.timeoutMs),
461
- })
462
- .default({ ...DD.libreoffice }),
463
- typst: z
464
- .object({
465
- enabled: z.boolean().default(DD.typst.enabled),
466
- executable: z.string().default(DD.typst.executable),
467
- timeoutMs: z
468
- .number()
469
- .step(1)
470
- .min(1_000)
471
- .max(600_000)
472
- .default(DD.typst.timeoutMs),
473
- })
474
- .default({ ...DD.typst }),
475
- markitdown: z
476
- .object({
477
- enabled: z.boolean().default(DD.markitdown.enabled),
478
- executable: z.string().default(DD.markitdown.executable),
479
- timeoutMs: z
480
- .number()
481
- .step(1)
482
- .min(1_000)
483
- .max(600_000)
484
- .default(DD.markitdown.timeoutMs),
485
- })
486
- .default({ ...DD.markitdown }),
487
- workers: z
488
- .object({
489
- renderConcurrency: z
490
- .number()
491
- .step(1)
492
- .min(1)
493
- .max(16)
494
- .default(DD.workers.renderConcurrency),
495
- extractionConcurrency: z
496
- .number()
497
- .step(1)
498
- .min(1)
499
- .max(16)
500
- .default(DD.workers.extractionConcurrency),
501
- ocrConcurrency: z
502
- .number()
503
- .step(1)
504
- .min(1)
505
- .max(16)
506
- .default(DD.workers.ocrConcurrency),
507
- })
508
- .default({ ...DD.workers }),
509
- retention: z
510
- .object({
511
- enabled: z.boolean().default(DD.retention.enabled),
512
- maxAgeDays: z
513
- .number()
514
- .step(1)
515
- .min(1)
516
- .max(3_650)
517
- .default(DD.retention.maxAgeDays),
518
- cleanupIntervalHours: z
519
- .number()
520
- .step(1)
521
- .min(1)
522
- .max(168)
523
- .default(DD.retention.cleanupIntervalHours),
524
- })
525
- .default({ ...DD.retention }),
526
- limits: z
527
- .object({
528
- maxInputBytes: z
529
- .number()
530
- .step(1)
531
- .min(1_024)
532
- .max(4_294_967_296)
533
- .default(DD.limits.maxInputBytes),
534
- maxMarkdownChars: z
535
- .number()
536
- .step(1)
537
- .min(1_000)
538
- .max(50_000_000)
539
- .default(DD.limits.maxMarkdownChars),
540
- maxPages: z
541
- .number()
542
- .step(1)
543
- .min(1)
544
- .max(100_000)
545
- .default(DD.limits.maxPages),
546
- maxExtractedImages: z
547
- .number()
548
- .step(1)
549
- .min(0)
550
- .max(10_000)
551
- .default(DD.limits.maxExtractedImages),
552
- maxAssetBytes: z
553
- .number()
554
- .step(1)
555
- .min(1_024)
556
- .max(1_073_741_824)
557
- .default(DD.limits.maxAssetBytes),
558
- maxResponseBytes: z
559
- .number()
560
- .step(1)
561
- .min(1_024)
562
- .max(1_073_741_824)
563
- .default(DD.limits.maxResponseBytes),
564
- maxExtractedMarkdownBytes: z
565
- .number()
566
- .step(1)
567
- .min(1_024)
568
- .max(1_073_741_824)
569
- .default(DD.limits.maxExtractedMarkdownBytes),
570
- allowedAssetMimeTypes: z
571
- .array(z.string())
572
- .default([...DD.limits.allowedAssetMimeTypes]),
573
- })
574
- .default({
575
- ...DD.limits,
576
- allowedAssetMimeTypes: [...DD.limits.allowedAssetMimeTypes],
577
- }),
578
- })
579
- .default({
580
- ...D.documents,
581
- storage: {
582
- ...DD.storage,
583
- allowedInputRoots: [...DD.storage.allowedInputRoots],
584
- },
585
- templates: { ...DD.templates },
586
- create: {
587
- ...DD.create,
588
- allowFormats: [...DD.create.allowFormats],
589
- },
590
- extraction: {
591
- ...DD.extraction,
592
- ocrLanguages: [...DD.extraction.ocrLanguages],
593
- },
594
- docling: { ...DD.docling },
595
- pandoc: { ...DD.pandoc },
596
- libreoffice: { ...DD.libreoffice },
597
- typst: { ...DD.typst },
598
- markitdown: { ...DD.markitdown },
599
- workers: { ...DD.workers },
600
- retention: { ...DD.retention },
601
- limits: {
602
- ...DD.limits,
603
- allowedAssetMimeTypes: [...DD.limits.allowedAssetMimeTypes],
604
- },
605
- }),
606
357
  });
607
358
  export const ConfigSchema = configSchema;
608
359
  export { DEFAULT_QA_SURFACE_CONFIG, normalizeRoutePath, resolveConfig, } from "./resolve-config.js";
package/lib/config.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,172 @@
1
+ import { createUserMessage } from "@deepseek-ai/dsh-llm";
2
+ import { isModelInvocable, renderSkillContent } from "@deepseek-ai/dsh-skill";
3
+ import { defineTool } from "@deepseek-ai/dsh-tools";
4
+ const SKILL_NOT_AVAILABLE = "SKILL_NOT_AVAILABLE";
5
+ function escapeXml(value) {
6
+ return value
7
+ .replaceAll("&", "&")
8
+ .replaceAll("<", "&lt;")
9
+ .replaceAll(">", "&gt;")
10
+ .replaceAll('"', "&quot;");
11
+ }
12
+ function renderCatalog(skills) {
13
+ if (skills.length === 0)
14
+ return "";
15
+ return [
16
+ "<available_skills>",
17
+ ...skills.map((skill) => ` <skill name="${escapeXml(skill.name)}" description="${escapeXml(skill.description)}" />`),
18
+ "</available_skills>",
19
+ "Use the skill tool to load a listed skill before following it.",
20
+ ].join("\n");
21
+ }
22
+ /** The skill one injected message belongs to, or `undefined` for other messages. */
23
+ function invokedSkill(message) {
24
+ const source = message.source;
25
+ return source.kind === "skill-invocation" ? source.name : undefined;
26
+ }
27
+ function availabilityReason(skillName, subroleId) {
28
+ return `Skill "${skillName}" is not available for QA subrole "${subroleId}".`;
29
+ }
30
+ /**
31
+ * Agent-local skill consumer. The local `skill` registration shadows the
32
+ * standard loader; discovery, direct loading and a `/name` gesture all enforce
33
+ * the same frozen allow-list, and every successful load activates the tool
34
+ * grant the skill declares — still capped by the subrole's ceiling.
35
+ *
36
+ * Loading the instructions and widening the toolset is one operation: a skill
37
+ * that cannot be granted what it requires is refused instead of being handed
38
+ * instructions it has no tools to follow.
39
+ */
40
+ export function installQaSkillPolicy(options) {
41
+ const { agent, policy, discovered, grants } = options;
42
+ if (!policy.tools.includes("skill"))
43
+ return () => undefined;
44
+ const modelAllowed = new Set(policy.skills);
45
+ const userAllowed = new Set(policy.userSkills.length === 0 ? policy.skills : policy.userSkills);
46
+ const visible = policy.skills
47
+ .map((name) => discovered.get(name))
48
+ .filter((skill) => skill !== undefined)
49
+ .filter(isModelInvocable);
50
+ const cwd = agent.session.header.cwd;
51
+ const origin = options.preview === true ? "preview" : "model";
52
+ const definition = defineTool({
53
+ name: "skill",
54
+ description: "Load one available skill's instructions. Only skills listed in <available_skills> can be loaded.",
55
+ parameters: {
56
+ name: {
57
+ type: "string",
58
+ required: true,
59
+ description: "Exact skill name from <available_skills>.",
60
+ },
61
+ },
62
+ output: {
63
+ schema: {
64
+ type: "object",
65
+ additionalProperties: false,
66
+ properties: {
67
+ name: { type: "string", required: true },
68
+ content: { type: "string", required: true },
69
+ },
70
+ },
71
+ render: (_args, value) => [
72
+ { type: "text", text: String(value.content ?? "") },
73
+ ],
74
+ },
75
+ execute: async (args, exec) => {
76
+ if (!modelAllowed.has(args.name)) {
77
+ throw new Error(`${SKILL_NOT_AVAILABLE}: ${args.name}`);
78
+ }
79
+ const skill = await agent.ctx.skills.get(args.name, {
80
+ scope: agent,
81
+ ...(cwd === undefined ? {} : { cwd }),
82
+ signal: exec.signal,
83
+ });
84
+ if (skill === undefined || !isModelInvocable(skill)) {
85
+ throw new Error(`${SKILL_NOT_AVAILABLE}: ${args.name}`);
86
+ }
87
+ const outcome = grants.activate(args.name, origin);
88
+ if (outcome.status === "rejected") {
89
+ options.logger.warn("skill-policy.activation-rejected", {
90
+ skill: args.name,
91
+ reason: outcome.reason,
92
+ });
93
+ throw new Error(outcome.reason);
94
+ }
95
+ const content = [renderSkillContent(skill), outcome.warning]
96
+ .filter((part) => part !== undefined && part !== "")
97
+ .join("\n\n");
98
+ return { name: skill.name, content };
99
+ },
100
+ });
101
+ const disposeTool = agent.ctx.tools.register(definition);
102
+ let disposePrompt = () => undefined;
103
+ let disposeGesture = () => undefined;
104
+ try {
105
+ disposePrompt = agent.ctx.systemPrompt.section({
106
+ name: "qa-surface:available-skills",
107
+ order: 2_750,
108
+ text: renderCatalog(visible),
109
+ });
110
+ // The command menu and a typed `/name` are handled by the standard skill
111
+ // consumer, which appends the rendered body to this step's messages. This
112
+ // listener is registered ahead of it so it can still withdraw the
113
+ // injection, and an allowed skill has its grant in place before the same
114
+ // step is assembled.
115
+ disposeGesture = agent.ctx.on("agent/pre-step",
116
+ // The payload's `messages` are the pre-injection batch; what matters here
117
+ // is what the rest of the chain produced, read after `next()`.
118
+ async (_payload, next) => {
119
+ const decision = await next();
120
+ if (decision.kind === "reject")
121
+ return decision;
122
+ if (!decision.messages.some((message) => invokedSkill(message) !== undefined)) {
123
+ return decision;
124
+ }
125
+ let changed = false;
126
+ const nextMessages = decision.messages.flatMap((message) => {
127
+ const name = invokedSkill(message);
128
+ if (name === undefined)
129
+ return [message];
130
+ if (!userAllowed.has(name)) {
131
+ changed = true;
132
+ grants.deny(name, "user", availabilityReason(name, policy.subroleId));
133
+ options.logger.warn("skill-policy.invocation-denied", {
134
+ skill: name,
135
+ subroleId: policy.subroleId,
136
+ });
137
+ return [];
138
+ }
139
+ const outcome = grants.activate(name, "user");
140
+ if (outcome.status === "activated")
141
+ return [message];
142
+ changed = true;
143
+ options.logger.warn("skill-policy.activation-rejected", {
144
+ skill: name,
145
+ reason: outcome.reason,
146
+ });
147
+ // The step still runs: the model is told why the skill it was asked
148
+ // to follow is not in force, instead of silently acting on it.
149
+ return [
150
+ createUserMessage({
151
+ source: message.source,
152
+ content: [{ type: "text", text: outcome.reason }],
153
+ }),
154
+ ];
155
+ });
156
+ return changed ? { ...decision, messages: nextMessages } : decision;
157
+ }, { prepend: true });
158
+ }
159
+ catch (error) {
160
+ disposeGesture();
161
+ disposePrompt();
162
+ disposeTool();
163
+ throw error;
164
+ }
165
+ return () => {
166
+ disposeGesture();
167
+ disposePrompt();
168
+ disposeTool();
169
+ };
170
+ }
171
+ export { SKILL_NOT_AVAILABLE };
172
+ //# sourceMappingURL=skill-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-policy.js","sourceRoot":"","sources":["../../src/enforcement/skill-policy.ts"],"names":[],"mappings":"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"}