@antelopejs/dms-ai 0.9.0 → 0.9.2

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 (293) hide show
  1. package/README.md +32 -34
  2. package/dist/constants/http.d.ts +1 -0
  3. package/dist/constants/http.js +1 -0
  4. package/dist/constants/http.js.map +1 -1
  5. package/dist/database/catalog.js +21 -3
  6. package/dist/database/catalog.js.map +1 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/lifecycle/sidecar-owner.js.map +1 -1
  9. package/dist/lifecycle/skill-sources.js +19 -146
  10. package/dist/lifecycle/skill-sources.js.map +1 -1
  11. package/dist/lifecycle/spawn-sidecar.js +2 -2
  12. package/dist/lifecycle/spawn-sidecar.js.map +1 -1
  13. package/dist/lifecycle/terminate-process.d.ts +1 -0
  14. package/dist/lifecycle/terminate-process.js +8 -4
  15. package/dist/lifecycle/terminate-process.js.map +1 -1
  16. package/dist/logging/log-buffer.js +22 -14
  17. package/dist/logging/log-buffer.js.map +1 -1
  18. package/dist/pages/settings/availability.js +41 -5
  19. package/dist/pages/settings/availability.js.map +1 -1
  20. package/dist/pages/settings/options.d.ts +2 -1
  21. package/dist/pages/settings/options.js +29 -8
  22. package/dist/pages/settings/options.js.map +1 -1
  23. package/dist/pages/settings/sections.js +15 -4
  24. package/dist/pages/settings/sections.js.map +1 -1
  25. package/dist/pages-registry.js +2 -6
  26. package/dist/pages-registry.js.map +1 -1
  27. package/dist/routes/activity.js +4 -3
  28. package/dist/routes/activity.js.map +1 -1
  29. package/dist/routes/banner.d.ts +2 -1
  30. package/dist/routes/banner.js +4 -1
  31. package/dist/routes/banner.js.map +1 -1
  32. package/dist/routes/builder.d.ts +5 -5
  33. package/dist/routes/builder.js +62 -44
  34. package/dist/routes/builder.js.map +1 -1
  35. package/dist/routes/changes.js +8 -7
  36. package/dist/routes/changes.js.map +1 -1
  37. package/dist/routes/codex-account.js +11 -5
  38. package/dist/routes/codex-account.js.map +1 -1
  39. package/dist/routes/content-json.d.ts +6 -0
  40. package/dist/routes/content-json.js +12 -0
  41. package/dist/routes/content-json.js.map +1 -0
  42. package/dist/routes/metrics.js +8 -8
  43. package/dist/routes/metrics.js.map +1 -1
  44. package/dist/routes/settings.js +4 -3
  45. package/dist/routes/settings.js.map +1 -1
  46. package/dist/routes/sidecar-answers.d.ts +10 -0
  47. package/dist/routes/sidecar-answers.js +90 -0
  48. package/dist/routes/sidecar-answers.js.map +1 -0
  49. package/dist/routes/sidecar-results.d.ts +2 -1
  50. package/dist/routes/sidecar-results.js +8 -2
  51. package/dist/routes/sidecar-results.js.map +1 -1
  52. package/dist/routes/skills.d.ts +2 -2
  53. package/dist/routes/skills.js +3 -2
  54. package/dist/routes/skills.js.map +1 -1
  55. package/dist/routes/status.js +23 -4
  56. package/dist/routes/status.js.map +1 -1
  57. package/dist/sidecar/answer-schemas.d.ts +8 -0
  58. package/dist/sidecar/answer-schemas.js +60 -0
  59. package/dist/sidecar/answer-schemas.js.map +1 -0
  60. package/dist/sidecar/http-client.d.ts +4 -2
  61. package/dist/sidecar/http-client.js +5 -2
  62. package/dist/sidecar/http-client.js.map +1 -1
  63. package/dist/sidecar/index.d.ts +1 -0
  64. package/dist/sidecar/index.js +1 -0
  65. package/dist/sidecar/index.js.map +1 -1
  66. package/dist/sidecar/settings-values.d.ts +3 -0
  67. package/dist/sidecar/settings-values.js +33 -1
  68. package/dist/sidecar/settings-values.js.map +1 -1
  69. package/dist/types/status.d.ts +2 -2
  70. package/dist/vocabulary/enumerations.js +2 -0
  71. package/dist/vocabulary/enumerations.js.map +1 -1
  72. package/frontend-vue/app/chat/components/ChatView.vue +16 -49
  73. package/frontend-vue/app/chat/components/Composer.vue +23 -39
  74. package/frontend-vue/app/chat/components/NoticeCard.vue +9 -0
  75. package/frontend-vue/app/chat/components/ProviderNotice.vue +14 -3
  76. package/frontend-vue/app/chat/composables/conversation-events.ts +0 -3
  77. package/frontend-vue/app/chat/composables/useConversationMode.ts +8 -11
  78. package/frontend-vue/app/chat/composables/useFollowScroll.ts +77 -0
  79. package/frontend-vue/app/chat/constants/modes.ts +15 -0
  80. package/frontend-vue/app/chat/constants/protocol.ts +0 -1
  81. package/frontend-vue/app/chat/constants/settings.ts +1 -1
  82. package/frontend-vue/app/chat/types/protocol.ts +11 -9
  83. package/frontend-vue/app/chat/types/settings.ts +7 -2
  84. package/frontend-vue/app/chat/utils/permission-view.ts +1 -0
  85. package/frontend-vue/app/views/constants.ts +2 -0
  86. package/frontend-vue/app/views/types.ts +3 -1
  87. package/frontend-vue/i18n/locales/dms-ai-pages-en-GB.json +21 -11
  88. package/frontend-vue/i18n/locales/dms-ai-pages-fr-FR.json +21 -11
  89. package/frontend-vue/i18n/locales/dms-ai-panel-en-GB.json +11 -21
  90. package/frontend-vue/i18n/locales/dms-ai-panel-fr-FR.json +11 -21
  91. package/frontend-vue/i18n/locales/dms-ai-views-en-GB.json +2 -0
  92. package/frontend-vue/i18n/locales/dms-ai-views-fr-FR.json +2 -0
  93. package/frontend-vue/package.json +1 -1
  94. package/frontend-vue/tests/chat/chat-scroll.test.ts +251 -0
  95. package/frontend-vue/tests/chat/conversation-events.test.ts +1 -3
  96. package/frontend-vue/tests/chat/provider-notice.test.ts +33 -0
  97. package/frontend-vue/tests/chat-panel.test.ts +2 -4
  98. package/frontend-vue/tests/panel-modes.test.ts +146 -0
  99. package/frontend-vue/tests/panel-questions.test.ts +1 -19
  100. package/frontend-vue/tests/panel-states.test.ts +12 -16
  101. package/frontend-vue/tests/support/fake-layout.ts +119 -0
  102. package/frontend-vue/tests/support/panel-harness.ts +14 -6
  103. package/frontend-vue/tests/support/setup-layout.ts +3 -0
  104. package/frontend-vue/tests/support/stubs.ts +2 -0
  105. package/frontend-vue/vitest.config.ts +1 -0
  106. package/package.json +16 -10
  107. package/sidecar/dist/agent/always-ask-files.d.ts +2 -0
  108. package/sidecar/dist/agent/always-ask-files.js +34 -0
  109. package/sidecar/dist/agent/always-ask-files.js.map +1 -0
  110. package/sidecar/dist/agent/conversation-modes.d.ts +3 -12
  111. package/sidecar/dist/agent/conversation-modes.js +16 -69
  112. package/sidecar/dist/agent/conversation-modes.js.map +1 -1
  113. package/sidecar/dist/agent/effective-mode.d.ts +2 -5
  114. package/sidecar/dist/agent/effective-mode.js +1 -15
  115. package/sidecar/dist/agent/effective-mode.js.map +1 -1
  116. package/sidecar/dist/agent/permission-bus.d.ts +1 -2
  117. package/sidecar/dist/agent/permission-bus.js +1 -3
  118. package/sidecar/dist/agent/permission-bus.js.map +1 -1
  119. package/sidecar/dist/agent/permission-preview.d.ts +6 -0
  120. package/sidecar/dist/agent/permission-preview.js +35 -10
  121. package/sidecar/dist/agent/permission-preview.js.map +1 -1
  122. package/sidecar/dist/agent/permission-rules.js +2 -2
  123. package/sidecar/dist/agent/permission-rules.js.map +1 -1
  124. package/sidecar/dist/agent/project-secrets.d.ts +7 -0
  125. package/sidecar/dist/agent/project-secrets.js +61 -0
  126. package/sidecar/dist/agent/project-secrets.js.map +1 -0
  127. package/sidecar/dist/agent/provider.d.ts +5 -4
  128. package/sidecar/dist/agent/runner.d.ts +3 -2
  129. package/sidecar/dist/agent/runner.js +9 -3
  130. package/sidecar/dist/agent/runner.js.map +1 -1
  131. package/sidecar/dist/agent/session.d.ts +3 -3
  132. package/sidecar/dist/agent/session.js.map +1 -1
  133. package/sidecar/dist/agent/tool-kinds.d.ts +7 -1
  134. package/sidecar/dist/agent/tool-kinds.js +24 -5
  135. package/sidecar/dist/agent/tool-kinds.js.map +1 -1
  136. package/sidecar/dist/agent/typecheck.js +14 -1
  137. package/sidecar/dist/agent/typecheck.js.map +1 -1
  138. package/sidecar/dist/audit/activity-query.js +2 -0
  139. package/sidecar/dist/audit/activity-query.js.map +1 -1
  140. package/sidecar/dist/audit/activity.js +1 -0
  141. package/sidecar/dist/audit/activity.js.map +1 -1
  142. package/sidecar/dist/audit/call-audit.js.map +1 -1
  143. package/sidecar/dist/builder/builder-client.d.ts +3 -1
  144. package/sidecar/dist/builder/builder-client.js +13 -1
  145. package/sidecar/dist/builder/builder-client.js.map +1 -1
  146. package/sidecar/dist/constants/audit.d.ts +1 -3
  147. package/sidecar/dist/constants/audit.js +2 -1
  148. package/sidecar/dist/constants/audit.js.map +1 -1
  149. package/sidecar/dist/constants/builder.d.ts +3 -0
  150. package/sidecar/dist/constants/builder.js +3 -0
  151. package/sidecar/dist/constants/builder.js.map +1 -1
  152. package/sidecar/dist/constants/claude.d.ts +6 -0
  153. package/sidecar/dist/constants/claude.js +6 -0
  154. package/sidecar/dist/constants/claude.js.map +1 -1
  155. package/sidecar/dist/constants/codex.d.ts +4 -0
  156. package/sidecar/dist/constants/codex.js +4 -0
  157. package/sidecar/dist/constants/codex.js.map +1 -1
  158. package/sidecar/dist/constants/permissions.d.ts +2 -0
  159. package/sidecar/dist/constants/permissions.js +23 -0
  160. package/sidecar/dist/constants/permissions.js.map +1 -1
  161. package/sidecar/dist/constants/project-secrets.d.ts +5 -0
  162. package/sidecar/dist/constants/project-secrets.js +20 -0
  163. package/sidecar/dist/constants/project-secrets.js.map +1 -0
  164. package/sidecar/dist/constants/providers.d.ts +2 -0
  165. package/sidecar/dist/constants/providers.js +1 -0
  166. package/sidecar/dist/constants/providers.js.map +1 -1
  167. package/sidecar/dist/constants/settings.d.ts +1 -2
  168. package/sidecar/dist/constants/settings.js +2 -9
  169. package/sidecar/dist/constants/settings.js.map +1 -1
  170. package/sidecar/dist/constants/tool-kinds.d.ts +67 -2
  171. package/sidecar/dist/constants/tool-kinds.js +111 -34
  172. package/sidecar/dist/constants/tool-kinds.js.map +1 -1
  173. package/sidecar/dist/index.js.map +1 -1
  174. package/sidecar/dist/mcp/http-binding.js +1 -1
  175. package/sidecar/dist/mcp/http-binding.js.map +1 -1
  176. package/sidecar/dist/mcp/tools/builder-compose.d.ts +4 -4
  177. package/sidecar/dist/mcp/tools/builder-compose.js +4 -3
  178. package/sidecar/dist/mcp/tools/builder-compose.js.map +1 -1
  179. package/sidecar/dist/mcp/tools/builder-expr.d.ts +5 -2
  180. package/sidecar/dist/mcp/tools/builder-expr.js +8 -11
  181. package/sidecar/dist/mcp/tools/builder-expr.js.map +1 -1
  182. package/sidecar/dist/mcp/tools/builder-gate.js +3 -1
  183. package/sidecar/dist/mcp/tools/builder-gate.js.map +1 -1
  184. package/sidecar/dist/mcp/tools/builder-project.d.ts +2 -1
  185. package/sidecar/dist/mcp/tools/builder-project.js +94 -16
  186. package/sidecar/dist/mcp/tools/builder-project.js.map +1 -1
  187. package/sidecar/dist/mcp/tools/builder-queries.d.ts +6 -6
  188. package/sidecar/dist/mcp/tools/builder-queries.js +9 -10
  189. package/sidecar/dist/mcp/tools/builder-queries.js.map +1 -1
  190. package/sidecar/dist/mcp/tools/builder-table-view.js +10 -8
  191. package/sidecar/dist/mcp/tools/builder-table-view.js.map +1 -1
  192. package/sidecar/dist/mcp/tools/builder.d.ts +14 -14
  193. package/sidecar/dist/mcp/tools/builder.js +17 -12
  194. package/sidecar/dist/mcp/tools/builder.js.map +1 -1
  195. package/sidecar/dist/protocol/events.d.ts +97 -63
  196. package/sidecar/dist/protocol/events.js +14 -8
  197. package/sidecar/dist/protocol/events.js.map +1 -1
  198. package/sidecar/dist/protocol/messages.d.ts +54 -49
  199. package/sidecar/dist/protocol/messages.js +8 -13
  200. package/sidecar/dist/protocol/messages.js.map +1 -1
  201. package/sidecar/dist/providers/claude/config.d.ts +3 -3
  202. package/sidecar/dist/providers/claude/config.js +4 -2
  203. package/sidecar/dist/providers/claude/config.js.map +1 -1
  204. package/sidecar/dist/providers/claude/provider.js +20 -26
  205. package/sidecar/dist/providers/claude/provider.js.map +1 -1
  206. package/sidecar/dist/providers/claude/safe-mode.d.ts +5 -5
  207. package/sidecar/dist/providers/claude/safe-mode.js +49 -30
  208. package/sidecar/dist/providers/claude/safe-mode.js.map +1 -1
  209. package/sidecar/dist/providers/claude/sdk-loader.js +2 -5
  210. package/sidecar/dist/providers/claude/sdk-loader.js.map +1 -1
  211. package/sidecar/dist/providers/claude/secret-files.d.ts +2 -0
  212. package/sidecar/dist/providers/claude/secret-files.js +50 -0
  213. package/sidecar/dist/providers/claude/secret-files.js.map +1 -0
  214. package/sidecar/dist/providers/claude/session-stream.d.ts +4 -9
  215. package/sidecar/dist/providers/claude/session-stream.js +22 -0
  216. package/sidecar/dist/providers/claude/session-stream.js.map +1 -1
  217. package/sidecar/dist/providers/claude/tool-guard.d.ts +14 -0
  218. package/sidecar/dist/providers/claude/tool-guard.js +112 -0
  219. package/sidecar/dist/providers/claude/tool-guard.js.map +1 -0
  220. package/sidecar/dist/providers/codex/adapter.d.ts +10 -0
  221. package/sidecar/dist/providers/codex/adapter.js +20 -5
  222. package/sidecar/dist/providers/codex/adapter.js.map +1 -1
  223. package/sidecar/dist/providers/codex/client.d.ts +3 -1
  224. package/sidecar/dist/providers/codex/client.js +26 -14
  225. package/sidecar/dist/providers/codex/client.js.map +1 -1
  226. package/sidecar/dist/providers/codex/config.d.ts +6 -17
  227. package/sidecar/dist/providers/codex/config.js +9 -56
  228. package/sidecar/dist/providers/codex/config.js.map +1 -1
  229. package/sidecar/dist/providers/codex/mcp-elicitation.d.ts +21 -0
  230. package/sidecar/dist/providers/codex/mcp-elicitation.js +66 -0
  231. package/sidecar/dist/providers/codex/mcp-elicitation.js.map +1 -0
  232. package/sidecar/dist/providers/codex/module.js +1 -1
  233. package/sidecar/dist/providers/codex/module.js.map +1 -1
  234. package/sidecar/dist/providers/codex/patch-directories.d.ts +6 -0
  235. package/sidecar/dist/providers/codex/patch-directories.js +53 -0
  236. package/sidecar/dist/providers/codex/patch-directories.js.map +1 -0
  237. package/sidecar/dist/providers/codex/permission-profiles.d.ts +11 -0
  238. package/sidecar/dist/providers/codex/permission-profiles.js +37 -0
  239. package/sidecar/dist/providers/codex/permission-profiles.js.map +1 -0
  240. package/sidecar/dist/providers/codex/permissions.d.ts +13 -4
  241. package/sidecar/dist/providers/codex/permissions.js +28 -2
  242. package/sidecar/dist/providers/codex/permissions.js.map +1 -1
  243. package/sidecar/dist/providers/codex/process.d.ts +1 -0
  244. package/sidecar/dist/providers/codex/process.js +3 -1
  245. package/sidecar/dist/providers/codex/process.js.map +1 -1
  246. package/sidecar/dist/providers/codex/protocol/common.d.ts +16 -4
  247. package/sidecar/dist/providers/codex/protocol/index.d.ts +2 -2
  248. package/sidecar/dist/providers/codex/protocol/index.js +1 -1
  249. package/sidecar/dist/providers/codex/protocol/index.js.map +1 -1
  250. package/sidecar/dist/providers/codex/protocol/v2.d.ts +23 -32
  251. package/sidecar/dist/providers/codex/provider.js +16 -15
  252. package/sidecar/dist/providers/codex/provider.js.map +1 -1
  253. package/sidecar/dist/providers/codex/secret-file-globs.d.ts +2 -0
  254. package/sidecar/dist/providers/codex/secret-file-globs.js +45 -0
  255. package/sidecar/dist/providers/codex/secret-file-globs.js.map +1 -0
  256. package/sidecar/dist/providers/codex/skills.d.ts +36 -3
  257. package/sidecar/dist/providers/codex/skills.js +16 -0
  258. package/sidecar/dist/providers/codex/skills.js.map +1 -1
  259. package/sidecar/dist/providers/types.d.ts +3 -1
  260. package/sidecar/dist/providers/types.js +2 -2
  261. package/sidecar/dist/providers/types.js.map +1 -1
  262. package/sidecar/dist/server/http-routes.js +1 -1
  263. package/sidecar/dist/server/http-routes.js.map +1 -1
  264. package/sidecar/dist/server/permission-events.d.ts +1 -1
  265. package/sidecar/dist/server/permission-events.js +5 -8
  266. package/sidecar/dist/server/permission-events.js.map +1 -1
  267. package/sidecar/dist/server/routing.js +0 -5
  268. package/sidecar/dist/server/routing.js.map +1 -1
  269. package/sidecar/dist/server/tool-calls.d.ts +0 -2
  270. package/sidecar/dist/server/tool-calls.js +20 -20
  271. package/sidecar/dist/server/tool-calls.js.map +1 -1
  272. package/sidecar/dist/server/turns.js +9 -1
  273. package/sidecar/dist/server/turns.js.map +1 -1
  274. package/sidecar/dist/server/ws.js +4 -15
  275. package/sidecar/dist/server/ws.js.map +1 -1
  276. package/sidecar/dist/skills/skill-usage.js +2 -2
  277. package/sidecar/dist/skills/skill-usage.js.map +1 -1
  278. package/sidecar/dist/state/change-sets.js.map +1 -1
  279. package/sidecar/dist/state/settings-store.d.ts +13 -5
  280. package/sidecar/dist/state/settings-store.js +33 -8
  281. package/sidecar/dist/state/settings-store.js.map +1 -1
  282. package/sidecar/dist/state/settings-types.d.ts +15 -2
  283. package/sidecar/dist/state/settings-types.js +14 -1
  284. package/sidecar/dist/state/settings-types.js.map +1 -1
  285. package/sidecar/dist/state/store.js +1 -4
  286. package/sidecar/dist/state/store.js.map +1 -1
  287. package/sidecar/dist/state/types.d.ts +7 -6
  288. package/sidecar/dist/state/types.js.map +1 -1
  289. package/sidecar/package.json +2 -1
  290. package/skills/dms-ai/SKILL.md +2 -1
  291. package/skills/dms-external-database/SKILL.md +5 -2
  292. package/frontend-vue/app/chat/components/FullAutoBanner.vue +0 -76
  293. package/frontend-vue/app/chat/components/FullAutoDialog.vue +0 -103
@@ -17,6 +17,7 @@ const interface_api_1 = require("@antelopejs/interface-api");
17
17
  const auth_1 = require("@antelopejs/interface-dms/auth");
18
18
  const confirm_dialog_1 = require("@antelopejs/interface-dms/base/confirm-dialog");
19
19
  const data_types_1 = require("@antelopejs/interface-dms/base/data-types");
20
+ const zod_1 = require("zod");
20
21
  const i18n_1 = require("../constants/i18n");
21
22
  const module_1 = require("../constants/module");
22
23
  const pages_1 = require("../constants/pages");
@@ -24,11 +25,17 @@ const sidecar_1 = require("../sidecar");
24
25
  const vocabulary_1 = require("../vocabulary");
25
26
  const banner_1 = require("./banner");
26
27
  const sidecar_results_1 = require("./sidecar-results");
28
+ const sidecar_answers_1 = require("./sidecar-answers");
27
29
  const ACCOUNT_PATH = "/codex/account";
28
30
  const LOGOUT_PATH = "/codex/logout";
29
31
  const CALLBACK_PATH = "/codex/callback";
30
32
  const PASTED_URL_FIELD = "url";
31
33
  const NO_STORE = { "Cache-Control": "no-store" };
34
+ const CodexAccountSchema = zod_1.z.object({
35
+ isSignedIn: zod_1.z.boolean(),
36
+ email: zod_1.z.string().optional(),
37
+ loginUrl: zod_1.z.string().optional(),
38
+ });
32
39
  function text(...segments) {
33
40
  return (0, vocabulary_1.i18nKey)(i18n_1.I18N_SECTIONS.SETTINGS, "chatgpt", ...segments);
34
41
  }
@@ -117,9 +124,8 @@ let AICodexAccountController = class AICodexAccountController extends (0, interf
117
124
  async banner() {
118
125
  try {
119
126
  const response = await (0, sidecar_1.requestSidecar)(ACCOUNT_PATH);
120
- const content = response.isOk
121
- ? accountBanner(response.body)
122
- : null;
127
+ const account = CodexAccountSchema.safeParse(response.body);
128
+ const content = response.isOk && account.success ? accountBanner(account.data) : null;
123
129
  return interface_api_1.HTTPResult.withHeaders((0, banner_1.bannerAnswer)(content), NO_STORE);
124
130
  }
125
131
  catch {
@@ -127,13 +133,13 @@ let AICodexAccountController = class AICodexAccountController extends (0, interf
127
133
  }
128
134
  }
129
135
  finishSignIn(body) {
130
- return (0, sidecar_results_1.relay)(CALLBACK_PATH, sidecar_results_1.asIs, {
136
+ return (0, sidecar_results_1.relay)(CALLBACK_PATH, sidecar_answers_1.ANY_ANSWER, sidecar_results_1.asIs, {
131
137
  method: "POST",
132
138
  body: { url: body?.[PASTED_URL_FIELD] },
133
139
  });
134
140
  }
135
141
  logout() {
136
- return (0, sidecar_results_1.relay)(LOGOUT_PATH, sidecar_results_1.asIs, { method: "POST" });
142
+ return (0, sidecar_results_1.relay)(LOGOUT_PATH, sidecar_answers_1.ANY_ANSWER, sidecar_results_1.asIs, { method: "POST" });
137
143
  }
138
144
  };
139
145
  exports.AICodexAccountController = AICodexAccountController;
@@ -1 +1 @@
1
- {"version":3,"file":"codex-account.js","sourceRoot":"","sources":["../../src/routes/codex-account.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6DAMmC;AAKnC,yDAA+D;AAC/D,kFAAuF;AACvF,0EAA6E;AAC7E,4CAAkD;AAClD,gDAAmD;AACnD,8CAAiD;AACjD,wCAA2D;AAC3D,8CAAwC;AACxC,qCAAwC;AACxC,uDAAgD;AAEhD,MAAM,YAAY,GAAG,gBAAgB,CAAC;AACtC,MAAM,WAAW,GAAG,eAAe,CAAC;AACpC,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAExC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAC/B,MAAM,QAAQ,GAAG,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AAUjD,SAAS,IAAI,CAAC,GAAG,QAAkB;IACjC,OAAO,IAAA,oBAAO,EAAC,oBAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,eAAe,GAAuB;IAC1C,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;IAClC,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE;QACP,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC;QACxC,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC;QACpD,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;QACzC,KAAK,EAAE,OAAO;KACf;IACD,MAAM,EAAE;QACN,IAAI,EAAE,KAAK;QACX,GAAG,EAAE,mBAAW,CAAC,YAAY;QAC7B,MAAM,EAAE,MAAM;QACd,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC;KACzC;CACF,CAAC;AAEF,SAAS,cAAc,CAAC,OAAqB;IAC3C,OAAO;QACL,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE;YACL,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;YAC/B,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE;SACvC;QACD,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC;QAC7C,OAAO,EAAE,CAAC,eAAe,CAAC;KAC3B,CAAC;AACJ,CAAC;AAOD,MAAM,YAAY,GAAuB;IACvC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC9B,IAAI,EAAE,qBAAqB;IAC3B,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,IAAA,uCAAsB,EAAC;QAC9B,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;QAC7B,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC;QACzC,IAAI,EAAE,qBAAqB;QAC3B,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;QACtC,MAAM,EAAE;YACN;gBACE,EAAE,EAAE,gBAAgB;gBACpB,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;gBAC7B,IAAI,EAAE,IAAI,6BAAgB,CAAC,UAAU,CAAC;oBACpC,WAAW,EAAE,iDAAiD;iBAC/D,CAAC;gBACF,QAAQ,EAAE,IAAI;aACf;SACF;KACF,CAAC;IACF,MAAM,EAAE;QACN,IAAI,EAAE,KAAK;QACX,GAAG,EAAE,mBAAW,CAAC,cAAc;QAC/B,MAAM,EAAE,MAAM;QACd,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;KACzC;CACF,CAAC;AAEF,SAAS,eAAe,CAAC,QAAgB;IACvC,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;QAClC,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC;QAC9C,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC;gBACnC,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;aAC1D;YACD,YAAY;SACb;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,OAAqB;IAC1C,IAAI,OAAO,CAAC,UAAU;QAAE,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;IACvD,OAAO,OAAO,CAAC,QAAQ,KAAK,SAAS;QACnC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC;AAaM,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,IAAA,0BAAU,EAAC,qBAAY,CAAC;IAE9D,AAAN,KAAK,CAAC,MAAM;QACV,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAc,EAAC,YAAY,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI;gBAC3B,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAoB,CAAC;gBAC9C,CAAC,CAAC,IAAI,CAAC;YACT,OAAO,0BAAU,CAAC,WAAW,CAAC,IAAA,qBAAY,EAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,0BAAU,CAAC,WAAW,CAAC,IAAA,qBAAY,EAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAGD,YAAY,CACE,IAAyB;QAErC,OAAO,IAAA,uBAAK,EAAC,aAAa,EAAE,sBAAI,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,gBAAgB,CAAC,EAAE;SACxC,CAAC,CAAC;IACL,CAAC;IAGD,MAAM;QACJ,OAAO,IAAA,uBAAK,EAAC,WAAW,EAAE,sBAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACtD,CAAC;CACF,CAAA;AA5BY,4DAAwB;AAE7B;IADL,IAAA,mBAAG,EAAC,GAAG,YAAY,SAAS,CAAC;;;;sDAW7B;AAGD;IADC,IAAA,oBAAI,EAAC,aAAa,CAAC;IAEjB,WAAA,IAAA,wBAAQ,GAAE,CAAA;;;;4DAMZ;AAGD;IADC,IAAA,oBAAI,EAAC,WAAW,CAAC;;;;sDAGjB;mCA3BU,wBAAwB;IADpC,IAAA,oBAAa,GAAE;GACH,wBAAwB,CA4BpC"}
1
+ {"version":3,"file":"codex-account.js","sourceRoot":"","sources":["../../src/routes/codex-account.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { BannerContent, KeyValueListItem } from "@antelopejs/interface-dms/base";
2
+ import { type JsonBody } from "../sidecar/json-body";
3
+ export type DmsContent = BannerContent | {
4
+ items: KeyValueListItem[];
5
+ };
6
+ export declare function contentJson(content: DmsContent): JsonBody;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.contentJson = contentJson;
4
+ const json_body_1 = require("../sidecar/json-body");
5
+ function contentJson(content) {
6
+ const json = JSON.parse(JSON.stringify(content));
7
+ if (!(0, json_body_1.isJsonBody)(json)) {
8
+ throw new TypeError("dms content did not serialize to JSON");
9
+ }
10
+ return json;
11
+ }
12
+ //# sourceMappingURL=content-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-json.js","sourceRoot":"","sources":["../../src/routes/content-json.ts"],"names":[],"mappings":";;AAgBA,kCAMC;AAlBD,oDAAiE;AAYjE,SAAgB,WAAW,CAAC,OAAmB;IAC7C,MAAM,IAAI,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAA,sBAAU,EAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -27,32 +27,32 @@ const EMPTY_ALLOWED = {
27
27
  };
28
28
  const EMPTY_TOOLS = { items: [] };
29
29
  const EMPTY_USAGE = { days: [], totalTokens: 0, conversations: 0 };
30
- async function readMetric(path, params, fallback, toPayload) {
31
- return toPayload(await (0, sidecar_1.readSidecar)(`${path}${(0, sidecar_1.buildQuery)(params)}`, fallback));
30
+ async function readMetric(path, params, schema, fallback, toPayload) {
31
+ return toPayload(await (0, sidecar_1.readSidecar)(`${path}${(0, sidecar_1.buildQuery)(params)}`, schema, fallback));
32
32
  }
33
33
  let AIMetricsController = class AIMetricsController extends (0, interface_api_1.Controller)(`${module_1.ROUTE_PREFIX}/metrics`) {
34
34
  kpi(metric, from, to, compareFrom, compareTo) {
35
35
  const period = { from, to, compareFrom, compareTo };
36
36
  const path = `/metrics/kpi/${(0, sidecar_1.pathSegment)(metric)}`;
37
- return readMetric(path, period, EMPTY_KPI, (0, metric_shapes_1.kpiPayload)(metric));
37
+ return readMetric(path, period, sidecar_1.KPI_ANSWER, EMPTY_KPI, (0, metric_shapes_1.kpiPayload)(metric));
38
38
  }
39
39
  series(from, to, compareFrom, compareTo) {
40
40
  const period = { from, to, compareFrom, compareTo };
41
- return (0, sidecar_1.readSidecar)(`/metrics/series${(0, sidecar_1.buildQuery)(period)}`, EMPTY_CHART);
41
+ return (0, sidecar_1.readSidecar)(`/metrics/series${(0, sidecar_1.buildQuery)(period)}`, sidecar_1.CHART_ANSWER, EMPTY_CHART);
42
42
  }
43
43
  allowed(from, to, compareFrom, compareTo) {
44
44
  const period = { from, to, compareFrom, compareTo };
45
- return readMetric("/metrics/allowed", period, EMPTY_ALLOWED, metric_shapes_1.allowedPayload);
45
+ return readMetric("/metrics/allowed", period, sidecar_1.ALLOWED_ANSWER, EMPTY_ALLOWED, metric_shapes_1.allowedPayload);
46
46
  }
47
47
  topTools(from, to, limit, compareFrom, compareTo) {
48
48
  const params = { from, to, compareFrom, compareTo, limit };
49
- return readMetric("/metrics/top-tools", params, EMPTY_TOOLS, metric_shapes_1.topToolsPayload);
49
+ return readMetric("/metrics/top-tools", params, sidecar_1.TOP_TOOLS_ANSWER, EMPTY_TOOLS, metric_shapes_1.topToolsPayload);
50
50
  }
51
51
  usage(days) {
52
- return readMetric("/metrics/usage", { days }, EMPTY_USAGE, metric_shapes_1.usageChartPayload);
52
+ return readMetric("/metrics/usage", { days }, sidecar_1.USAGE_ANSWER, EMPTY_USAGE, metric_shapes_1.usageChartPayload);
53
53
  }
54
54
  usageSummary(days) {
55
- return readMetric("/metrics/usage", { days }, EMPTY_USAGE, metric_shapes_1.usageSummaryPayload);
55
+ return readMetric("/metrics/usage", { days }, sidecar_1.USAGE_ANSWER, EMPTY_USAGE, metric_shapes_1.usageSummaryPayload);
56
56
  }
57
57
  };
58
58
  exports.AIMetricsController = AIMetricsController;
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/routes/metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/routes/metrics.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6DAAuE;AACvE,yDAA+D;AAC/D,gDAAmD;AAEnD,wCAUoB;AAWpB,mDAMyB;AAGzB,MAAM,SAAS,GAAe,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AAC1D,MAAM,WAAW,GAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAC3D,MAAM,aAAa,GAAqB;IACtC,KAAK,EAAE,EAAE;IACT,cAAc,EAAE,CAAC;IACjB,SAAS,EAAE,CAAC;CACb,CAAC;AACF,MAAM,WAAW,GAAa,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAC5C,MAAM,WAAW,GAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;AAWhF,KAAK,UAAU,UAAU,CACvB,IAAY,EACZ,MAAmB,EACnB,MAAoB,EACpB,QAAW,EACX,SAAyB;IAEzB,OAAO,SAAS,CACd,MAAM,IAAA,qBAAW,EAAC,GAAG,IAAI,GAAG,IAAA,oBAAU,EAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CACpE,CAAC;AACJ,CAAC;AAOM,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,IAAA,0BAAU,EAAC,GAAG,qBAAY,UAAU,CAAC;IAE5E,GAAG,CAC6B,MAAc,EAChB,IAAa,EACf,EAAW,EACF,WAAoB,EACtB,SAAkB;QAEnD,MAAM,MAAM,GAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QAClE,MAAM,IAAI,GAAG,gBAAgB,IAAA,qBAAW,EAAC,MAAM,CAAC,EAAE,CAAC;QACnD,OAAO,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,oBAAU,EAAE,SAAS,EAAE,IAAA,0BAAU,EAAC,MAAM,CAAC,CAAC,CAAC;IAC7E,CAAC;IAGD,MAAM,CACwB,IAAa,EACf,EAAW,EACF,WAAoB,EACtB,SAAkB;QAEnD,MAAM,MAAM,GAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QAClE,OAAO,IAAA,qBAAW,EAChB,kBAAkB,IAAA,oBAAU,EAAC,MAAM,CAAC,EAAE,EACtC,sBAAY,EACZ,WAAW,CACZ,CAAC;IACJ,CAAC;IAGD,OAAO,CACuB,IAAa,EACf,EAAW,EACF,WAAoB,EACtB,SAAkB;QAEnD,MAAM,MAAM,GAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QAClE,OAAO,UAAU,CACf,kBAAkB,EAClB,MAAM,EACN,wBAAc,EACd,aAAa,EACb,8BAAc,CACf,CAAC;IACJ,CAAC;IAGD,QAAQ,CACsB,IAAa,EACf,EAAW,EACR,KAAc,EACR,WAAoB,EACtB,SAAkB;QAEnD,MAAM,MAAM,GAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACzE,OAAO,UAAU,CACf,oBAAoB,EACpB,MAAM,EACN,0BAAgB,EAChB,WAAW,EACX,+BAAe,CAChB,CAAC;IACJ,CAAC;IAGD,KAAK,CAA6B,IAAa;QAC7C,OAAO,UAAU,CACf,gBAAgB,EAChB,EAAE,IAAI,EAAE,EACR,sBAAY,EACZ,WAAW,EACX,iCAAiB,CAClB,CAAC;IACJ,CAAC;IAGD,YAAY,CACkB,IAAa;QAEzC,OAAO,UAAU,CACf,gBAAgB,EAChB,EAAE,IAAI,EAAE,EACR,sBAAY,EACZ,WAAW,EACX,mCAAmB,CACpB,CAAC;IACJ,CAAC;CACF,CAAA;AAvFY,kDAAmB;AAE9B;IADC,IAAA,mBAAG,EAAC,aAAa,CAAC;IAEhB,WAAA,IAAA,yBAAS,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC5B,WAAA,IAAA,yBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1B,WAAA,IAAA,yBAAS,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACxB,WAAA,IAAA,yBAAS,EAAC,aAAa,EAAE,OAAO,CAAC,CAAA;IACjC,WAAA,IAAA,yBAAS,EAAC,WAAW,EAAE,OAAO,CAAC,CAAA;;;;8CAKjC;AAGD;IADC,IAAA,mBAAG,EAAC,QAAQ,CAAC;IAEX,WAAA,IAAA,yBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1B,WAAA,IAAA,yBAAS,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACxB,WAAA,IAAA,yBAAS,EAAC,aAAa,EAAE,OAAO,CAAC,CAAA;IACjC,WAAA,IAAA,yBAAS,EAAC,WAAW,EAAE,OAAO,CAAC,CAAA;;;;iDAQjC;AAGD;IADC,IAAA,mBAAG,EAAC,SAAS,CAAC;IAEZ,WAAA,IAAA,yBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1B,WAAA,IAAA,yBAAS,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACxB,WAAA,IAAA,yBAAS,EAAC,aAAa,EAAE,OAAO,CAAC,CAAA;IACjC,WAAA,IAAA,yBAAS,EAAC,WAAW,EAAE,OAAO,CAAC,CAAA;;;;kDAUjC;AAGD;IADC,IAAA,mBAAG,EAAC,WAAW,CAAC;IAEd,WAAA,IAAA,yBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1B,WAAA,IAAA,yBAAS,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACxB,WAAA,IAAA,yBAAS,EAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC3B,WAAA,IAAA,yBAAS,EAAC,aAAa,EAAE,OAAO,CAAC,CAAA;IACjC,WAAA,IAAA,yBAAS,EAAC,WAAW,EAAE,OAAO,CAAC,CAAA;;;;mDAUjC;AAGD;IADC,IAAA,mBAAG,EAAC,OAAO,CAAC;IACN,WAAA,IAAA,yBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,CAAA;;;;gDAQhC;AAGD;IADC,IAAA,mBAAG,EAAC,eAAe,CAAC;IAElB,WAAA,IAAA,yBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,CAAA;;;;uDAS5B;8BAtFU,mBAAmB;IAD/B,IAAA,oBAAa,GAAE;GACH,mBAAmB,CAuF/B"}
@@ -18,6 +18,7 @@ const auth_1 = require("@antelopejs/interface-dms/auth");
18
18
  const module_1 = require("../constants/module");
19
19
  const settings_values_1 = require("../sidecar/settings-values");
20
20
  const sidecar_results_1 = require("./sidecar-results");
21
+ const sidecar_answers_1 = require("./sidecar-answers");
21
22
  const SETTINGS_PATH = "/settings";
22
23
  const READ_ONLY_SETTINGS = [
23
24
  "builderAvailable",
@@ -33,17 +34,17 @@ function formSettings(settings) {
33
34
  };
34
35
  }
35
36
  function sidecarUpdate(body) {
36
- const update = (0, settings_values_1.withNumbersAs)(body, Number);
37
+ const update = (0, settings_values_1.nestDefaultModes)((0, settings_values_1.withNumbersAs)(body, Number));
37
38
  for (const key of READ_ONLY_SETTINGS)
38
39
  delete update[key];
39
40
  return update;
40
41
  }
41
42
  let AISettingsController = class AISettingsController extends (0, interface_api_1.Controller)(module_1.ROUTE_PREFIX) {
42
43
  getSettings() {
43
- return (0, sidecar_results_1.relay)(SETTINGS_PATH, formSettings);
44
+ return (0, sidecar_results_1.relay)(SETTINGS_PATH, sidecar_answers_1.SETTINGS_ANSWER, formSettings);
44
45
  }
45
46
  updateSettings(body) {
46
- return (0, sidecar_results_1.relay)(SETTINGS_PATH, formSettings, {
47
+ return (0, sidecar_results_1.relay)(SETTINGS_PATH, sidecar_answers_1.SETTINGS_ANSWER, formSettings, {
47
48
  method: "PUT",
48
49
  body: sidecarUpdate(body ?? {}),
49
50
  });
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/routes/settings.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6DAMmC;AACnC,yDAA+D;AAC/D,gDAAmD;AACnD,gEAIoC;AACpC,uDAA0C;AAE1C,MAAM,aAAa,GAAG,WAAW,CAAC;AAGlC,MAAM,kBAAkB,GAAG;IACzB,kBAAkB;IAClB,WAAW;IACX,oBAAoB;IACpB,UAAU;CACF,CAAC;AAGX,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAGlC,SAAS,YAAY,CAAC,QAAsB;IAC1C,OAAO;QACL,GAAG,IAAA,8BAAY,EAAC,QAAQ,CAAC;QACzB,kBAAkB,EAAE,oBAAoB;KACzC,CAAC;AACJ,CAAC;AAGD,SAAS,aAAa,CAAC,IAAkB;IACvC,MAAM,MAAM,GAAG,IAAA,+BAAa,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,kBAAkB;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACzD,OAAO,MAAM,CAAC;AAChB,CAAC;AASM,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,IAAA,0BAAU,EAAC,qBAAY,CAAC;IAEhE,WAAW;QACT,OAAO,IAAA,uBAAK,EAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAC5C,CAAC;IAGD,cAAc,CACA,IAAmB;QAE/B,OAAO,IAAA,uBAAK,EAAC,aAAa,EAAE,YAAY,EAAE;YACxC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAfY,oDAAoB;AAE/B;IADC,IAAA,mBAAG,EAAC,aAAa,CAAC;;;;uDAGlB;AAGD;IADC,IAAA,mBAAG,EAAC,aAAa,CAAC;IAEhB,WAAA,IAAA,wBAAQ,GAAE,CAAA;;;;0DAMZ;+BAdU,oBAAoB;IADhC,IAAA,oBAAa,GAAE;GACH,oBAAoB,CAehC"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/routes/settings.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6DAMmC;AACnC,yDAA+D;AAC/D,gDAAmD;AACnD,gEAKoC;AACpC,uDAA0C;AAC1C,uDAAoD;AAEpD,MAAM,aAAa,GAAG,WAAW,CAAC;AAGlC,MAAM,kBAAkB,GAAG;IACzB,kBAAkB;IAClB,WAAW;IACX,oBAAoB;IACpB,UAAU;CACF,CAAC;AAGX,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAGlC,SAAS,YAAY,CAAC,QAAsB;IAC1C,OAAO;QACL,GAAG,IAAA,8BAAY,EAAC,QAAQ,CAAC;QACzB,kBAAkB,EAAE,oBAAoB;KACzC,CAAC;AACJ,CAAC;AAGD,SAAS,aAAa,CAAC,IAAkB;IACvC,MAAM,MAAM,GAAG,IAAA,kCAAgB,EAAC,IAAA,+BAAa,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7D,KAAK,MAAM,GAAG,IAAI,kBAAkB;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACzD,OAAO,MAAM,CAAC;AAChB,CAAC;AASM,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,IAAA,0BAAU,EAAC,qBAAY,CAAC;IAEhE,WAAW;QACT,OAAO,IAAA,uBAAK,EAAC,aAAa,EAAE,iCAAe,EAAE,YAAY,CAAC,CAAC;IAC7D,CAAC;IAGD,cAAc,CACA,IAAmB;QAE/B,OAAO,IAAA,uBAAK,EAAC,aAAa,EAAE,iCAAe,EAAE,YAAY,EAAE;YACzD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAfY,oDAAoB;AAE/B;IADC,IAAA,mBAAG,EAAC,aAAa,CAAC;;;;uDAGlB;AAGD;IADC,IAAA,mBAAG,EAAC,aAAa,CAAC;IAEhB,WAAA,IAAA,wBAAQ,GAAE,CAAA;;;;0DAMZ;+BAdU,oBAAoB;IADhC,IAAA,oBAAa,GAAE;GACH,oBAAoB,CAehC"}
@@ -0,0 +1,10 @@
1
+ import { z } from "zod";
2
+ import { type JsonBody } from "../sidecar";
3
+ import type { ActivityRow, ChangeSetSummary, SidecarList, SidecarSkillCatalog, UndoPreview } from "../types";
4
+ export declare const ANY_ANSWER: z.ZodType<JsonBody | undefined>;
5
+ export declare const ACTIVITY_ROW_ANSWER: z.ZodType<ActivityRow, unknown, z.core.$ZodTypeInternals<ActivityRow, unknown>>;
6
+ export declare const ACTIVITY_PAGE_ANSWER: z.ZodType<SidecarList<ActivityRow>, unknown, z.core.$ZodTypeInternals<SidecarList<ActivityRow>, unknown>>;
7
+ export declare const CHANGE_SET_PAGE_ANSWER: z.ZodType<SidecarList<ChangeSetSummary>, unknown, z.core.$ZodTypeInternals<SidecarList<ChangeSetSummary>, unknown>>;
8
+ export declare const UNDO_PREVIEW_ANSWER: z.ZodType<UndoPreview>;
9
+ export declare const SKILL_CATALOG_ANSWER: z.ZodType<SidecarSkillCatalog>;
10
+ export declare const SETTINGS_ANSWER: z.ZodType<Record<string, JsonBody>>;
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SETTINGS_ANSWER = exports.SKILL_CATALOG_ANSWER = exports.UNDO_PREVIEW_ANSWER = exports.CHANGE_SET_PAGE_ANSWER = exports.ACTIVITY_PAGE_ANSWER = exports.ACTIVITY_ROW_ANSWER = exports.ANY_ANSWER = void 0;
4
+ const zod_1 = require("zod");
5
+ const sidecar_1 = require("../sidecar");
6
+ function listOf(item) {
7
+ return zod_1.z.looseObject({ results: zod_1.z.array(item), total: zod_1.z.number() });
8
+ }
9
+ exports.ANY_ANSWER = zod_1.z.custom((value) => value === undefined || (0, sidecar_1.isJsonBody)(value));
10
+ const ACTIVITY_ROW = zod_1.z.looseObject({
11
+ id: zod_1.z.string(),
12
+ timestampMs: zod_1.z.number(),
13
+ tool: zod_1.z.string(),
14
+ target: zod_1.z.string(),
15
+ agent: zod_1.z.string(),
16
+ allowedBy: zod_1.z.string(),
17
+ result: zod_1.z.string(),
18
+ resultDetail: zod_1.z.string().optional(),
19
+ changeSetId: zod_1.z.string().optional(),
20
+ changeSetNumber: zod_1.z.number().optional(),
21
+ conversationId: zod_1.z.string(),
22
+ conversationTitle: zod_1.z.string(),
23
+ durationMs: zod_1.z.number().optional(),
24
+ isReadOnly: zod_1.z.boolean(),
25
+ isAutoFix: zod_1.z.boolean(),
26
+ category: zod_1.z.array(zod_1.z.string()),
27
+ added: zod_1.z.number().optional(),
28
+ removed: zod_1.z.number().optional(),
29
+ expiresAtMs: zod_1.z.number().optional(),
30
+ });
31
+ exports.ACTIVITY_ROW_ANSWER = ACTIVITY_ROW;
32
+ exports.ACTIVITY_PAGE_ANSWER = listOf(ACTIVITY_ROW);
33
+ const CHANGE_SET = zod_1.z.looseObject({
34
+ id: zod_1.z.string(),
35
+ number: zod_1.z.number(),
36
+ conversationId: zod_1.z.string(),
37
+ title: zod_1.z.string(),
38
+ createdAtMs: zod_1.z.number(),
39
+ agent: zod_1.z.string(),
40
+ scope: zod_1.z.string(),
41
+ isAutoFix: zod_1.z.boolean(),
42
+ overlapped: zod_1.z.boolean(),
43
+ files: zod_1.z.array(zod_1.z.looseObject({
44
+ path: zod_1.z.string(),
45
+ status: zod_1.z.string(),
46
+ added: zod_1.z.number(),
47
+ removed: zod_1.z.number(),
48
+ })),
49
+ added: zod_1.z.number(),
50
+ removed: zod_1.z.number(),
51
+ typecheck: zod_1.z.string(),
52
+ state: zod_1.z.string(),
53
+ stateChangedAtMs: zod_1.z.number().optional(),
54
+ stateChangedBy: zod_1.z.string().optional(),
55
+ askedBy: zod_1.z.string().optional(),
56
+ approvalsNeeded: zod_1.z.number(),
57
+ builderOps: zod_1.z.number(),
58
+ });
59
+ exports.CHANGE_SET_PAGE_ANSWER = listOf(CHANGE_SET);
60
+ exports.UNDO_PREVIEW_ANSWER = zod_1.z.looseObject({
61
+ changeSetId: zod_1.z.string(),
62
+ files: zod_1.z.array(zod_1.z.string()),
63
+ conflicts: zod_1.z.array(zod_1.z.looseObject({
64
+ changeSetId: zod_1.z.string(),
65
+ number: zod_1.z.number(),
66
+ title: zod_1.z.string(),
67
+ files: zod_1.z.array(zod_1.z.string()),
68
+ })),
69
+ });
70
+ exports.SKILL_CATALOG_ANSWER = zod_1.z.looseObject({
71
+ items: zod_1.z.array(zod_1.z.looseObject({
72
+ id: zod_1.z.string(),
73
+ name: zod_1.z.string(),
74
+ description: zod_1.z.string(),
75
+ icon: zod_1.z.string().optional(),
76
+ category: zod_1.z.string().optional(),
77
+ tags: zod_1.z.array(zod_1.z.string()),
78
+ provenance: zod_1.z.string(),
79
+ body: zod_1.z.string(),
80
+ source: zod_1.z.string().optional(),
81
+ origin: zod_1.z.string().optional(),
82
+ uses30d: zod_1.z.number().optional(),
83
+ lastUsedAtMs: zod_1.z.number().optional(),
84
+ lastConversationId: zod_1.z.string().optional(),
85
+ isShadowed: zod_1.z.boolean().optional(),
86
+ shadowedBy: zod_1.z.string().optional(),
87
+ })),
88
+ });
89
+ exports.SETTINGS_ANSWER = zod_1.z.record(zod_1.z.string(), zod_1.z.custom(sidecar_1.isJsonBody));
90
+ //# sourceMappingURL=sidecar-answers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidecar-answers.js","sourceRoot":"","sources":["../../src/routes/sidecar-answers.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
+ import { z } from "zod";
1
2
  import { HTTPResult } from "@antelopejs/interface-api";
2
3
  import { type JsonBody, type SidecarRequest } from "../sidecar";
3
4
  export type BodyToAnswer<T, Answer> = (body: T) => Answer;
4
5
  export declare function assistantUnavailable(): HTTPResult;
5
- export declare function relay<T, Answer>(path: string, toAnswer: BodyToAnswer<T, Answer>, request?: SidecarRequest): Promise<Answer | HTTPResult>;
6
+ export declare function relay<T, Answer>(path: string, schema: z.ZodType<T>, toAnswer: BodyToAnswer<T, Answer>, request?: SidecarRequest): Promise<Answer | HTTPResult>;
6
7
  export declare function asIs(body: JsonBody | undefined): JsonBody | undefined;
@@ -21,12 +21,17 @@ function messageOf(body) {
21
21
  const refusal = REFUSAL_BODY.safeParse(body);
22
22
  return refusal.success ? refusal.data.message : http_1.ASSISTANT_REFUSED_MESSAGE;
23
23
  }
24
+ function badGateway() {
25
+ return new interface_api_1.HTTPResult(http_1.HTTP_STATUS.BAD_GATEWAY, {
26
+ message: http_1.ASSISTANT_REFUSED_MESSAGE,
27
+ });
28
+ }
24
29
  function refused(response) {
25
30
  return new interface_api_1.HTTPResult(response.status, {
26
31
  message: messageOf(response.body),
27
32
  });
28
33
  }
29
- async function relay(path, toAnswer, request = {}) {
34
+ async function relay(path, schema, toAnswer, request = {}) {
30
35
  let response;
31
36
  try {
32
37
  response = await (0, sidecar_1.requestSidecar)(path, request);
@@ -36,7 +41,8 @@ async function relay(path, toAnswer, request = {}) {
36
41
  }
37
42
  if (!response.isOk)
38
43
  return refused(response);
39
- return toAnswer(response.body);
44
+ const parsed = schema.safeParse(response.body);
45
+ return parsed.success ? toAnswer(parsed.data) : badGateway();
40
46
  }
41
47
  function asIs(body) {
42
48
  return body;
@@ -1 +1 @@
1
- {"version":3,"file":"sidecar-results.js","sourceRoot":"","sources":["../../src/routes/sidecar-results.ts"],"names":[],"mappings":";;AAuBA,oDAIC;AAuBD,sBAaC;AAGD,oBAEC;AApED,6BAAwB;AACxB,6DAAuD;AACvD,4CAI2B;AAC3B,wCAKoB;AAWpB,SAAgB,oBAAoB;IAClC,OAAO,IAAI,0BAAU,CAAC,kBAAW,CAAC,WAAW,EAAE;QAC7C,OAAO,EAAE,oCAA6B;KACnB,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,YAAY,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACvC,MAAM,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAEvD,SAAS,SAAS,CAAC,IAAa;IAC9B,MAAM,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnC,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,gCAAyB,CAAC;AAC5E,CAAC;AAED,SAAS,OAAO,CAAC,QAAyB;IACxC,OAAO,IAAI,0BAAU,CAAC,QAAQ,CAAC,MAAM,EAAE;QACrC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;KACd,CAAC,CAAC;AACzB,CAAC;AAOM,KAAK,UAAU,KAAK,CACzB,IAAY,EACZ,QAAiC,EACjC,UAA0B,EAAE;IAE5B,IAAI,QAAyB,CAAC;IAC9B,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,IAAA,wBAAc,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,oBAAoB,EAAE,CAAC;IAChC,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAS,CAAC,CAAC;AACtC,CAAC;AAGD,SAAgB,IAAI,CAAC,IAA0B;IAC7C,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"sidecar-results.js","sourceRoot":"","sources":["../../src/routes/sidecar-results.ts"],"names":[],"mappings":";;AAuBA,oDAIC;AA+BD,sBAeC;AAGD,oBAEC;AA9ED,6BAAwB;AACxB,6DAAuD;AACvD,4CAI2B;AAC3B,wCAKoB;AAWpB,SAAgB,oBAAoB;IAClC,OAAO,IAAI,0BAAU,CAAC,kBAAW,CAAC,WAAW,EAAE;QAC7C,OAAO,EAAE,oCAA6B;KACnB,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,YAAY,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACvC,MAAM,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAEvD,SAAS,SAAS,CAAC,IAA0B;IAC3C,MAAM,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnC,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,gCAAyB,CAAC;AAC5E,CAAC;AAGD,SAAS,UAAU;IACjB,OAAO,IAAI,0BAAU,CAAC,kBAAW,CAAC,WAAW,EAAE;QAC7C,OAAO,EAAE,gCAAyB;KACf,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,OAAO,CAAC,QAAyB;IACxC,OAAO,IAAI,0BAAU,CAAC,QAAQ,CAAC,MAAM,EAAE;QACrC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;KACd,CAAC,CAAC;AACzB,CAAC;AAQM,KAAK,UAAU,KAAK,CACzB,IAAY,EACZ,MAAoB,EACpB,QAAiC,EACjC,UAA0B,EAAE;IAE5B,IAAI,QAAyB,CAAC;IAC9B,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,IAAA,wBAAc,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,oBAAoB,EAAE,CAAC;IAChC,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;AAC/D,CAAC;AAGD,SAAgB,IAAI,CAAC,IAA0B;IAC7C,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { type HTTPResult, type RequestContext } from "@antelopejs/interface-api";
2
- import type { BannerContent } from "@antelopejs/interface-dms/base";
2
+ import type { JsonBody } from "../sidecar/json-body";
3
3
  import type { SidecarList, SkillRow } from "../types";
4
4
  declare const AISkillsController_base: import("@antelopejs/interface-api").ControllerClass<object>;
5
5
  export declare class AISkillsController extends AISkillsController_base {
6
6
  catalog(ctx: RequestContext): Promise<SidecarList<SkillRow> | HTTPResult>;
7
- conflicts(): Promise<BannerContent | HTTPResult>;
7
+ conflicts(): Promise<JsonBody | HTTPResult>;
8
8
  }
9
9
  export {};
@@ -23,6 +23,7 @@ const vocabulary_1 = require("../vocabulary");
23
23
  const banner_1 = require("./banner");
24
24
  const list_query_1 = require("./list-query");
25
25
  const sidecar_results_1 = require("./sidecar-results");
26
+ const sidecar_answers_1 = require("./sidecar-answers");
26
27
  const SKILLS_PATH = "/skills";
27
28
  const LOCAL_PROVENANCE = "local";
28
29
  const LOCAL_ORIGIN = "~/.claude/skills";
@@ -93,10 +94,10 @@ function conflictsBanner({ conflicts, }) {
93
94
  let AISkillsController = class AISkillsController extends (0, interface_api_1.Controller)(module_1.ROUTE_PREFIX) {
94
95
  catalog(ctx) {
95
96
  const source = (0, list_query_1.filteredValue)(ctx.url.searchParams, SOURCE_COLUMN);
96
- return (0, sidecar_results_1.relay)(SKILLS_PATH, catalogPage(source));
97
+ return (0, sidecar_results_1.relay)(SKILLS_PATH, sidecar_answers_1.SKILL_CATALOG_ANSWER, catalogPage(source));
97
98
  }
98
99
  async conflicts() {
99
- const shared = await (0, sidecar_1.readSidecar)(CONFLICTS_PATH, NO_CONFLICTS);
100
+ const shared = await (0, sidecar_1.readSidecar)(CONFLICTS_PATH, sidecar_1.CONFLICTS_ANSWER, NO_CONFLICTS);
100
101
  return (0, banner_1.bannerAnswer)(conflictsBanner(shared));
101
102
  }
102
103
  };
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/routes/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/routes/skills.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6DAMmC;AACnC,yDAA+D;AAG/D,4CAAkD;AAClD,gDAAmD;AACnD,8CAAgD;AAChD,wCAA2D;AAQ3D,8CAAwC;AACxC,qCAAwC;AACxC,6CAA6C;AAC7C,uDAA0C;AAC1C,uDAAyD;AAEzD,MAAM,WAAW,GAAG,SAAS,CAAC;AAC9B,MAAM,gBAAgB,GAAG,OAAO,CAAC;AACjC,MAAM,YAAY,GAAG,kBAAkB,CAAC;AACxC,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAiB;IACpD,CAAC,gBAAgB,EAAE,OAAO,CAAC;CAC5B,CAAC,CAAC;AACH,MAAM,aAAa,GAAG,QAAQ,CAAC;AAC/B,MAAM,aAAa,GAAG,QAAQ,CAAC;AAC/B,MAAM,cAAc,GAAG,GAAG,WAAW,YAAY,CAAC;AAClD,MAAM,YAAY,GAA0B,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AAC9D,MAAM,cAAc,GAAG,IAAI,CAAC;AAE5B,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,IAAA,oBAAO,EAAC,oBAAa,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAmB;IACnC,MAAM,MAAM,GACV,KAAK,CAAC,MAAM;QACZ,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC;QAC3C,aAAa,CAAC;IAChB,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,KAAK,gBAAgB,CAAC;IACtD,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,EAAE;QACb,aAAa,EAAE,KAAK,CAAC,EAAE;QACvB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM;QACN,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;QACnE,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC;QAC3B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,UAAU,EACR,KAAK,CAAC,YAAY,KAAK,SAAS;YAC9B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE;QAChD,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;QAC5C,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,KAAK;QACrC,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,MAA0B;IAC7C,OAAO,CAAC,OAA4B,EAAyB,EAAE;QAC7D,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK;aACvB,GAAG,CAAC,QAAQ,CAAC;aACb,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QAClE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IAC/C,CAAC,CAAC;AACJ,CAAC;AAOD,SAAS,eAAe,CAAC,EACvB,SAAS,GACa;IACtB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAW,CAAC;IAClE,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9E,OAAO;QACL,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,EAAE,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE;QACxD,WAAW,EAAE,EAAE,GAAG,EAAE,YAAY,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC3E,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC;gBAC7B,EAAE,EAAE,kBAAU,CAAC,cAAc;gBAC7B,IAAI,EAAE,eAAe;aACtB;SACF;KACF,CAAC;AACJ,CAAC;AAQM,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,IAAA,0BAAU,EAAC,qBAAY,CAAC;IAE9D,OAAO,CACM,GAAmB;QAE9B,MAAM,MAAM,GAAG,IAAA,0BAAa,EAAC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAClE,OAAO,IAAA,uBAAK,EAAC,WAAW,EAAE,sCAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,CAAC;IAGK,AAAN,KAAK,CAAC,SAAS;QACb,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAW,EAC9B,cAAc,EACd,0BAAgB,EAChB,YAAY,CACb,CAAC;QACF,OAAO,IAAA,qBAAY,EAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,CAAC;CACF,CAAA;AAlBY,gDAAkB;AAE7B;IADC,IAAA,mBAAG,EAAC,GAAG,WAAW,UAAU,CAAC;IAE3B,WAAA,IAAA,uBAAO,GAAE,CAAA;;;;iDAIX;AAGK;IADL,IAAA,mBAAG,EAAC,cAAc,CAAC;;;;mDAQnB;6BAjBU,kBAAkB;IAD9B,IAAA,oBAAa,GAAE;GACH,kBAAkB,CAkB9B"}
@@ -11,15 +11,32 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.AIStatusController = void 0;
13
13
  const interface_api_1 = require("@antelopejs/interface-api");
14
+ const zod_1 = require("zod");
14
15
  const auth_1 = require("@antelopejs/interface-dms/auth");
15
16
  const module_1 = require("../constants/module");
16
17
  const spawn_sidecar_1 = require("../lifecycle/spawn-sidecar");
17
18
  const sidecar_1 = require("../sidecar");
18
19
  const banner_1 = require("./banner");
20
+ const content_json_1 = require("./content-json");
19
21
  const sidecar_results_1 = require("./sidecar-results");
20
22
  const status_shapes_1 = require("./status-shapes");
21
23
  const STATUS_PATH = "/status";
22
24
  const NO_STORE = { "Cache-Control": "no-store" };
25
+ const SidecarStatus = zod_1.z.looseObject({
26
+ status: zod_1.z.string(),
27
+ provider: zod_1.z.string().optional(),
28
+ providers: zod_1.z.unknown().optional(),
29
+ builderAvailable: zod_1.z.boolean().optional(),
30
+ mode: zod_1.z.string().optional(),
31
+ generationMode: zod_1.z.string().optional(),
32
+ workingConversations: zod_1.z.number().optional(),
33
+ pendingApprovals: zod_1.z.number().optional(),
34
+ pendingQuestions: zod_1.z.number().optional(),
35
+ port: zod_1.z.number().optional(),
36
+ version: zod_1.z.string().optional(),
37
+ lastError: zod_1.z.string().optional(),
38
+ checkpointsAvailable: zod_1.z.boolean().optional(),
39
+ });
23
40
  function processState() {
24
41
  return {
25
42
  isRunning: (0, spawn_sidecar_1.isSidecarRunning)(),
@@ -30,9 +47,11 @@ function processState() {
30
47
  async function readStatus() {
31
48
  try {
32
49
  const response = await (0, sidecar_1.requestSidecar)(STATUS_PATH);
33
- const reported = response.isOk ? response.body : {};
34
- const status = response.isOk ? {} : { status: status_shapes_1.OFFLINE_STATUS };
35
- return { ...status, ...reported, ...processState() };
50
+ const reported = SidecarStatus.safeParse(response.body);
51
+ if (!response.isOk || !reported.success) {
52
+ return { status: status_shapes_1.OFFLINE_STATUS, ...processState() };
53
+ }
54
+ return { ...reported.data, ...processState() };
36
55
  }
37
56
  catch {
38
57
  return { status: status_shapes_1.OFFLINE_STATUS, ...processState() };
@@ -46,7 +65,7 @@ let AIStatusController = class AIStatusController extends (0, interface_api_1.Co
46
65
  return fresh(await readStatus());
47
66
  }
48
67
  async facts() {
49
- return fresh({ items: (0, status_shapes_1.statusFacts)(await readStatus()) });
68
+ return fresh((0, content_json_1.contentJson)({ items: (0, status_shapes_1.statusFacts)(await readStatus()) }));
50
69
  }
51
70
  async banner() {
52
71
  return fresh((0, banner_1.bannerAnswer)((0, status_shapes_1.statusBanner)(await readStatus())));
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/routes/status.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6DAA8E;AAC9E,yDAA+D;AAC/D,gDAAmD;AACnD,8DAKoC;AACpC,wCAA4C;AAM5C,qCAAwC;AACxC,uDAAyD;AACzD,mDAA4E;AAE5E,MAAM,WAAW,GAAG,SAAS,CAAC;AAC9B,MAAM,QAAQ,GAAG,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AASjD,SAAS,YAAY;IACnB,OAAO;QACL,SAAS,EAAE,IAAA,gCAAgB,GAAE;QAC7B,UAAU,EAAE,IAAA,iCAAiB,GAAE;QAC/B,QAAQ,EAAE,IAAA,iCAAiB,GAAE;KAC9B,CAAC;AACJ,CAAC;AAOD,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAc,EAAC,WAAW,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAE,QAAQ,CAAC,IAAe,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,8BAAc,EAAE,CAAC;QAC/D,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,QAAQ,EAAE,GAAG,YAAY,EAAE,EAAqB,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,8BAAc,EAAE,GAAG,YAAY,EAAE,EAAE,CAAC;IACvD,CAAC;AACH,CAAC;AASD,SAAS,KAAK,CAAC,IAAkB;IAC/B,OAAO,0BAAU,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC;AAOM,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,IAAA,0BAAU,EAAC,qBAAY,CAAC;IAExD,AAAN,KAAK,CAAC,MAAM;QACV,OAAO,KAAK,CAAC,MAAM,UAAU,EAAE,CAAC,CAAC;IACnC,CAAC;IAGK,AAAN,KAAK,CAAC,KAAK;QACT,OAAO,KAAK,CAAC,EAAE,KAAK,EAAE,IAAA,2BAAW,EAAC,MAAM,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM;QACV,OAAO,KAAK,CAAC,IAAA,qBAAY,EAAC,IAAA,4BAAY,EAAC,MAAM,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,MAAM,IAAA,8BAAc,GAAE,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAA,sCAAoB,GAAE,CAAC;QAChC,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,UAAU,EAAE,CAAC,CAAC;IACnC,CAAC;CACF,CAAA;AAzBY,gDAAkB;AAEvB;IADL,IAAA,mBAAG,EAAC,WAAW,CAAC;;;;gDAGhB;AAGK;IADL,IAAA,mBAAG,EAAC,GAAG,WAAW,QAAQ,CAAC;;;;+CAG3B;AAGK;IADL,IAAA,mBAAG,EAAC,GAAG,WAAW,SAAS,CAAC;;;;gDAG5B;AAGK;IADL,IAAA,oBAAI,EAAC,kBAAkB,CAAC;;;;iDAQxB;6BAxBU,kBAAkB;IAD9B,IAAA,oBAAa,GAAE;GACH,kBAAkB,CAyB9B"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/routes/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { z } from "zod";
2
+ import type { AllowedBreakdown, ChartPayload, SidecarKpi, SidecarSkillConflicts, TopTools, UsageReport } from "../types";
3
+ export declare const KPI_ANSWER: z.ZodType<SidecarKpi>;
4
+ export declare const CHART_ANSWER: z.ZodType<ChartPayload>;
5
+ export declare const ALLOWED_ANSWER: z.ZodType<AllowedBreakdown>;
6
+ export declare const TOP_TOOLS_ANSWER: z.ZodType<TopTools>;
7
+ export declare const USAGE_ANSWER: z.ZodType<UsageReport>;
8
+ export declare const CONFLICTS_ANSWER: z.ZodType<SidecarSkillConflicts>;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CONFLICTS_ANSWER = exports.USAGE_ANSWER = exports.TOP_TOOLS_ANSWER = exports.ALLOWED_ANSWER = exports.CHART_ANSWER = exports.KPI_ANSWER = void 0;
4
+ const zod_1 = require("zod");
5
+ const SERIES_POINT = zod_1.z.looseObject({ x: zod_1.z.string(), y: zod_1.z.number() });
6
+ const NAMED_SERIES = zod_1.z.looseObject({
7
+ name: zod_1.z.string(),
8
+ data: zod_1.z.array(SERIES_POINT),
9
+ });
10
+ const COUNTED_VALUE = {
11
+ id: zod_1.z.string(),
12
+ value: zod_1.z.number(),
13
+ delta: zod_1.z.number().optional(),
14
+ };
15
+ const SKILL_ORIGIN = zod_1.z.looseObject({ source: zod_1.z.string(), origin: zod_1.z.string() });
16
+ exports.KPI_ANSWER = zod_1.z.looseObject({
17
+ value: zod_1.z.number(),
18
+ delta: zod_1.z.number().optional(),
19
+ previousValue: zod_1.z.number().optional(),
20
+ sparkline: zod_1.z.array(zod_1.z.number()),
21
+ caption: zod_1.z.string().optional(),
22
+ total: zod_1.z.number().optional(),
23
+ denied: zod_1.z.number().optional(),
24
+ expired: zod_1.z.number().optional(),
25
+ });
26
+ exports.CHART_ANSWER = zod_1.z.looseObject({
27
+ value: zod_1.z.number(),
28
+ delta: zod_1.z.number().optional(),
29
+ previousValue: zod_1.z.number().optional(),
30
+ series: zod_1.z.array(NAMED_SERIES),
31
+ comparisonSeries: zod_1.z.array(NAMED_SERIES).optional(),
32
+ });
33
+ exports.ALLOWED_ANSWER = zod_1.z.looseObject({
34
+ items: zod_1.z.array(zod_1.z.looseObject(COUNTED_VALUE)),
35
+ deletionsAsked: zod_1.z.number(),
36
+ deletions: zod_1.z.number(),
37
+ });
38
+ exports.TOP_TOOLS_ANSWER = zod_1.z.looseObject({
39
+ items: zod_1.z.array(zod_1.z.looseObject({ ...COUNTED_VALUE, source: zod_1.z.string() })),
40
+ });
41
+ exports.USAGE_ANSWER = zod_1.z.looseObject({
42
+ days: zod_1.z.array(zod_1.z.looseObject({ day: zod_1.z.string(), totalTokens: zod_1.z.number() })),
43
+ totalTokens: zod_1.z.number(),
44
+ conversations: zod_1.z.number(),
45
+ top: zod_1.z
46
+ .looseObject({
47
+ conversationId: zod_1.z.string(),
48
+ title: zod_1.z.string(),
49
+ totalTokens: zod_1.z.number(),
50
+ })
51
+ .optional(),
52
+ });
53
+ exports.CONFLICTS_ANSWER = zod_1.z.looseObject({
54
+ conflicts: zod_1.z.array(zod_1.z.looseObject({
55
+ name: zod_1.z.string(),
56
+ winner: SKILL_ORIGIN,
57
+ ignored: zod_1.z.array(SKILL_ORIGIN),
58
+ })),
59
+ });
60
+ //# sourceMappingURL=answer-schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"answer-schemas.js","sourceRoot":"","sources":["../../src/sidecar/answer-schemas.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
+ import type { z } from "zod";
2
+ import { type JsonBody } from "./json-body";
1
3
  export interface SidecarResponse {
2
4
  status: number;
3
- body: unknown;
5
+ body: JsonBody | undefined;
4
6
  isOk: boolean;
5
7
  }
6
8
  export interface SidecarRequest {
@@ -8,4 +10,4 @@ export interface SidecarRequest {
8
10
  body?: unknown;
9
11
  }
10
12
  export declare function requestSidecar(path: string, request?: SidecarRequest): Promise<SidecarResponse>;
11
- export declare function readSidecar<T>(path: string, fallback: T): Promise<T>;
13
+ export declare function readSidecar<T>(path: string, schema: z.ZodType<T>, fallback: T): Promise<T>;
@@ -49,10 +49,13 @@ async function requestSidecar(path, request = {}) {
49
49
  isOk: response.ok,
50
50
  };
51
51
  }
52
- async function readSidecar(path, fallback) {
52
+ async function readSidecar(path, schema, fallback) {
53
53
  try {
54
54
  const response = await requestSidecar(path);
55
- return response.isOk ? response.body : fallback;
55
+ if (!response.isOk)
56
+ return fallback;
57
+ const parsed = schema.safeParse(response.body);
58
+ return parsed.success ? parsed.data : fallback;
56
59
  }
57
60
  catch {
58
61
  return fallback;
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/sidecar/http-client.ts"],"names":[],"mappings":";;AAmDA,wCAsBC;AAMD,kCAOC;AAtFD,kDAA6D;AAC7D,8DAIoC;AACpC,sFAAiF;AACjF,2CAAwD;AAExD,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAe7C,KAAK,UAAU,QAAQ,CAAC,QAAkB;IACxC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,IAAA,sBAAU,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,OAAuB;IACzD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC;IAClE,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAC/C,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;KACnC,CAAC;AACJ,CAAC;AAOM,KAAK,UAAU,cAAc,CAClC,IAAY,EACZ,UAA0B,EAAE;IAE5B,MAAM,IAAA,oCAAoB,GAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAA,8BAAc,GAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAA,qCAAqB,GAAE,CAAC;IACtC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,mDAAuB,EAAE,CAAC;IACjE,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CACpB,UAAU,+BAAqB,IAAI,IAAI,GAAG,IAAI,EAAE,EAChD,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAC5B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,mDAAuB,EAAE,CAAC;IACtC,CAAC;IACD,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,MAAM,QAAQ,CAAC,QAAQ,CAAC;QAC9B,IAAI,EAAE,QAAQ,CAAC,EAAE;KAClB,CAAC;AACJ,CAAC;AAMM,KAAK,UAAU,WAAW,CAAI,IAAY,EAAE,QAAW;IAC5D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;QAC5C,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAE,QAAQ,CAAC,IAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/sidecar/http-client.ts"],"names":[],"mappings":";;AAoDA,wCAsBC;AAOD,kCAaC;AA7FD,kDAA6D;AAC7D,8DAIoC;AACpC,sFAAiF;AACjF,2CAAwD;AAExD,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAe7C,KAAK,UAAU,QAAQ,CAAC,QAAkB;IACxC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,IAAA,sBAAU,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,OAAuB;IACzD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC;IAClE,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAC/C,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;KACnC,CAAC;AACJ,CAAC;AAOM,KAAK,UAAU,cAAc,CAClC,IAAY,EACZ,UAA0B,EAAE;IAE5B,MAAM,IAAA,oCAAoB,GAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAA,8BAAc,GAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAA,qCAAqB,GAAE,CAAC;IACtC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,mDAAuB,EAAE,CAAC;IACjE,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CACpB,UAAU,+BAAqB,IAAI,IAAI,GAAG,IAAI,EAAE,EAChD,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAC5B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,mDAAuB,EAAE,CAAC;IACtC,CAAC;IACD,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,MAAM,QAAQ,CAAC,QAAQ,CAAC;QAC9B,IAAI,EAAE,QAAQ,CAAC,EAAE;KAClB,CAAC;AACJ,CAAC;AAOM,KAAK,UAAU,WAAW,CAC/B,IAAY,EACZ,MAAoB,EACpB,QAAW;IAEX,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,IAAI;YAAE,OAAO,QAAQ,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from "./answer-schemas";
1
2
  export * from "./http-client";
2
3
  export * from "./json-body";
3
4
  export * from "./query";