@yadsh/dsh-qa-surface 0.10.0 → 0.11.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 (169) hide show
  1. package/README.md +251 -12
  2. package/lib/access/service.js +49 -10
  3. package/lib/access/service.js.map +1 -1
  4. package/lib/account-remotes.js +41 -0
  5. package/lib/account-remotes.js.map +1 -1
  6. package/lib/accounts/database.js +140 -0
  7. package/lib/accounts/database.js.map +1 -1
  8. package/lib/accounts/errors.js.map +1 -1
  9. package/lib/accounts/service-token.js +103 -0
  10. package/lib/accounts/service-token.js.map +1 -0
  11. package/lib/accounts/store.js +291 -5
  12. package/lib/accounts/store.js.map +1 -1
  13. package/lib/admin/conversation-log.js +14 -8
  14. package/lib/admin/conversation-log.js.map +1 -1
  15. package/lib/admin/permissions.js +5 -0
  16. package/lib/admin/permissions.js.map +1 -1
  17. package/lib/admin/quality-store.js +4 -0
  18. package/lib/admin/quality-store.js.map +1 -1
  19. package/lib/admin/service.js +173 -0
  20. package/lib/admin/service.js.map +1 -1
  21. package/lib/admin/session-log.js +39 -8
  22. package/lib/admin/session-log.js.map +1 -1
  23. package/lib/attachment-rules.js +39 -6
  24. package/lib/attachment-rules.js.map +1 -1
  25. package/lib/cli.js +83 -1
  26. package/lib/cli.js.map +1 -1
  27. package/lib/client/QaAccountsController.js +213 -4
  28. package/lib/client/QaAccountsController.js.map +1 -1
  29. package/lib/client/QaSessionController.js +37 -21
  30. package/lib/client/QaSessionController.js.map +1 -1
  31. package/lib/client/QaSurface.js +28 -4
  32. package/lib/client/QaSurface.js.map +1 -1
  33. package/lib/client/admin/QaAdmin.js +9 -1
  34. package/lib/client/admin/QaAdmin.js.map +1 -1
  35. package/lib/client/admin/pages/SkillFiles.js +78 -0
  36. package/lib/client/admin/pages/SkillFiles.js.map +1 -0
  37. package/lib/client/admin/pages/Users.js +65 -1
  38. package/lib/client/admin/pages/Users.js.map +1 -1
  39. package/lib/client/admin/routes.js +8 -1
  40. package/lib/client/admin/routes.js.map +1 -1
  41. package/lib/client/admin/styles.js +2 -0
  42. package/lib/client/admin/styles.js.map +1 -1
  43. package/lib/client/attachments.js +41 -11
  44. package/lib/client/attachments.js.map +1 -1
  45. package/lib/client/components/QaAuthGate.js +19 -10
  46. package/lib/client/components/QaAuthGate.js.map +1 -1
  47. package/lib/client/components/QaChangelog.js +27 -0
  48. package/lib/client/components/QaChangelog.js.map +1 -1
  49. package/lib/client/index.js +13 -0
  50. package/lib/client/index.js.map +1 -1
  51. package/lib/client/lineage.js +64 -0
  52. package/lib/client/lineage.js.map +1 -1
  53. package/lib/client/settings/sections/attachments.js +6 -5
  54. package/lib/client/settings/sections/attachments.js.map +1 -1
  55. package/lib/client/settings/sections/notes.js +22 -4
  56. package/lib/client/settings/sections/notes.js.map +1 -1
  57. package/lib/client/styles.js +9 -0
  58. package/lib/client/styles.js.map +1 -1
  59. package/lib/client/types.js.map +1 -1
  60. package/lib/client/user-settings/IntegrationTokensPage.js +150 -0
  61. package/lib/client/user-settings/IntegrationTokensPage.js.map +1 -0
  62. package/lib/client/user-settings/PasswordSettingsPage.js +48 -0
  63. package/lib/client/user-settings/PasswordSettingsPage.js.map +1 -0
  64. package/lib/client/user-settings/SkillCatalog.js +2 -2
  65. package/lib/client/user-settings/SkillCatalog.js.map +1 -1
  66. package/lib/client/user-settings/UserSettingsDialog.js +17 -2
  67. package/lib/client/user-settings/UserSettingsDialog.js.map +1 -1
  68. package/lib/client/user-settings/copy.js +20 -0
  69. package/lib/client/user-settings/copy.js.map +1 -1
  70. package/lib/client.js +2466 -137
  71. package/lib/client.js.map +1 -1
  72. package/lib/config-resolvers/attachments.js +6 -5
  73. package/lib/config-resolvers/attachments.js.map +1 -1
  74. package/lib/config-resolvers/defaults.js +23 -2
  75. package/lib/config-resolvers/defaults.js.map +1 -1
  76. package/lib/config-resolvers/integration.js +94 -0
  77. package/lib/config-resolvers/integration.js.map +1 -0
  78. package/lib/config-resolvers/notes.js +2 -0
  79. package/lib/config-resolvers/notes.js.map +1 -1
  80. package/lib/config.js +72 -0
  81. package/lib/config.js.map +1 -1
  82. package/lib/index.js +197 -2
  83. package/lib/index.js.map +1 -1
  84. package/lib/integration/answer.js +100 -0
  85. package/lib/integration/answer.js.map +1 -0
  86. package/lib/integration/attachments.js +231 -0
  87. package/lib/integration/attachments.js.map +1 -0
  88. package/lib/integration/contract.js +53 -0
  89. package/lib/integration/contract.js.map +1 -0
  90. package/lib/integration/host-runner.js +243 -0
  91. package/lib/integration/host-runner.js.map +1 -0
  92. package/lib/integration/http.js +538 -0
  93. package/lib/integration/http.js.map +1 -0
  94. package/lib/integration/service.js +331 -0
  95. package/lib/integration/service.js.map +1 -0
  96. package/lib/integration/transcript-reader.js +202 -0
  97. package/lib/integration/transcript-reader.js.map +1 -0
  98. package/lib/integration/transcript.js +148 -0
  99. package/lib/integration/transcript.js.map +1 -0
  100. package/lib/personal-skills/index.js +2 -2
  101. package/lib/personal-skills/index.js.map +1 -1
  102. package/lib/personal-skills/paths.js +14 -8
  103. package/lib/personal-skills/paths.js.map +1 -1
  104. package/lib/personal-skills/provider.js +16 -4
  105. package/lib/personal-skills/provider.js.map +1 -1
  106. package/lib/personal-skills/service.js +240 -30
  107. package/lib/personal-skills/service.js.map +1 -1
  108. package/lib/prompt-notes.js +58 -0
  109. package/lib/prompt-notes.js.map +1 -1
  110. package/lib/provenance/document-preview.js +10 -1
  111. package/lib/provenance/document-preview.js.map +1 -1
  112. package/lib/qa-tools/catalog.js +12 -1
  113. package/lib/qa-tools/catalog.js.map +1 -1
  114. package/lib/qa-tools/docs-tools.js +563 -0
  115. package/lib/qa-tools/docs-tools.js.map +1 -0
  116. package/lib/resolve-config.js +4 -0
  117. package/lib/resolve-config.js.map +1 -1
  118. package/lib/secure-session.js +83 -3
  119. package/lib/secure-session.js.map +1 -1
  120. package/lib/shared/integration-tokens.js +23 -0
  121. package/lib/shared/integration-tokens.js.map +1 -0
  122. package/lib/typert.host.js +1176 -213
  123. package/lib/typert.remote-client.d.ts +27 -1
  124. package/lib/typert.remote-client.js +911 -69
  125. package/lib/types/access/service.d.ts +33 -2
  126. package/lib/types/account-remotes.d.ts +30 -1
  127. package/lib/types/accounts/database.d.ts +53 -0
  128. package/lib/types/accounts/errors.d.ts +5 -1
  129. package/lib/types/accounts/service-token.d.ts +70 -0
  130. package/lib/types/accounts/store.d.ts +131 -1
  131. package/lib/types/admin/conversation-log.d.ts +12 -0
  132. package/lib/types/admin/service.d.ts +56 -1
  133. package/lib/types/admin/session-log.d.ts +21 -0
  134. package/lib/types/attachment-rules.d.ts +26 -3
  135. package/lib/types/client/QaAccountsController.d.ts +64 -5
  136. package/lib/types/client/QaSessionController.d.ts +24 -2
  137. package/lib/types/client/admin/pages/SkillFiles.d.ts +17 -0
  138. package/lib/types/client/admin/routes.d.ts +2 -0
  139. package/lib/types/client/attachments.d.ts +21 -4
  140. package/lib/types/client/lineage.d.ts +42 -0
  141. package/lib/types/client/settings/sections/notes.d.ts +5 -3
  142. package/lib/types/client/types.d.ts +71 -1
  143. package/lib/types/client/user-settings/IntegrationTokensPage.d.ts +21 -0
  144. package/lib/types/client/user-settings/PasswordSettingsPage.d.ts +19 -0
  145. package/lib/types/client/user-settings/UserSettingsDialog.d.ts +11 -2
  146. package/lib/types/client/user-settings/copy.d.ts +10 -1
  147. package/lib/types/config-resolvers/integration.d.ts +47 -0
  148. package/lib/types/config.d.ts +10 -0
  149. package/lib/types/index.d.ts +73 -1
  150. package/lib/types/integration/answer.d.ts +65 -0
  151. package/lib/types/integration/attachments.d.ts +85 -0
  152. package/lib/types/integration/contract.d.ts +196 -0
  153. package/lib/types/integration/host-runner.d.ts +44 -0
  154. package/lib/types/integration/http.d.ts +79 -0
  155. package/lib/types/integration/service.d.ts +120 -0
  156. package/lib/types/integration/transcript-reader.d.ts +100 -0
  157. package/lib/types/integration/transcript.d.ts +59 -0
  158. package/lib/types/personal-skills/index.d.ts +2 -2
  159. package/lib/types/personal-skills/paths.d.ts +15 -3
  160. package/lib/types/personal-skills/provider.d.ts +14 -2
  161. package/lib/types/personal-skills/service.d.ts +89 -14
  162. package/lib/types/prompt-notes.d.ts +28 -0
  163. package/lib/types/provenance/document-preview.d.ts +4 -0
  164. package/lib/types/qa-tools/catalog.d.ts +1 -1
  165. package/lib/types/qa-tools/docs-tools.d.ts +160 -0
  166. package/lib/types/secure-session.d.ts +52 -1
  167. package/lib/types/shared/integration-tokens.d.ts +24 -0
  168. package/lib/types/types.d.ts +170 -2
  169. package/package.json +4 -4
@@ -1,4 +1,4 @@
1
- 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, normalizeTextExtensions, } from "../attachment-rules.js";
1
+ 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, normalizeAcceptedExtensions, } from "../attachment-rules.js";
2
2
  import { DEFAULT_QA_SURFACE_CONFIG } from "./defaults.js";
3
3
  import { assertIntInRange } from "./shared.js";
4
4
  /** Resolve the attachments domain: intake toggles and byte/line bounds. */
@@ -18,10 +18,11 @@ export function resolveAttachments(input) {
18
18
  pastedTextLines,
19
19
  maxFileBytes,
20
20
  maxPending,
21
- // An operator names extensions; anything the browser reports as
22
- // `text/*` still passes the composer's own check, so an empty list is a
23
- // narrowing, not a lockout.
24
- extensions: normalizeTextExtensions(input.attachments?.extensions ??
21
+ // An operator names extensions, and the list is not text-only: it is
22
+ // whatever the stand can read, documents included. Anything the browser
23
+ // reports as `text/*` still passes the composer's own check, so an empty
24
+ // list is a narrowing, not a lockout.
25
+ extensions: normalizeAcceptedExtensions(input.attachments?.extensions ??
25
26
  DEFAULT_QA_SURFACE_CONFIG.attachments.extensions),
26
27
  });
27
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"attachments.js","sourceRoot":"","sources":["../../src/config-resolvers/attachments.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI/C,2EAA2E;AAC3E,MAAM,UAAU,kBAAkB,CAAC,KAAsB;IACvD,MAAM,eAAe,GACnB,KAAK,CAAC,WAAW,EAAE,eAAe;QAClC,yBAAyB,CAAC,WAAW,CAAC,eAAe,CAAC;IACxD,MAAM,YAAY,GAChB,KAAK,CAAC,WAAW,EAAE,YAAY;QAC/B,yBAAyB,CAAC,WAAW,CAAC,YAAY,CAAC;IACrD,MAAM,UAAU,GACd,KAAK,CAAC,WAAW,EAAE,UAAU;QAC7B,yBAAyB,CAAC,WAAW,CAAC,UAAU,CAAC;IACnD,gBAAgB,CACd,6BAA6B,EAC7B,eAAe,EACf,wBAAwB,EACxB,wBAAwB,CACzB,CAAC;IACF,gBAAgB,CACd,0BAA0B,EAC1B,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,CACtB,CAAC;IACF,gBAAgB,CACd,wBAAwB,EACxB,UAAU,EACV,kBAAkB,EAClB,kBAAkB,CACnB,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,SAAS,EACP,KAAK,CAAC,WAAW,EAAE,SAAS;YAC5B,yBAAyB,CAAC,WAAW,CAAC,SAAS;QACjD,eAAe;QACf,YAAY;QACZ,UAAU;QACV,gEAAgE;QAChE,wEAAwE;QACxE,4BAA4B;QAC5B,UAAU,EAAE,uBAAuB,CACjC,KAAK,CAAC,WAAW,EAAE,UAAU;YAC3B,yBAAyB,CAAC,WAAW,CAAC,UAAU,CACnD;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"attachments.js","sourceRoot":"","sources":["../../src/config-resolvers/attachments.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI/C,2EAA2E;AAC3E,MAAM,UAAU,kBAAkB,CAAC,KAAsB;IACvD,MAAM,eAAe,GACnB,KAAK,CAAC,WAAW,EAAE,eAAe;QAClC,yBAAyB,CAAC,WAAW,CAAC,eAAe,CAAC;IACxD,MAAM,YAAY,GAChB,KAAK,CAAC,WAAW,EAAE,YAAY;QAC/B,yBAAyB,CAAC,WAAW,CAAC,YAAY,CAAC;IACrD,MAAM,UAAU,GACd,KAAK,CAAC,WAAW,EAAE,UAAU;QAC7B,yBAAyB,CAAC,WAAW,CAAC,UAAU,CAAC;IACnD,gBAAgB,CACd,6BAA6B,EAC7B,eAAe,EACf,wBAAwB,EACxB,wBAAwB,CACzB,CAAC;IACF,gBAAgB,CACd,0BAA0B,EAC1B,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,CACtB,CAAC;IACF,gBAAgB,CACd,wBAAwB,EACxB,UAAU,EACV,kBAAkB,EAClB,kBAAkB,CACnB,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,SAAS,EACP,KAAK,CAAC,WAAW,EAAE,SAAS;YAC5B,yBAAyB,CAAC,WAAW,CAAC,SAAS;QACjD,eAAe;QACf,YAAY;QACZ,UAAU;QACV,qEAAqE;QACrE,wEAAwE;QACxE,yEAAyE;QACzE,sCAAsC;QACtC,UAAU,EAAE,2BAA2B,CACrC,KAAK,CAAC,WAAW,EAAE,UAAU;YAC3B,yBAAyB,CAAC,WAAW,CAAC,UAAU,CACnD;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,4 +1,4 @@
1
- import { DEFAULT_QA_TEXT_EXTENSIONS } from "../attachment-rules.js";
1
+ import { DEFAULT_QA_ATTACHMENT_EXTENSIONS } from "../attachment-rules.js";
2
2
  import { QA_PROFILE_DEFAULT_INSTRUCTIONS_MAX } from "../profile.js";
3
3
  import { DEFAULT_QA_PROVENANCE_RETENTION } from "../provenance/retention.js";
4
4
  import { QA_SKILL_DEFAULT_RELATIVE_ROOT, QA_SKILL_FILE_MAX_BYTES, } from "../personal-skills/skill-format.js";
@@ -182,7 +182,26 @@ export const DEFAULT_QA_SURFACE_CONFIG = Object.freeze({
182
182
  pastedTextLines: 200,
183
183
  maxFileBytes: 10_485_760,
184
184
  maxPending: 8,
185
- extensions: DEFAULT_QA_TEXT_EXTENSIONS,
185
+ extensions: DEFAULT_QA_ATTACHMENT_EXTENSIONS,
186
+ }),
187
+ // The integration API is a network surface authenticated by an account's
188
+ // token: a deployment opts in, and the default must never open it by
189
+ // accident. The answer budget is the caller's own contract (90 seconds),
190
+ // so the default matches it rather than leaving the endpoint hanging.
191
+ integration: Object.freeze({
192
+ enabled: false,
193
+ basePath: "/qa/api",
194
+ tokenTtlDays: 90,
195
+ requestTimeoutMs: 90_000,
196
+ maxConcurrent: 4,
197
+ requestsPerMinute: 60,
198
+ maxRequestBytes: 33_554_432,
199
+ maxAttachmentBytes: 10_485_760,
200
+ // The caller publishes the answer as a ticket comment, and its own
201
+ // contract names this size. Four thousand characters is a long comment
202
+ // and a short answer: a longer one is cut at a paragraph boundary rather
203
+ // than silently by the ticket system.
204
+ maxAnswerCharacters: 4096,
186
205
  }),
187
206
  notes: Object.freeze({
188
207
  identity: Object.freeze({ enabled: true, template: "" }),
@@ -192,6 +211,8 @@ export const DEFAULT_QA_SURFACE_CONFIG = Object.freeze({
192
211
  fallbackTemplate: "",
193
212
  }),
194
213
  delegation: Object.freeze({ enabled: true, template: "" }),
214
+ documents: Object.freeze({ enabled: true, template: "" }),
215
+ sourcePriority: Object.freeze({ enabled: true, template: "" }),
195
216
  }),
196
217
  });
197
218
  //# 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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"}
@@ -0,0 +1,94 @@
1
+ import { DEFAULT_QA_SURFACE_CONFIG } from "./defaults.js";
2
+ import { assertIntInRange } from "./shared.js";
3
+ /** Operator-tunable bounds; the values the settings card shows as hard limits. */
4
+ export const QA_INTEGRATION_TTL_DAYS_MIN = 1;
5
+ export const QA_INTEGRATION_TTL_DAYS_MAX = 3650;
6
+ export const QA_INTEGRATION_TIMEOUT_MS_MIN = 5_000;
7
+ export const QA_INTEGRATION_TIMEOUT_MS_MAX = 600_000;
8
+ export const QA_INTEGRATION_CONCURRENCY_MIN = 1;
9
+ export const QA_INTEGRATION_CONCURRENCY_MAX = 16;
10
+ export const QA_INTEGRATION_RATE_MIN = 1;
11
+ export const QA_INTEGRATION_RATE_MAX = 600;
12
+ export const QA_INTEGRATION_BODY_BYTES_MIN = 1_048_576;
13
+ export const QA_INTEGRATION_BODY_BYTES_MAX = 67_108_864;
14
+ export const QA_INTEGRATION_ATTACHMENT_BYTES_MIN = 1024;
15
+ export const QA_INTEGRATION_ANSWER_CHARS_MIN = 256;
16
+ export const QA_INTEGRATION_ANSWER_CHARS_MAX = 65_536;
17
+ /**
18
+ * Normalize the integration API's base path.
19
+ *
20
+ * It is a route namespace rather than a page: it may live under `/qa` (the
21
+ * default does), because the web server tries its exact table before the QA
22
+ * navigation's prefix, so `/qa/api/ask` never falls into the page route. What
23
+ * it may not do is claim the operator root, the first-party `/api` namespace
24
+ * or the plugin asset namespace.
25
+ * @param value - the configured path.
26
+ * @returns the path without a trailing slash.
27
+ */
28
+ export function normalizeIntegrationBasePath(value) {
29
+ const trimmed = value.trim();
30
+ if (trimmed === "" || !trimmed.startsWith("/")) {
31
+ throw new TypeError("dsh-qa-surface: integration.basePath must start with /");
32
+ }
33
+ const path = trimmed.replace(/\/+$/u, "");
34
+ if (path === "" || path === "/") {
35
+ throw new TypeError("dsh-qa-surface: integration.basePath cannot claim the operator root");
36
+ }
37
+ if (path === "/api" || path.startsWith("/api/")) {
38
+ throw new TypeError("dsh-qa-surface: integration.basePath cannot claim /api");
39
+ }
40
+ if (path === "/plugins" || path.startsWith("/plugins/")) {
41
+ throw new TypeError("dsh-qa-surface: integration.basePath cannot claim /plugins");
42
+ }
43
+ return path;
44
+ }
45
+ /**
46
+ * The integration API's slice of the resolved configuration.
47
+ *
48
+ * The endpoint is off unless a deployment asks for it: it is a network
49
+ * surface reachable by anything that holds a token, and a QA stand that never
50
+ * integrates anything must not grow one by accident.
51
+ *
52
+ * It also needs accounts. Integration tokens are issued to an account and
53
+ * verified against it, so a deployment with `accounts.enabled: false` has
54
+ * nothing to authenticate a caller with; switching the API on there is a
55
+ * configuration mistake, and it is refused rather than served open.
56
+ *
57
+ * @param input - raw integration config.
58
+ * @param accounts - the resolved accounts domain, for the cross-check.
59
+ * @returns the frozen resolved slice.
60
+ */
61
+ export function resolveIntegration(input, accounts) {
62
+ const fallback = DEFAULT_QA_SURFACE_CONFIG.integration;
63
+ const enabled = input?.enabled ?? fallback.enabled;
64
+ const basePath = normalizeIntegrationBasePath(input?.basePath ?? fallback.basePath);
65
+ const tokenTtlDays = input?.tokenTtlDays ?? fallback.tokenTtlDays;
66
+ const requestTimeoutMs = input?.requestTimeoutMs ?? fallback.requestTimeoutMs;
67
+ const maxConcurrent = input?.maxConcurrent ?? fallback.maxConcurrent;
68
+ const requestsPerMinute = input?.requestsPerMinute ?? fallback.requestsPerMinute;
69
+ const maxRequestBytes = input?.maxRequestBytes ?? fallback.maxRequestBytes;
70
+ const maxAttachmentBytes = input?.maxAttachmentBytes ?? fallback.maxAttachmentBytes;
71
+ const maxAnswerCharacters = input?.maxAnswerCharacters ?? fallback.maxAnswerCharacters;
72
+ assertIntInRange("integration.tokenTtlDays", tokenTtlDays, QA_INTEGRATION_TTL_DAYS_MIN, QA_INTEGRATION_TTL_DAYS_MAX);
73
+ assertIntInRange("integration.requestTimeoutMs", requestTimeoutMs, QA_INTEGRATION_TIMEOUT_MS_MIN, QA_INTEGRATION_TIMEOUT_MS_MAX);
74
+ assertIntInRange("integration.maxConcurrent", maxConcurrent, QA_INTEGRATION_CONCURRENCY_MIN, QA_INTEGRATION_CONCURRENCY_MAX);
75
+ assertIntInRange("integration.requestsPerMinute", requestsPerMinute, QA_INTEGRATION_RATE_MIN, QA_INTEGRATION_RATE_MAX);
76
+ assertIntInRange("integration.maxRequestBytes", maxRequestBytes, QA_INTEGRATION_BODY_BYTES_MIN, QA_INTEGRATION_BODY_BYTES_MAX);
77
+ assertIntInRange("integration.maxAttachmentBytes", maxAttachmentBytes, QA_INTEGRATION_ATTACHMENT_BYTES_MIN, maxRequestBytes);
78
+ assertIntInRange("integration.maxAnswerCharacters", maxAnswerCharacters, QA_INTEGRATION_ANSWER_CHARS_MIN, QA_INTEGRATION_ANSWER_CHARS_MAX);
79
+ if (enabled && !accounts.enabled) {
80
+ throw new TypeError("dsh-qa-surface: integration.enabled requires accounts.enabled: the API authenticates with an account's integration token");
81
+ }
82
+ return Object.freeze({
83
+ enabled,
84
+ basePath,
85
+ tokenTtlDays,
86
+ requestTimeoutMs,
87
+ maxConcurrent,
88
+ requestsPerMinute,
89
+ maxRequestBytes,
90
+ maxAttachmentBytes,
91
+ maxAnswerCharacters,
92
+ });
93
+ }
94
+ //# sourceMappingURL=integration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration.js","sourceRoot":"","sources":["../../src/config-resolvers/integration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI/C,kFAAkF;AAClF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC;AAChD,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,CAAC;AACnD,MAAM,CAAC,MAAM,6BAA6B,GAAG,OAAO,CAAC;AACrD,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AACjD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAC3C,MAAM,CAAC,MAAM,6BAA6B,GAAG,SAAS,CAAC;AACvD,MAAM,CAAC,MAAM,6BAA6B,GAAG,UAAU,CAAC;AACxD,MAAM,CAAC,MAAM,mCAAmC,GAAG,IAAI,CAAC;AACxD,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AACnD,MAAM,CAAC,MAAM,+BAA+B,GAAG,MAAM,CAAC;AAEtD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,4BAA4B,CAAC,KAAa;IACxD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,SAAS,CACjB,wDAAwD,CACzD,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1C,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAChC,MAAM,IAAI,SAAS,CACjB,qEAAqE,CACtE,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,SAAS,CACjB,wDAAwD,CACzD,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,SAAS,CACjB,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAsC,EACtC,QAA6C;IAE7C,MAAM,QAAQ,GAAG,yBAAyB,CAAC,WAAW,CAAC;IACvD,MAAM,OAAO,GAAG,KAAK,EAAE,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC;IACnD,MAAM,QAAQ,GAAG,4BAA4B,CAC3C,KAAK,EAAE,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CACrC,CAAC;IACF,MAAM,YAAY,GAAG,KAAK,EAAE,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC;IAClE,MAAM,gBAAgB,GAAG,KAAK,EAAE,gBAAgB,IAAI,QAAQ,CAAC,gBAAgB,CAAC;IAC9E,MAAM,aAAa,GAAG,KAAK,EAAE,aAAa,IAAI,QAAQ,CAAC,aAAa,CAAC;IACrE,MAAM,iBAAiB,GACrB,KAAK,EAAE,iBAAiB,IAAI,QAAQ,CAAC,iBAAiB,CAAC;IACzD,MAAM,eAAe,GAAG,KAAK,EAAE,eAAe,IAAI,QAAQ,CAAC,eAAe,CAAC;IAC3E,MAAM,kBAAkB,GACtB,KAAK,EAAE,kBAAkB,IAAI,QAAQ,CAAC,kBAAkB,CAAC;IAC3D,MAAM,mBAAmB,GACvB,KAAK,EAAE,mBAAmB,IAAI,QAAQ,CAAC,mBAAmB,CAAC;IAE7D,gBAAgB,CACd,0BAA0B,EAC1B,YAAY,EACZ,2BAA2B,EAC3B,2BAA2B,CAC5B,CAAC;IACF,gBAAgB,CACd,8BAA8B,EAC9B,gBAAgB,EAChB,6BAA6B,EAC7B,6BAA6B,CAC9B,CAAC;IACF,gBAAgB,CACd,2BAA2B,EAC3B,aAAa,EACb,8BAA8B,EAC9B,8BAA8B,CAC/B,CAAC;IACF,gBAAgB,CACd,+BAA+B,EAC/B,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,CACxB,CAAC;IACF,gBAAgB,CACd,6BAA6B,EAC7B,eAAe,EACf,6BAA6B,EAC7B,6BAA6B,CAC9B,CAAC;IACF,gBAAgB,CACd,gCAAgC,EAChC,kBAAkB,EAClB,mCAAmC,EACnC,eAAe,CAChB,CAAC;IACF,gBAAgB,CACd,iCAAiC,EACjC,mBAAmB,EACnB,+BAA+B,EAC/B,+BAA+B,CAChC,CAAC;IACF,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,SAAS,CACjB,0HAA0H,CAC3H,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,OAAO;QACP,QAAQ;QACR,YAAY;QACZ,gBAAgB;QAChB,aAAa;QACb,iBAAiB;QACjB,eAAe;QACf,kBAAkB;QAClB,mBAAmB;KACpB,CAAC,CAAC;AACL,CAAC"}
@@ -19,6 +19,8 @@ export function resolveNotes(input) {
19
19
  fallbackTemplate: text(raw.sources?.fallbackTemplate),
20
20
  },
21
21
  delegation: one(raw.delegation ?? {}),
22
+ documents: one(raw.documents ?? {}),
23
+ sourcePriority: one(raw.sourcePriority ?? {}),
22
24
  };
23
25
  }
24
26
  //# sourceMappingURL=notes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"notes.js","sourceRoot":"","sources":["../../src/config-resolvers/notes.ts"],"names":[],"mappings":"AAIA,SAAS,IAAI,CAAC,KAAc;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,GAAG,CAAC,KAA+C;IAI1D,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,KAAgC;IAC3D,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE,CAAC;IACxB,OAAO;QACL,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;QACjC,OAAO,EAAE;YACP,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,KAAK;YACvC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC;YACrC,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC;SACtD;QACD,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;KACtC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"notes.js","sourceRoot":"","sources":["../../src/config-resolvers/notes.ts"],"names":[],"mappings":"AAIA,SAAS,IAAI,CAAC,KAAc;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,GAAG,CAAC,KAA+C;IAI1D,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,KAAgC;IAC3D,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE,CAAC;IACxB,OAAO;QACL,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;QACjC,OAAO,EAAE;YACP,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,KAAK;YACvC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC;YACrC,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC;SACtD;QACD,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;QACrC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;QACnC,cAAc,EAAE,GAAG,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;KAC9C,CAAC;AACJ,CAAC"}
package/lib/config.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { readFileSync } from "node:fs";
1
2
  import z from "@deepseek-ai/schemastery";
2
3
  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
4
  import { DEFAULT_QA_SURFACE_CONFIG } from "./resolve-config.js";
@@ -11,6 +12,32 @@ import { QA_SLASH_MAX_VISIBLE_MAX, QA_SLASH_MAX_VISIBLE_MIN, } from "./config-re
11
12
  // ui.showReset, trip the lockdown cross-check on untouched deployments).
12
13
  const D = DEFAULT_QA_SURFACE_CONFIG;
13
14
  // Node-free on purpose: this schema reaches the browser bundle.
15
+ /**
16
+ * Version this build reports to the integration API's health endpoint.
17
+ *
18
+ * Read from the package manifest rather than written as a constant, so a
19
+ * release bump cannot drift away from it. Resolved on first use so importing
20
+ * the module never touches the filesystem, and this module is the right home
21
+ * for it: it is bundled one level under the package root, which is the depth
22
+ * `../package.json` resolves at.
23
+ */
24
+ export function qaSurfaceVersion() {
25
+ cachedVersion ??= readManifestVersion() ?? "0.0.0";
26
+ return cachedVersion;
27
+ }
28
+ let cachedVersion;
29
+ function readManifestVersion() {
30
+ try {
31
+ const manifest = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf-8"));
32
+ const version = manifest.version;
33
+ return typeof version === "string" && version.trim() !== ""
34
+ ? version.trim()
35
+ : undefined;
36
+ }
37
+ catch {
38
+ return undefined;
39
+ }
40
+ }
14
41
  const nullableString = z.union([z.string(), z.const(null)]);
15
42
  const configSchema = z.object({
16
43
  enabled: z.boolean().default(D.enabled),
@@ -499,12 +526,57 @@ const configSchema = z.object({
499
526
  template: z.string().default(D.notes.delegation.template),
500
527
  })
501
528
  .default({ ...D.notes.delegation }),
529
+ documents: z
530
+ .object({
531
+ enabled: z.boolean().default(D.notes.documents.enabled),
532
+ template: z.string().default(D.notes.documents.template),
533
+ })
534
+ .default({ ...D.notes.documents }),
535
+ sourcePriority: z
536
+ .object({
537
+ enabled: z.boolean().default(D.notes.sourcePriority.enabled),
538
+ template: z.string().default(D.notes.sourcePriority.template),
539
+ })
540
+ .default({ ...D.notes.sourcePriority }),
502
541
  })
503
542
  .default({
504
543
  identity: { ...D.notes.identity },
505
544
  sources: { ...D.notes.sources },
506
545
  delegation: { ...D.notes.delegation },
546
+ documents: { ...D.notes.documents },
547
+ sourcePriority: { ...D.notes.sourcePriority },
507
548
  }),
549
+ // The numeric fields are declared without schema-level bounds on purpose:
550
+ // the resolver owns the range checks and their error messages, and a second
551
+ // copy here would report a different one for the same mistake.
552
+ integration: z
553
+ .object({
554
+ enabled: z.boolean().default(D.integration.enabled),
555
+ basePath: z.string().default(D.integration.basePath),
556
+ tokenTtlDays: z.number().step(1).default(D.integration.tokenTtlDays),
557
+ requestTimeoutMs: z
558
+ .number()
559
+ .step(1)
560
+ .default(D.integration.requestTimeoutMs),
561
+ maxConcurrent: z.number().step(1).default(D.integration.maxConcurrent),
562
+ requestsPerMinute: z
563
+ .number()
564
+ .step(1)
565
+ .default(D.integration.requestsPerMinute),
566
+ maxRequestBytes: z
567
+ .number()
568
+ .step(1)
569
+ .default(D.integration.maxRequestBytes),
570
+ maxAttachmentBytes: z
571
+ .number()
572
+ .step(1)
573
+ .default(D.integration.maxAttachmentBytes),
574
+ maxAnswerCharacters: z
575
+ .number()
576
+ .step(1)
577
+ .default(D.integration.maxAnswerCharacters),
578
+ })
579
+ .default({ ...D.integration }),
508
580
  });
509
581
  export const ConfigSchema = configSchema;
510
582
  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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"}