@yadsh/dsh-qa-surface 0.19.0 → 0.21.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 (252) hide show
  1. package/README.md +235 -0
  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/chat-sharing/transport.js +6 -2
  21. package/lib/chat-sharing/transport.js.map +1 -1
  22. package/lib/client/QaAccountsController.js +43 -8
  23. package/lib/client/QaAccountsController.js.map +1 -1
  24. package/lib/client/QaSessionController.js +55 -23
  25. package/lib/client/QaSessionController.js.map +1 -1
  26. package/lib/client/QaSurface.js +61 -3
  27. package/lib/client/QaSurface.js.map +1 -1
  28. package/lib/client/QaTranscriptAdapter.js +36 -1
  29. package/lib/client/QaTranscriptAdapter.js.map +1 -1
  30. package/lib/client/admin/ModelPolicyEditor.js +28 -2
  31. package/lib/client/admin/ModelPolicyEditor.js.map +1 -1
  32. package/lib/client/admin/RoleEditor.js +18 -1
  33. package/lib/client/admin/RoleEditor.js.map +1 -1
  34. package/lib/client/admin/pages/SkillFiles.js +1 -1
  35. package/lib/client/admin/pages/SkillFiles.js.map +1 -1
  36. package/lib/client/admin/pages/Users.js +36 -16
  37. package/lib/client/admin/pages/Users.js.map +1 -1
  38. package/lib/client/admin/styles.js +3 -0
  39. package/lib/client/admin/styles.js.map +1 -1
  40. package/lib/client/chat-artifacts.js +1 -0
  41. package/lib/client/chat-artifacts.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/QaArtifactAttachment.js +12 -0
  45. package/lib/client/components/QaArtifactAttachment.js.map +1 -0
  46. package/lib/client/components/QaChangelog.js +94 -0
  47. package/lib/client/components/QaChangelog.js.map +1 -1
  48. package/lib/client/components/QaChatActions.js +36 -14
  49. package/lib/client/components/QaChatActions.js.map +1 -1
  50. package/lib/client/components/QaCodeSourcePicker.js +18 -0
  51. package/lib/client/components/QaCodeSourcePicker.js.map +1 -0
  52. package/lib/client/components/QaComposer.js +11 -12
  53. package/lib/client/components/QaComposer.js.map +1 -1
  54. package/lib/client/components/QaComposerSettings.js +202 -0
  55. package/lib/client/components/QaComposerSettings.js.map +1 -0
  56. package/lib/client/components/QaFilesPanel.js +2 -8
  57. package/lib/client/components/QaFilesPanel.js.map +1 -1
  58. package/lib/client/components/QaFormItem.js +74 -38
  59. package/lib/client/components/QaFormItem.js.map +1 -1
  60. package/lib/client/components/QaHistoryCatalog.js +261 -0
  61. package/lib/client/components/QaHistoryCatalog.js.map +1 -0
  62. package/lib/client/components/QaInputForm.js +115 -32
  63. package/lib/client/components/QaInputForm.js.map +1 -1
  64. package/lib/client/components/QaMessage.js +3 -8
  65. package/lib/client/components/QaMessage.js.map +1 -1
  66. package/lib/client/components/QaModelSelector.js +21 -0
  67. package/lib/client/components/QaModelSelector.js.map +1 -0
  68. package/lib/client/components/QaSidebar.js +25 -24
  69. package/lib/client/components/QaSidebar.js.map +1 -1
  70. package/lib/client/components/QaWorkGroup.js +1 -3
  71. package/lib/client/components/QaWorkGroup.js.map +1 -1
  72. package/lib/client/composer-settings-styles.js +21 -0
  73. package/lib/client/composer-settings-styles.js.map +1 -0
  74. package/lib/client/forms-styles.js +35 -11
  75. package/lib/client/forms-styles.js.map +1 -1
  76. package/lib/client/history-organization-styles.js +31 -0
  77. package/lib/client/history-organization-styles.js.map +1 -0
  78. package/lib/client/history-organization.js +155 -0
  79. package/lib/client/history-organization.js.map +1 -0
  80. package/lib/client/index.js +13 -4
  81. package/lib/client/index.js.map +1 -1
  82. package/lib/client/settings/card.js +2 -2
  83. package/lib/client/settings/card.js.map +1 -1
  84. package/lib/client/settings/sections/attachments.js +7 -1
  85. package/lib/client/settings/sections/attachments.js.map +1 -1
  86. package/lib/client/settings/sections/file-writes.js +15 -0
  87. package/lib/client/settings/sections/file-writes.js.map +1 -0
  88. package/lib/client/settings/sections/session.js +1 -1
  89. package/lib/client/settings/sections/session.js.map +1 -1
  90. package/lib/client/settings/sections.js +1 -0
  91. package/lib/client/settings/sections.js.map +1 -1
  92. package/lib/client/styles.js +18 -1
  93. package/lib/client/styles.js.map +1 -1
  94. package/lib/client/tool-presentation.js +21 -3
  95. package/lib/client/tool-presentation.js.map +1 -1
  96. package/lib/client/types.js.map +1 -1
  97. package/lib/client/use-chat-code-source.js +156 -0
  98. package/lib/client/use-chat-code-source.js.map +1 -0
  99. package/lib/client/use-history-organization.js +48 -0
  100. package/lib/client/use-history-organization.js.map +1 -0
  101. package/lib/client/use-model-selection.js +96 -0
  102. package/lib/client/use-model-selection.js.map +1 -0
  103. package/lib/client/use-qa-file-drop.js +81 -0
  104. package/lib/client/use-qa-file-drop.js.map +1 -0
  105. package/lib/client/user-settings/IntegrationTokensPage.js +42 -6
  106. package/lib/client/user-settings/IntegrationTokensPage.js.map +1 -1
  107. package/lib/client/user-settings/UserSettingsDialog.js +1 -1
  108. package/lib/client/user-settings/UserSettingsDialog.js.map +1 -1
  109. package/lib/client.js +125 -27
  110. package/lib/client.js.map +1 -1
  111. package/lib/code-source-selection.js +102 -0
  112. package/lib/code-source-selection.js.map +1 -0
  113. package/lib/config-resolvers/accounts.js +26 -1
  114. package/lib/config-resolvers/accounts.js.map +1 -1
  115. package/lib/config-resolvers/defaults.js +7 -0
  116. package/lib/config-resolvers/defaults.js.map +1 -1
  117. package/lib/config-resolvers/integration.js +8 -1
  118. package/lib/config-resolvers/integration.js.map +1 -1
  119. package/lib/config-resolvers/session.js +2 -0
  120. package/lib/config-resolvers/session.js.map +1 -1
  121. package/lib/config-resolvers/tools.js +2 -0
  122. package/lib/config-resolvers/tools.js.map +1 -1
  123. package/lib/config.js +77 -4
  124. package/lib/config.js.map +1 -1
  125. package/lib/enforcement/skill-policy.js +37 -2
  126. package/lib/enforcement/skill-policy.js.map +1 -1
  127. package/lib/forms/errors.js +6 -1
  128. package/lib/forms/errors.js.map +1 -1
  129. package/lib/forms/gate.js +28 -2
  130. package/lib/forms/gate.js.map +1 -1
  131. package/lib/forms/schema-errors.js +47 -0
  132. package/lib/forms/schema-errors.js.map +1 -0
  133. package/lib/forms/schema.js +29 -20
  134. package/lib/forms/schema.js.map +1 -1
  135. package/lib/index.js +161 -9
  136. package/lib/index.js.map +1 -1
  137. package/lib/integration/http.js +9 -10
  138. package/lib/integration/http.js.map +1 -1
  139. package/lib/integration/service.js +9 -0
  140. package/lib/integration/service.js.map +1 -1
  141. package/lib/personal-skills/provider.js +9 -1
  142. package/lib/personal-skills/provider.js.map +1 -1
  143. package/lib/personal-skills/service.js +4 -0
  144. package/lib/personal-skills/service.js.map +1 -1
  145. package/lib/personal-skills/shared-seed.js +65 -0
  146. package/lib/personal-skills/shared-seed.js.map +1 -0
  147. package/lib/prompt-notes.js +24 -2
  148. package/lib/prompt-notes.js.map +1 -1
  149. package/lib/provenance/collector.js +1 -0
  150. package/lib/provenance/collector.js.map +1 -1
  151. package/lib/provenance/extractors.js +6 -1
  152. package/lib/provenance/extractors.js.map +1 -1
  153. package/lib/qa-tools/catalog.js +33 -1
  154. package/lib/qa-tools/catalog.js.map +1 -1
  155. package/lib/qa-tools/code-files.js +207 -0
  156. package/lib/qa-tools/code-files.js.map +1 -0
  157. package/lib/qa-tools/code-tools.js +158 -0
  158. package/lib/qa-tools/code-tools.js.map +1 -0
  159. package/lib/qa-tools/docs-tools.js +49 -12
  160. package/lib/qa-tools/docs-tools.js.map +1 -1
  161. package/lib/qa-tools/file-write-gate.js +47 -0
  162. package/lib/qa-tools/file-write-gate.js.map +1 -0
  163. package/lib/qa-tools/index.js +10 -0
  164. package/lib/qa-tools/index.js.map +1 -1
  165. package/lib/qa-tools/request-user-form.js +26 -6
  166. package/lib/qa-tools/request-user-form.js.map +1 -1
  167. package/lib/qa-tools/subagent-tools.js +159 -0
  168. package/lib/qa-tools/subagent-tools.js.map +1 -0
  169. package/lib/request-scheduler.js +32 -5
  170. package/lib/request-scheduler.js.map +1 -1
  171. package/lib/resolve-config.js +9 -1
  172. package/lib/resolve-config.js.map +1 -1
  173. package/lib/secure-session.js +16 -4
  174. package/lib/secure-session.js.map +1 -1
  175. package/lib/session-model.js +43 -1
  176. package/lib/session-model.js.map +1 -1
  177. package/lib/shared/file-write-policy.js +29 -0
  178. package/lib/shared/file-write-policy.js.map +1 -0
  179. package/lib/shared/history-folder.js +18 -0
  180. package/lib/shared/history-folder.js.map +1 -0
  181. package/lib/typert.host.js +757 -162
  182. package/lib/typert.remote-client.d.ts +19 -7
  183. package/lib/typert.remote-client.js +688 -153
  184. package/lib/types/access/model-choices.d.ts +16 -0
  185. package/lib/types/access/model-policy.d.ts +13 -7
  186. package/lib/types/access/model.d.ts +9 -0
  187. package/lib/types/access/queue-policy.d.ts +30 -0
  188. package/lib/types/access/service.d.ts +27 -0
  189. package/lib/types/account-remotes.d.ts +5 -4
  190. package/lib/types/accounts/database.d.ts +5 -0
  191. package/lib/types/accounts/store.d.ts +6 -0
  192. package/lib/types/chat-sharing/transport.d.ts +1 -1
  193. package/lib/types/client/QaAccountsController.d.ts +3 -1
  194. package/lib/types/client/QaSessionController.d.ts +19 -5
  195. package/lib/types/client/QaSurface.d.ts +2 -0
  196. package/lib/types/client/admin/ModelPolicyEditor.d.ts +2 -0
  197. package/lib/types/client/code-source-styles.d.ts +2 -0
  198. package/lib/types/client/components/QaArtifactAttachment.d.ts +8 -0
  199. package/lib/types/client/components/QaChatActions.d.ts +3 -1
  200. package/lib/types/client/components/QaCodeSourcePicker.d.ts +9 -0
  201. package/lib/types/client/components/QaComposer.d.ts +2 -0
  202. package/lib/types/client/components/QaComposerSettings.d.ts +16 -0
  203. package/lib/types/client/components/QaFormItem.d.ts +4 -2
  204. package/lib/types/client/components/QaHistoryCatalog.d.ts +19 -0
  205. package/lib/types/client/components/QaInputForm.d.ts +3 -2
  206. package/lib/types/client/components/QaModelSelector.d.ts +4 -0
  207. package/lib/types/client/components/QaSidebar.d.ts +3 -0
  208. package/lib/types/client/composer-settings-styles.d.ts +2 -0
  209. package/lib/types/client/forms-styles.d.ts +1 -1
  210. package/lib/types/client/history-organization-styles.d.ts +3 -0
  211. package/lib/types/client/history-organization.d.ts +38 -0
  212. package/lib/types/client/settings/sections/file-writes.d.ts +4 -0
  213. package/lib/types/client/settings/sections.d.ts +1 -0
  214. package/lib/types/client/tool-presentation.d.ts +1 -0
  215. package/lib/types/client/types.d.ts +12 -4
  216. package/lib/types/client/use-chat-code-source.d.ts +20 -0
  217. package/lib/types/client/use-history-organization.d.ts +8 -0
  218. package/lib/types/client/use-model-selection.d.ts +24 -0
  219. package/lib/types/client/use-qa-file-drop.d.ts +12 -0
  220. package/lib/types/code-source-selection.d.ts +28 -0
  221. package/lib/types/code-sources.js +2 -0
  222. package/lib/types/code-sources.js.map +1 -0
  223. package/lib/types/config-resolvers/integration.d.ts +7 -1
  224. package/lib/types/forms/errors.d.ts +3 -2
  225. package/lib/types/forms/gate.d.ts +4 -2
  226. package/lib/types/forms/schema-errors.d.ts +7 -0
  227. package/lib/types/forms/types.d.ts +14 -0
  228. package/lib/types/index.d.ts +38 -5
  229. package/lib/types/integration/http.d.ts +1 -3
  230. package/lib/types/integration/service.d.ts +2 -0
  231. package/lib/types/personal-skills/shared-seed.d.ts +12 -0
  232. package/lib/types/prompt-notes.d.ts +6 -2
  233. package/lib/types/qa-tools/catalog.d.ts +5 -2
  234. package/lib/types/qa-tools/code-files.d.ts +59 -0
  235. package/lib/types/qa-tools/code-tools.d.ts +7 -0
  236. package/lib/types/qa-tools/docs-tools.d.ts +4 -0
  237. package/lib/types/qa-tools/file-write-gate.d.ts +6 -0
  238. package/lib/types/qa-tools/index.d.ts +3 -0
  239. package/lib/types/qa-tools/subagent-tools.d.ts +40 -0
  240. package/lib/types/request-scheduler.d.ts +21 -2
  241. package/lib/types/session-model.d.ts +11 -2
  242. package/lib/types/shared/file-write-policy.d.ts +10 -0
  243. package/lib/types/shared/history-folder.d.ts +4 -0
  244. package/lib/types/types/accounts.d.ts +11 -0
  245. package/lib/types/types/capability.d.ts +31 -4
  246. package/lib/types/types/code-sources.d.ts +12 -0
  247. package/lib/types/types/config.d.ts +23 -0
  248. package/lib/types/types/documents.d.ts +2 -0
  249. package/lib/types/types.d.ts +1 -0
  250. package/lib/user-workspace.js +7 -4
  251. package/lib/user-workspace.js.map +1 -1
  252. package/package.json +6 -5
@@ -1,4 +1,6 @@
1
1
  import { resolveAccounts } from "./config-resolvers/accounts.js";
2
+ import { resolveCodeSources } from "@yadsh/dsh-plugin-kit/code-sources";
3
+ import { isDocumentationVersion } from "./shared/docs-version.js";
2
4
  import { resolveFormPolicy } from "./forms/schema.js";
3
5
  import { resolveAttachments } from "./config-resolvers/attachments.js";
4
6
  import { normalizeRoutePath, resolveBasics, } from "./config-resolvers/basics.js";
@@ -31,7 +33,13 @@ export function resolveConfig(input = {}) {
31
33
  const attachments = resolveAttachments(input);
32
34
  const tools = resolveTools(input);
33
35
  const accounts = resolveAccounts(input, { session, lockdown });
36
+ const codeSources = resolveCodeSources(input.codeSources);
37
+ if (codeSources.entries.some((source) => source.docsVersion !== undefined &&
38
+ !isDocumentationVersion(source.docsVersion))) {
39
+ throw new TypeError("codeSources docsVersion must be a documentation edition such as 2.0");
40
+ }
34
41
  return Object.freeze({
42
+ codeSources,
35
43
  forms: Object.freeze(resolveFormPolicy(input.forms)),
36
44
  enabled: basics.enabled,
37
45
  route: basics.route,
@@ -53,7 +61,7 @@ export function resolveConfig(input = {}) {
53
61
  notes: resolveNotes(input.notes),
54
62
  // Last, because it reads the resolved accounts domain: the API cannot be
55
63
  // switched on without an account store to authenticate against.
56
- integration: resolveIntegration(input.integration, accounts),
64
+ integration: resolveIntegration(input.integration, accounts, attachments),
57
65
  });
58
66
  }
59
67
  //# sourceMappingURL=resolve-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-config.js","sourceRoot":"","sources":["../src/resolve-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EACL,kBAAkB,EAClB,aAAa,GACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAGrD,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,CAAC;AAEzD;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAK,GAAoB,EAAE;IAE3B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5C,yEAAyE;IACzE,iEAAiE;IACjE,MAAM,aAAa,GAAG,oBAAoB,CACxC,KAAK,EACL,QAAQ,CAAC,kBAAkB,CAC5B,CAAC;IACF,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/D,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpD,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO;QACP,EAAE;QACF,kBAAkB,EAAE,eAAe,CACjC,KAAK,CAAC,kBAAkB,IAAI,yBAAyB,CAAC,kBAAkB,CACzE;QACD,eAAe,EAAE,aAAa,CAC5B,KAAK,CAAC,eAAe,IAAI,yBAAyB,CAAC,eAAe,CACnE;QACD,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,QAAQ;QACR,aAAa;QACb,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ;QACR,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,aAAa,EAAE,oBAAoB,CAAC,KAAK,CAAC;QAC1C,OAAO;QACP,WAAW;QACX,KAAK;QACL,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC;QAChC,yEAAyE;QACzE,gEAAgE;QAChE,WAAW,EAAE,kBAAkB,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC;KAC7D,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"resolve-config.js","sourceRoot":"","sources":["../src/resolve-config.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { QaAttachmentAccess, } from "./attachment-access.js";
8
8
  import { QA_SESSION_CLAIM_WINDOW_MS, QaAccountsError, } from "./accounts/store.js";
9
9
  import { QaAttestationError } from "./attestation.js";
10
10
  import { qaCeilingDenial, qaToolDenial, qaToolPolicyPlan, } from "./lockdown-policy.js";
11
+ import { reconcileSessionModelPolicy, sessionModelSelection, } from "./session-model.js";
11
12
  import { deploymentModelPair, modelPolicySatisfied, resolveModelPolicy, } from "./access/model-policy.js";
12
13
  import { installQaSkillPolicy } from "./enforcement/skill-policy.js";
13
14
  import { installInheritableMask } from "./enforcement/tool-mask.js";
@@ -455,14 +456,14 @@ export class QaPolicyAdmission {
455
456
  (expectedWorkspace === null &&
456
457
  config.session.cwd !== null &&
457
458
  cwdMatches(agent.session.header.cwd, config.session.cwd));
458
- const options = agent.options;
459
+ let options = sessionModelSelection(this.ctx, agent);
459
460
  // The pair this chat belongs to is its own policy's, not the deployment's:
460
461
  // a role served by another model is admitted on that model, while the
461
462
  // switch still refuses a chat that moved outside its policy.
462
463
  const modelPolicy = this.modelPolicy?.(sessionId) ??
463
- resolveModelPolicy({ deployment: deploymentModelPair(config.session) });
464
- const modelMatches = !lockdown.enforceFixedModel || modelPolicySatisfied(modelPolicy, options);
465
- if (!agentPresetMatches || !workspaceMatches || !modelMatches) {
464
+ resolveModelPolicy({ deployment: deploymentModelPair(config.session) }, config.session.modelReplacements);
465
+ let modelMatches = !lockdown.enforceFixedModel || modelPolicySatisfied(modelPolicy, options);
466
+ if (!agentPresetMatches || !workspaceMatches) {
466
467
  throw new QaAttestationError("composition-mismatch", `composition mismatch: agent=${agentPresetMatches} workspace=${workspaceMatches} model=${modelMatches}`);
467
468
  }
468
469
  const permission = pins.permission;
@@ -477,6 +478,17 @@ export class QaPolicyAdmission {
477
478
  FRESH_SESSION_BOOTSTRAP_WINDOW_MS)) {
478
479
  throw new QaAttestationError("adoption-refused", "existing non-QA session cannot be adopted");
479
480
  }
481
+ if (!modelMatches &&
482
+ (await reconcileSessionModelPolicy(this.ctx, SessionId(sessionId), modelPolicy, {
483
+ status: agent.status,
484
+ options,
485
+ runMaintenance: agent.runMaintenance?.bind(agent),
486
+ }, config.session.modelReplacements, this.logger))) {
487
+ options = sessionModelSelection(this.ctx, agent);
488
+ modelMatches = modelPolicySatisfied(modelPolicy, options);
489
+ }
490
+ if (!modelMatches)
491
+ throw new QaAttestationError("composition-mismatch", "composition mismatch: agent=true workspace=true model=false");
480
492
  // Resolve and persist a role snapshot only after every Host-owned
481
493
  // composition and adoption check passed. A browser cannot make a
482
494
  // foreign/non-QA agent leave behind a trusted capability record by merely
@@ -1 +1 @@
1
- {"version":3,"file":"secure-session.js","sourceRoot":"","sources":["../src/secure-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secure-session.js","sourceRoot":"","sources":["../src/secure-session.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,10 @@
1
- import { assertModelPairAvailable, projectModelCatalog, } from "./access/model-policy.js";
1
+ import { assertModelPairAvailable, projectModelCatalog, replaceModelPair, modelPolicySatisfied, } from "./access/model-policy.js";
2
+ /** Host selection is durable and can differ from immutable agent creation options. */
3
+ export function sessionModelSelection(ctx, agent) {
4
+ const projections = ctx.get?.("sessionProjections");
5
+ const state = projections?.stateOf?.(agent.session, "modelSelection");
6
+ return state?.pending ?? state?.lastUsed ?? agent.options;
7
+ }
2
8
  /**
3
9
  * Put one fresh session on the pair its model policy names.
4
10
  *
@@ -34,7 +40,43 @@ export async function applySessionModelPolicy(ctx, sessionId, policy, logger) {
34
40
  provider: pair.provider,
35
41
  model: pair.model,
36
42
  layer: policy.layer ?? "deployment",
43
+ ...(policy.redirectedFrom === undefined
44
+ ? {}
45
+ : {
46
+ replacedProvider: policy.redirectedFrom.provider,
47
+ replacedModel: policy.redirectedFrom.model,
48
+ }),
37
49
  });
38
50
  return pair;
39
51
  }
52
+ /** Migrate an idle owned chat only along an explicit redirect to its exact policy. */
53
+ export async function reconcileSessionModelPolicy(ctx, sessionId, policy, current, replacements, logger) {
54
+ const { provider, model } = current.options;
55
+ if (current.status !== "idle" ||
56
+ current.runMaintenance === undefined ||
57
+ policy.pair === undefined ||
58
+ provider === undefined ||
59
+ model === undefined ||
60
+ modelPolicySatisfied(policy, current.options))
61
+ return false;
62
+ const old = { provider, model };
63
+ const redirected = replaceModelPair(old, replacements);
64
+ if (redirected === old ||
65
+ redirected === undefined ||
66
+ redirected.provider !== policy.pair.provider ||
67
+ redirected.model !== policy.pair.model)
68
+ return false;
69
+ await current.runMaintenance(async (signal) => {
70
+ signal.throwIfAborted();
71
+ await applySessionModelPolicy(ctx, sessionId, policy, logger);
72
+ });
73
+ logger.info("session.model-migrated", {
74
+ sessionId: String(sessionId),
75
+ fromProvider: provider,
76
+ fromModel: model,
77
+ provider: redirected.provider,
78
+ model: redirected.model,
79
+ });
80
+ return true;
81
+ }
40
82
  //# sourceMappingURL=session-model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-model.js","sourceRoot":"","sources":["../src/session-model.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,wBAAwB,EACxB,mBAAmB,GAEpB,MAAM,0BAA0B,CAAC;AAGlC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,GAAY,EACZ,SAAoB,EACpB,MAA4B,EAC5B,MAAoB;IAEpB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,wBAAwB,CACtB,IAAI,EACJ,mBAAmB,CAAC,MAAM,GAAG,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAChE,CAAC;IACF,MAAM,GAAG,CAAC,iBAAiB,CAAC,WAAW,CAAC;QACtC,SAAS;QACT,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;KAC/C,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;QACpC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;QAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,YAAY;KACpC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"session-model.js","sourceRoot":"","sources":["../src/session-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ export const QA_FILE_WRITE_EXTENSION_PATTERN = /^\s*\.?[a-z0-9_-]+(?:\.[a-z0-9_-]+)*\s*$/iu;
2
+ export const DEFAULT_QA_FILE_WRITE_POLICY = Object.freeze({
3
+ blockedExtensions: Object.freeze([".py", ".pyw"]),
4
+ message: "Запись файлов этого типа запрещена настройками QA. Не создавайте и не запускайте обходные скрипты. Используйте доступные инструменты для работы с документами и таблицами; если нужной операции нет, сообщите об ограничении.",
5
+ });
6
+ /** Normalize exact suffixes; wildcard and path rules are deliberately unsupported. */
7
+ export function resolveFileWritePolicy(input) {
8
+ const extensions = input?.blockedExtensions ?? DEFAULT_QA_FILE_WRITE_POLICY.blockedExtensions;
9
+ if (!Array.isArray(extensions) || extensions.length > 100)
10
+ throw new Error("tools.fileWritePolicy.blockedExtensions must be an array of at most 100 extensions");
11
+ const normalized = extensions.map((value) => {
12
+ if (typeof value !== "string" ||
13
+ !QA_FILE_WRITE_EXTENSION_PATTERN.test(value) ||
14
+ value.length > 64)
15
+ throw new Error("tools.fileWritePolicy.blockedExtensions must contain extensions such as .py, without paths or wildcards");
16
+ const extension = value.trim().toLowerCase();
17
+ return extension.startsWith(".") ? extension : `.${extension}`;
18
+ });
19
+ const message = input?.message ?? DEFAULT_QA_FILE_WRITE_POLICY.message;
20
+ if (typeof message !== "string" ||
21
+ message.trim() === "" ||
22
+ message.length > 4000)
23
+ throw new Error("tools.fileWritePolicy.message must be non-empty and at most 4000 characters");
24
+ return Object.freeze({
25
+ blockedExtensions: Object.freeze([...new Set(normalized)]),
26
+ message: message.trim(),
27
+ });
28
+ }
29
+ //# sourceMappingURL=file-write-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-write-policy.js","sourceRoot":"","sources":["../../src/shared/file-write-policy.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,+BAA+B,GAC1C,4CAA4C,CAAC;AAE/C,MAAM,CAAC,MAAM,4BAA4B,GAAsB,MAAM,CAAC,MAAM,CAAC;IAC3E,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACjD,OAAO,EACL,+NAA+N;CAClO,CAAC,CAAC;AAEH,sFAAsF;AACtF,MAAM,UAAU,sBAAsB,CACpC,KAAkC;IAElC,MAAM,UAAU,GACd,KAAK,EAAE,iBAAiB,IAAI,4BAA4B,CAAC,iBAAiB,CAAC;IAC7E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,GAAG;QACvD,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;IACJ,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAc,EAAE,EAAE;QACnD,IACE,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC;YAC5C,KAAK,CAAC,MAAM,GAAG,EAAE;YAEjB,MAAM,IAAI,KAAK,CACb,yGAAyG,CAC1G,CAAC;QACJ,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,OAAO,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,KAAK,EAAE,OAAO,IAAI,4BAA4B,CAAC,OAAO,CAAC;IACvE,IACE,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE;QACrB,OAAO,CAAC,MAAM,GAAG,IAAI;QAErB,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;IACJ,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1D,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;KACxB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,18 @@
1
+ /** Bound both fields at the server boundary; identifiers are opaque UI keys. */
2
+ export function normalizeHistoryFolder(input) {
3
+ if (input === null || input === undefined)
4
+ return null;
5
+ if (typeof input !== "object")
6
+ throw new TypeError("Invalid virtual folder.");
7
+ const { id, name } = input;
8
+ if (typeof id !== "string" ||
9
+ !/^[a-zA-Z0-9_-]{1,128}$/u.test(id) ||
10
+ typeof name !== "string" ||
11
+ !name.trim() ||
12
+ name.trim().length > 80 ||
13
+ [...name].some((char) => char.charCodeAt(0) < 32)) {
14
+ throw new TypeError("Invalid virtual folder.");
15
+ }
16
+ return { id, name: name.trim() };
17
+ }
18
+ //# sourceMappingURL=history-folder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history-folder.js","sourceRoot":"","sources":["../../src/shared/history-folder.ts"],"names":[],"mappings":"AAEA,gFAAgF;AAChF,MAAM,UAAU,sBAAsB,CACpC,KAAc;IAEd,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,MAAM,IAAI,SAAS,CAAC,yBAAyB,CAAC,CAAC;IAC9E,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,KAAgC,CAAC;IACtD,IACE,OAAO,EAAE,KAAK,QAAQ;QACtB,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,KAAK,QAAQ;QACxB,CAAC,IAAI,CAAC,IAAI,EAAE;QACZ,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE;QACvB,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EACjD,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,yBAAyB,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;AACnC,CAAC"}