@beacon-build/sdk 2.4.4 → 2.5.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 (373) hide show
  1. package/dist/auth/argus-jwt.d.ts +30 -0
  2. package/dist/auth/argus-jwt.d.ts.map +1 -0
  3. package/dist/auth/argus-jwt.js +41 -0
  4. package/dist/auth/argus-jwt.js.map +1 -0
  5. package/dist/cli/backlog.d.ts +14 -0
  6. package/dist/cli/backlog.d.ts.map +1 -0
  7. package/dist/cli/backlog.js +228 -0
  8. package/dist/cli/backlog.js.map +1 -0
  9. package/dist/cli/claude-md-check.d.ts +18 -0
  10. package/dist/cli/claude-md-check.d.ts.map +1 -0
  11. package/dist/cli/claude-md-check.js +57 -0
  12. package/dist/cli/claude-md-check.js.map +1 -0
  13. package/dist/cli/context.d.ts +14 -0
  14. package/dist/cli/context.d.ts.map +1 -0
  15. package/dist/cli/context.js +465 -0
  16. package/dist/cli/context.js.map +1 -0
  17. package/dist/cli/help.d.ts +17 -0
  18. package/dist/cli/help.d.ts.map +1 -0
  19. package/dist/cli/help.js +71 -0
  20. package/dist/cli/help.js.map +1 -0
  21. package/dist/cli/index.d.ts +22 -0
  22. package/dist/cli/index.d.ts.map +1 -0
  23. package/dist/cli/index.js +212 -0
  24. package/dist/cli/index.js.map +1 -0
  25. package/dist/cli/project-log.d.ts +16 -0
  26. package/dist/cli/project-log.d.ts.map +1 -0
  27. package/dist/cli/project-log.js +185 -0
  28. package/dist/cli/project-log.js.map +1 -0
  29. package/dist/cli/setup-worktree.d.ts +23 -0
  30. package/dist/cli/setup-worktree.d.ts.map +1 -0
  31. package/dist/cli/setup-worktree.js +396 -0
  32. package/dist/cli/setup-worktree.js.map +1 -0
  33. package/dist/cli/update-client.d.ts +14 -0
  34. package/dist/cli/update-client.d.ts.map +1 -0
  35. package/dist/cli/update-client.js +629 -0
  36. package/dist/cli/update-client.js.map +1 -0
  37. package/dist/cli/workflow-sync.d.ts +19 -0
  38. package/dist/cli/workflow-sync.d.ts.map +1 -0
  39. package/dist/cli/workflow-sync.js +133 -0
  40. package/dist/cli/workflow-sync.js.map +1 -0
  41. package/dist/clients/admin/access-grants.client.d.ts +59 -0
  42. package/dist/clients/admin/access-grants.client.d.ts.map +1 -0
  43. package/dist/clients/admin/access-grants.client.js +21 -0
  44. package/dist/clients/admin/access-grants.client.js.map +1 -0
  45. package/dist/clients/admin/activity.client.d.ts +33 -0
  46. package/dist/clients/admin/activity.client.d.ts.map +1 -0
  47. package/dist/clients/admin/activity.client.js +28 -0
  48. package/dist/clients/admin/activity.client.js.map +1 -0
  49. package/dist/clients/admin/agents.client.d.ts +66 -0
  50. package/dist/clients/admin/agents.client.d.ts.map +1 -0
  51. package/dist/clients/admin/agents.client.js +150 -0
  52. package/dist/clients/admin/agents.client.js.map +1 -0
  53. package/dist/clients/admin/alerts.client.d.ts +8 -0
  54. package/dist/clients/admin/alerts.client.d.ts.map +1 -0
  55. package/dist/clients/admin/alerts.client.js +11 -0
  56. package/dist/clients/admin/alerts.client.js.map +1 -0
  57. package/dist/clients/admin/assets.client.d.ts +24 -0
  58. package/dist/clients/admin/assets.client.d.ts.map +1 -0
  59. package/dist/clients/admin/assets.client.js +34 -0
  60. package/dist/clients/admin/assets.client.js.map +1 -0
  61. package/dist/clients/admin/board-messages.client.d.ts +13 -0
  62. package/dist/clients/admin/board-messages.client.d.ts.map +1 -0
  63. package/dist/clients/admin/board-messages.client.js +16 -0
  64. package/dist/clients/admin/board-messages.client.js.map +1 -0
  65. package/dist/clients/admin/conversation-messages.client.d.ts +34 -0
  66. package/dist/clients/admin/conversation-messages.client.d.ts.map +1 -0
  67. package/dist/clients/admin/conversation-messages.client.js +61 -0
  68. package/dist/clients/admin/conversation-messages.client.js.map +1 -0
  69. package/dist/clients/admin/daemon-admin.client.d.ts +100 -0
  70. package/dist/clients/admin/daemon-admin.client.d.ts.map +1 -0
  71. package/dist/clients/admin/daemon-admin.client.js +37 -0
  72. package/dist/clients/admin/daemon-admin.client.js.map +1 -0
  73. package/dist/clients/admin/db.client.d.ts +12 -0
  74. package/dist/clients/admin/db.client.d.ts.map +1 -0
  75. package/dist/clients/admin/db.client.js +13 -0
  76. package/dist/clients/admin/db.client.js.map +1 -0
  77. package/dist/clients/admin/documents.client.d.ts +75 -0
  78. package/dist/clients/admin/documents.client.d.ts.map +1 -0
  79. package/dist/clients/admin/documents.client.js +123 -0
  80. package/dist/clients/admin/documents.client.js.map +1 -0
  81. package/dist/clients/admin/executions.client.d.ts +68 -0
  82. package/dist/clients/admin/executions.client.d.ts.map +1 -0
  83. package/dist/clients/admin/executions.client.js +67 -0
  84. package/dist/clients/admin/executions.client.js.map +1 -0
  85. package/dist/clients/admin/github-proxy.client.d.ts +51 -0
  86. package/dist/clients/admin/github-proxy.client.d.ts.map +1 -0
  87. package/dist/clients/admin/github-proxy.client.js +55 -0
  88. package/dist/clients/admin/github-proxy.client.js.map +1 -0
  89. package/dist/clients/admin/memories.client.d.ts +69 -0
  90. package/dist/clients/admin/memories.client.d.ts.map +1 -0
  91. package/dist/clients/admin/memories.client.js +126 -0
  92. package/dist/clients/admin/memories.client.js.map +1 -0
  93. package/dist/clients/admin/metrics.client.d.ts +80 -0
  94. package/dist/clients/admin/metrics.client.d.ts.map +1 -0
  95. package/dist/clients/admin/metrics.client.js +71 -0
  96. package/dist/clients/admin/metrics.client.js.map +1 -0
  97. package/dist/clients/admin/model-health-check.client.d.ts +33 -0
  98. package/dist/clients/admin/model-health-check.client.d.ts.map +1 -0
  99. package/dist/clients/admin/model-health-check.client.js +23 -0
  100. package/dist/clients/admin/model-health-check.client.js.map +1 -0
  101. package/dist/clients/admin/ops-admin.client.d.ts +206 -0
  102. package/dist/clients/admin/ops-admin.client.d.ts.map +1 -0
  103. package/dist/clients/admin/ops-admin.client.js +47 -0
  104. package/dist/clients/admin/ops-admin.client.js.map +1 -0
  105. package/dist/clients/admin/organizations.client.d.ts +74 -0
  106. package/dist/clients/admin/organizations.client.d.ts.map +1 -0
  107. package/dist/clients/admin/organizations.client.js +74 -0
  108. package/dist/clients/admin/organizations.client.js.map +1 -0
  109. package/dist/clients/admin/planning.client.d.ts +17 -0
  110. package/dist/clients/admin/planning.client.d.ts.map +1 -0
  111. package/dist/clients/admin/planning.client.js +58 -0
  112. package/dist/clients/admin/planning.client.js.map +1 -0
  113. package/dist/clients/admin/portal.client.d.ts +104 -0
  114. package/dist/clients/admin/portal.client.d.ts.map +1 -0
  115. package/dist/clients/admin/portal.client.js +122 -0
  116. package/dist/clients/admin/portal.client.js.map +1 -0
  117. package/dist/clients/admin/projects.client.d.ts +190 -0
  118. package/dist/clients/admin/projects.client.d.ts.map +1 -0
  119. package/dist/clients/admin/projects.client.js +122 -0
  120. package/dist/clients/admin/projects.client.js.map +1 -0
  121. package/dist/clients/admin/roster.client.d.ts +27 -0
  122. package/dist/clients/admin/roster.client.d.ts.map +1 -0
  123. package/dist/clients/admin/roster.client.js +30 -0
  124. package/dist/clients/admin/roster.client.js.map +1 -0
  125. package/dist/clients/admin/sessions.client.d.ts +70 -0
  126. package/dist/clients/admin/sessions.client.d.ts.map +1 -0
  127. package/dist/clients/admin/sessions.client.js +116 -0
  128. package/dist/clients/admin/sessions.client.js.map +1 -0
  129. package/dist/clients/admin/settings.client.d.ts +98 -0
  130. package/dist/clients/admin/settings.client.d.ts.map +1 -0
  131. package/dist/clients/admin/settings.client.js +72 -0
  132. package/dist/clients/admin/settings.client.js.map +1 -0
  133. package/dist/clients/admin/task-events.types.d.ts +73 -0
  134. package/dist/clients/admin/task-events.types.d.ts.map +1 -0
  135. package/dist/clients/admin/task-events.types.js +6 -0
  136. package/dist/clients/admin/task-events.types.js.map +1 -0
  137. package/dist/clients/admin/tasks-attachments.client.d.ts +31 -0
  138. package/dist/clients/admin/tasks-attachments.client.d.ts.map +1 -0
  139. package/dist/clients/admin/tasks-attachments.client.js +29 -0
  140. package/dist/clients/admin/tasks-attachments.client.js.map +1 -0
  141. package/dist/clients/admin/tasks-doc-links.client.d.ts +15 -0
  142. package/dist/clients/admin/tasks-doc-links.client.d.ts.map +1 -0
  143. package/dist/clients/admin/tasks-doc-links.client.js +10 -0
  144. package/dist/clients/admin/tasks-doc-links.client.js.map +1 -0
  145. package/dist/clients/admin/tasks-links.client.d.ts +13 -0
  146. package/dist/clients/admin/tasks-links.client.d.ts.map +1 -0
  147. package/dist/clients/admin/tasks-links.client.js +10 -0
  148. package/dist/clients/admin/tasks-links.client.js.map +1 -0
  149. package/dist/clients/admin/tasks-list-params.d.ts +7 -0
  150. package/dist/clients/admin/tasks-list-params.d.ts.map +1 -0
  151. package/dist/clients/admin/tasks-list-params.js +48 -0
  152. package/dist/clients/admin/tasks-list-params.js.map +1 -0
  153. package/dist/clients/admin/tasks-pr.client.d.ts +17 -0
  154. package/dist/clients/admin/tasks-pr.client.d.ts.map +1 -0
  155. package/dist/clients/admin/tasks-pr.client.js +11 -0
  156. package/dist/clients/admin/tasks-pr.client.js.map +1 -0
  157. package/dist/clients/admin/tasks-ref.client.d.ts +16 -0
  158. package/dist/clients/admin/tasks-ref.client.d.ts.map +1 -0
  159. package/dist/clients/admin/tasks-ref.client.js +22 -0
  160. package/dist/clients/admin/tasks-ref.client.js.map +1 -0
  161. package/dist/clients/admin/tasks.client.d.ts +87 -0
  162. package/dist/clients/admin/tasks.client.d.ts.map +1 -0
  163. package/dist/clients/admin/tasks.client.js +183 -0
  164. package/dist/clients/admin/tasks.client.js.map +1 -0
  165. package/dist/clients/admin/tasks.types.d.ts +147 -0
  166. package/dist/clients/admin/tasks.types.d.ts.map +1 -0
  167. package/dist/clients/admin/tasks.types.js +2 -0
  168. package/dist/clients/admin/tasks.types.js.map +1 -0
  169. package/dist/clients/admin/tool-calls.client.d.ts +12 -0
  170. package/dist/clients/admin/tool-calls.client.d.ts.map +1 -0
  171. package/dist/clients/admin/tool-calls.client.js +29 -0
  172. package/dist/clients/admin/tool-calls.client.js.map +1 -0
  173. package/dist/clients/admin/usage.client.d.ts +138 -0
  174. package/dist/clients/admin/usage.client.d.ts.map +1 -0
  175. package/dist/clients/admin/usage.client.js +96 -0
  176. package/dist/clients/admin/usage.client.js.map +1 -0
  177. package/dist/clients/admin/users.client.d.ts +137 -0
  178. package/dist/clients/admin/users.client.d.ts.map +1 -0
  179. package/dist/clients/admin/users.client.js +133 -0
  180. package/dist/clients/admin/users.client.js.map +1 -0
  181. package/dist/clients/agent/messaging.client.d.ts +34 -0
  182. package/dist/clients/agent/messaging.client.d.ts.map +1 -0
  183. package/dist/clients/agent/messaging.client.js +40 -0
  184. package/dist/clients/agent/messaging.client.js.map +1 -0
  185. package/dist/clients/external-session-registrar.d.ts +16 -0
  186. package/dist/clients/external-session-registrar.d.ts.map +1 -0
  187. package/dist/clients/external-session-registrar.js +29 -0
  188. package/dist/clients/external-session-registrar.js.map +1 -0
  189. package/dist/clients/ops/agent-authorization-ops.client.d.ts +29 -0
  190. package/dist/clients/ops/agent-authorization-ops.client.d.ts.map +1 -0
  191. package/dist/clients/ops/agent-authorization-ops.client.js +34 -0
  192. package/dist/clients/ops/agent-authorization-ops.client.js.map +1 -0
  193. package/dist/clients/ops/agents-affinity-ops.client.d.ts +27 -0
  194. package/dist/clients/ops/agents-affinity-ops.client.d.ts.map +1 -0
  195. package/dist/clients/ops/agents-affinity-ops.client.js +14 -0
  196. package/dist/clients/ops/agents-affinity-ops.client.js.map +1 -0
  197. package/dist/clients/ops/agents-mint-ops.client.d.ts +34 -0
  198. package/dist/clients/ops/agents-mint-ops.client.d.ts.map +1 -0
  199. package/dist/clients/ops/agents-mint-ops.client.js +55 -0
  200. package/dist/clients/ops/agents-mint-ops.client.js.map +1 -0
  201. package/dist/clients/ops/agents-ops.client.d.ts +120 -0
  202. package/dist/clients/ops/agents-ops.client.d.ts.map +1 -0
  203. package/dist/clients/ops/agents-ops.client.js +217 -0
  204. package/dist/clients/ops/agents-ops.client.js.map +1 -0
  205. package/dist/clients/ops/agents-stats-ops.client.d.ts +19 -0
  206. package/dist/clients/ops/agents-stats-ops.client.d.ts.map +1 -0
  207. package/dist/clients/ops/agents-stats-ops.client.js +10 -0
  208. package/dist/clients/ops/agents-stats-ops.client.js.map +1 -0
  209. package/dist/clients/ops/board-messages-ops.client.d.ts +14 -0
  210. package/dist/clients/ops/board-messages-ops.client.d.ts.map +1 -0
  211. package/dist/clients/ops/board-messages-ops.client.js +26 -0
  212. package/dist/clients/ops/board-messages-ops.client.js.map +1 -0
  213. package/dist/clients/ops/campaign-events-ops.client.d.ts +38 -0
  214. package/dist/clients/ops/campaign-events-ops.client.d.ts.map +1 -0
  215. package/dist/clients/ops/campaign-events-ops.client.js +28 -0
  216. package/dist/clients/ops/campaign-events-ops.client.js.map +1 -0
  217. package/dist/clients/ops/conversation-messages-ops.client.d.ts +10 -0
  218. package/dist/clients/ops/conversation-messages-ops.client.d.ts.map +1 -0
  219. package/dist/clients/ops/conversation-messages-ops.client.js +20 -0
  220. package/dist/clients/ops/conversation-messages-ops.client.js.map +1 -0
  221. package/dist/clients/ops/document-sync.client.d.ts +50 -0
  222. package/dist/clients/ops/document-sync.client.d.ts.map +1 -0
  223. package/dist/clients/ops/document-sync.client.js +108 -0
  224. package/dist/clients/ops/document-sync.client.js.map +1 -0
  225. package/dist/clients/ops/documents-ops.client.d.ts +20 -0
  226. package/dist/clients/ops/documents-ops.client.d.ts.map +1 -0
  227. package/dist/clients/ops/documents-ops.client.js +31 -0
  228. package/dist/clients/ops/documents-ops.client.js.map +1 -0
  229. package/dist/clients/ops/github-credential-ops.client.d.ts +29 -0
  230. package/dist/clients/ops/github-credential-ops.client.d.ts.map +1 -0
  231. package/dist/clients/ops/github-credential-ops.client.js +32 -0
  232. package/dist/clients/ops/github-credential-ops.client.js.map +1 -0
  233. package/dist/clients/ops/leads-ops.client.d.ts +36 -0
  234. package/dist/clients/ops/leads-ops.client.d.ts.map +1 -0
  235. package/dist/clients/ops/leads-ops.client.js +35 -0
  236. package/dist/clients/ops/leads-ops.client.js.map +1 -0
  237. package/dist/clients/ops/memories-ops.client.d.ts +25 -0
  238. package/dist/clients/ops/memories-ops.client.d.ts.map +1 -0
  239. package/dist/clients/ops/memories-ops.client.js +75 -0
  240. package/dist/clients/ops/memories-ops.client.js.map +1 -0
  241. package/dist/clients/ops/metrics-ops.client.d.ts +38 -0
  242. package/dist/clients/ops/metrics-ops.client.d.ts.map +1 -0
  243. package/dist/clients/ops/metrics-ops.client.js +23 -0
  244. package/dist/clients/ops/metrics-ops.client.js.map +1 -0
  245. package/dist/clients/ops/ops-db.client.d.ts +49 -0
  246. package/dist/clients/ops/ops-db.client.d.ts.map +1 -0
  247. package/dist/clients/ops/ops-db.client.js +62 -0
  248. package/dist/clients/ops/ops-db.client.js.map +1 -0
  249. package/dist/clients/ops/ops-logs.client.d.ts +63 -0
  250. package/dist/clients/ops/ops-logs.client.d.ts.map +1 -0
  251. package/dist/clients/ops/ops-logs.client.js +68 -0
  252. package/dist/clients/ops/ops-logs.client.js.map +1 -0
  253. package/dist/clients/ops/ops-mq.client.d.ts +33 -0
  254. package/dist/clients/ops/ops-mq.client.d.ts.map +1 -0
  255. package/dist/clients/ops/ops-mq.client.js +18 -0
  256. package/dist/clients/ops/ops-mq.client.js.map +1 -0
  257. package/dist/clients/ops/ops-northflank.client.d.ts +48 -0
  258. package/dist/clients/ops/ops-northflank.client.d.ts.map +1 -0
  259. package/dist/clients/ops/ops-northflank.client.js +55 -0
  260. package/dist/clients/ops/ops-northflank.client.js.map +1 -0
  261. package/dist/clients/ops/ops-storage.client.d.ts +34 -0
  262. package/dist/clients/ops/ops-storage.client.d.ts.map +1 -0
  263. package/dist/clients/ops/ops-storage.client.js +39 -0
  264. package/dist/clients/ops/ops-storage.client.js.map +1 -0
  265. package/dist/clients/ops/ops-workers.client.d.ts +63 -0
  266. package/dist/clients/ops/ops-workers.client.d.ts.map +1 -0
  267. package/dist/clients/ops/ops-workers.client.js +109 -0
  268. package/dist/clients/ops/ops-workers.client.js.map +1 -0
  269. package/dist/clients/ops/ops-workers.types.d.ts +179 -0
  270. package/dist/clients/ops/ops-workers.types.d.ts.map +1 -0
  271. package/dist/clients/ops/ops-workers.types.js +2 -0
  272. package/dist/clients/ops/ops-workers.types.js.map +1 -0
  273. package/dist/clients/ops/projects-ops.client.d.ts +20 -0
  274. package/dist/clients/ops/projects-ops.client.d.ts.map +1 -0
  275. package/dist/clients/ops/projects-ops.client.js +18 -0
  276. package/dist/clients/ops/projects-ops.client.js.map +1 -0
  277. package/dist/clients/ops/realtime-ops.client.d.ts +14 -0
  278. package/dist/clients/ops/realtime-ops.client.d.ts.map +1 -0
  279. package/dist/clients/ops/realtime-ops.client.js +10 -0
  280. package/dist/clients/ops/realtime-ops.client.js.map +1 -0
  281. package/dist/clients/ops/sessions-ops.client.d.ts +60 -0
  282. package/dist/clients/ops/sessions-ops.client.d.ts.map +1 -0
  283. package/dist/clients/ops/sessions-ops.client.js +139 -0
  284. package/dist/clients/ops/sessions-ops.client.js.map +1 -0
  285. package/dist/clients/ops/tasks-ops.client.d.ts +20 -0
  286. package/dist/clients/ops/tasks-ops.client.d.ts.map +1 -0
  287. package/dist/clients/ops/tasks-ops.client.js +39 -0
  288. package/dist/clients/ops/tasks-ops.client.js.map +1 -0
  289. package/dist/clients/ops/thread-messaging.client.d.ts +93 -0
  290. package/dist/clients/ops/thread-messaging.client.d.ts.map +1 -0
  291. package/dist/clients/ops/thread-messaging.client.js +153 -0
  292. package/dist/clients/ops/thread-messaging.client.js.map +1 -0
  293. package/dist/clients/ops/thread-messaging.inbox-read.d.ts +50 -0
  294. package/dist/clients/ops/thread-messaging.inbox-read.d.ts.map +1 -0
  295. package/dist/clients/ops/thread-messaging.inbox-read.js +70 -0
  296. package/dist/clients/ops/thread-messaging.inbox-read.js.map +1 -0
  297. package/dist/clients/ops/thread-messaging.lifecycle.d.ts +29 -0
  298. package/dist/clients/ops/thread-messaging.lifecycle.d.ts.map +1 -0
  299. package/dist/clients/ops/thread-messaging.lifecycle.js +50 -0
  300. package/dist/clients/ops/thread-messaging.lifecycle.js.map +1 -0
  301. package/dist/clients/ops/thread-messaging.owner-scope.d.ts +54 -0
  302. package/dist/clients/ops/thread-messaging.owner-scope.d.ts.map +1 -0
  303. package/dist/clients/ops/thread-messaging.owner-scope.js +33 -0
  304. package/dist/clients/ops/thread-messaging.owner-scope.js.map +1 -0
  305. package/dist/clients/ops/thread-messaging.transport.d.ts +20 -0
  306. package/dist/clients/ops/thread-messaging.transport.d.ts.map +1 -0
  307. package/dist/clients/ops/thread-messaging.transport.js +42 -0
  308. package/dist/clients/ops/thread-messaging.transport.js.map +1 -0
  309. package/dist/clients/ops/thread-messaging.types.d.ts +60 -0
  310. package/dist/clients/ops/thread-messaging.types.d.ts.map +1 -0
  311. package/dist/clients/ops/thread-messaging.types.js +2 -0
  312. package/dist/clients/ops/thread-messaging.types.js.map +1 -0
  313. package/dist/clients/ops/tool-calls-ops.client.d.ts +12 -0
  314. package/dist/clients/ops/tool-calls-ops.client.d.ts.map +1 -0
  315. package/dist/clients/ops/tool-calls-ops.client.js +29 -0
  316. package/dist/clients/ops/tool-calls-ops.client.js.map +1 -0
  317. package/dist/clients/ops/usage-workflows-ops.client.d.ts +22 -0
  318. package/dist/clients/ops/usage-workflows-ops.client.d.ts.map +1 -0
  319. package/dist/clients/ops/usage-workflows-ops.client.js +23 -0
  320. package/dist/clients/ops/usage-workflows-ops.client.js.map +1 -0
  321. package/dist/factory/admin-sdk.d.ts +96 -0
  322. package/dist/factory/admin-sdk.d.ts.map +1 -0
  323. package/dist/factory/admin-sdk.js +112 -0
  324. package/dist/factory/admin-sdk.js.map +1 -0
  325. package/dist/factory/ops-sdk.d.ts +74 -0
  326. package/dist/factory/ops-sdk.d.ts.map +1 -0
  327. package/dist/factory/ops-sdk.js +88 -0
  328. package/dist/factory/ops-sdk.js.map +1 -0
  329. package/dist/index.additional-client-types.d.ts +24 -0
  330. package/dist/index.additional-client-types.d.ts.map +1 -0
  331. package/dist/index.additional-client-types.js +16 -0
  332. package/dist/index.additional-client-types.js.map +1 -0
  333. package/dist/legacy/sdk-factory.d.ts +37 -0
  334. package/dist/legacy/sdk-factory.d.ts.map +1 -0
  335. package/dist/legacy/sdk-factory.js +36 -0
  336. package/dist/legacy/sdk-factory.js.map +1 -0
  337. package/dist/lib/context.d.ts +69 -0
  338. package/dist/lib/context.d.ts.map +1 -0
  339. package/dist/lib/context.js +225 -0
  340. package/dist/lib/context.js.map +1 -0
  341. package/dist/lib/db.d.ts +16 -0
  342. package/dist/lib/db.d.ts.map +1 -0
  343. package/dist/lib/db.js +50 -0
  344. package/dist/lib/db.js.map +1 -0
  345. package/dist/lib/logger.d.ts +14 -0
  346. package/dist/lib/logger.d.ts.map +1 -0
  347. package/dist/lib/logger.js +14 -0
  348. package/dist/lib/logger.js.map +1 -0
  349. package/dist/lib/opencode.d.ts +33 -0
  350. package/dist/lib/opencode.d.ts.map +1 -0
  351. package/dist/lib/opencode.js +101 -0
  352. package/dist/lib/opencode.js.map +1 -0
  353. package/dist/lib/utils.d.ts +18 -0
  354. package/dist/lib/utils.d.ts.map +1 -0
  355. package/dist/lib/utils.js +40 -0
  356. package/dist/lib/utils.js.map +1 -0
  357. package/dist/manifest.admin-entries-2.d.ts +9 -0
  358. package/dist/manifest.admin-entries-2.d.ts.map +1 -0
  359. package/dist/manifest.admin-entries-2.js +218 -0
  360. package/dist/manifest.admin-entries-2.js.map +1 -0
  361. package/dist/manifest.admin-entries.d.ts +10 -0
  362. package/dist/manifest.admin-entries.d.ts.map +1 -0
  363. package/dist/manifest.admin-entries.js +220 -0
  364. package/dist/manifest.admin-entries.js.map +1 -0
  365. package/dist/manifest.ops-entries.d.ts +8 -0
  366. package/dist/manifest.ops-entries.d.ts.map +1 -0
  367. package/dist/manifest.ops-entries.js +282 -0
  368. package/dist/manifest.ops-entries.js.map +1 -0
  369. package/dist/transport/ops-api-client.d.ts +80 -0
  370. package/dist/transport/ops-api-client.d.ts.map +1 -0
  371. package/dist/transport/ops-api-client.js +211 -0
  372. package/dist/transport/ops-api-client.js.map +1 -0
  373. package/package.json +1 -1
@@ -0,0 +1,68 @@
1
+ import type { HttpClient } from '../../transport/http-client.js';
2
+ /** F381: query params for the skill-execution list read (mirrors `listSkillExecutionsQuerySchema`). */
3
+ export interface ListSkillExecutionsParams {
4
+ project?: string;
5
+ status?: 'running' | 'completed' | 'failed';
6
+ integrationStatus?: 'pending' | 'merged' | 'discarded';
7
+ topLevelOnly?: boolean;
8
+ /** C856: scope to one task's own executions (the route already accepts this — see
9
+ * `listSkillExecutionsQuerySchema`) — the task-detail Metrics & Cost tab's Executions list. */
10
+ taskId?: string;
11
+ /** C909: scope to one agent's own executions (the route already accepts this — see
12
+ * `listSkillExecutionsQuerySchema`) — the Agent-Detail Activity tab's live-executions block. */
13
+ agentId?: string;
14
+ limit?: number;
15
+ }
16
+ /** F381/AC-4: query params for the instance list read. */
17
+ export interface ListInstancesParams {
18
+ project?: string;
19
+ /** Multi-valued (IN filter) — joined into the CSV `statuses` query param. */
20
+ statuses?: string[];
21
+ /** C856: scope to one task's own instances (the route already accepts this — see
22
+ * `listInstancesQuerySchema`) — the task-detail Metrics & Cost tab's Executions list. */
23
+ taskId?: string;
24
+ /** C909: scope to one agent's own instances (the route already accepts this — see
25
+ * `listInstancesQuerySchema`) — the Agent-Detail Activity tab's live-executions block. */
26
+ agentId?: string;
27
+ limit?: number;
28
+ }
29
+ /**
30
+ * AdminExecutionsClient — by-id drill-down reads for the F307 Execution Log UI, plus the F381
31
+ * Läufe view's cross-cutting list reads. Wraps existing routes (F381 adds no server endpoint
32
+ * except the AC-4 `statuses` filter on the pre-existing `/workflow-instances/instances`):
33
+ * - F308 `GET /workflow-instances/workflow-executions/:id` → `{ data: ExecutionDetail }`
34
+ * - `GET /skill-executions/:id` → `{ data: SkillExecution }` (mapped to ExecutionDetail by the
35
+ * consumer). Renamed from `/skills/:id` under FS54 Chore 6 (C567).
36
+ * - F381 `GET /skill-executions` → `{ data: SkillExecution[], total }` (renamed from `/skills`).
37
+ * - F381 `GET /workflow-instances/instances` → `{ data: WorkflowInstance[] }`
38
+ * - F381 `GET /workflow-instances/definitions/:id` → `{ data: WorkflowDefinition }` (name/type
39
+ * resolution for an instance row; existing route, not new).
40
+ *
41
+ * C568 (FS54/7): paths renamed from `/workflow-runner/*` to `/workflow-instances/*` — the
42
+ * consolidated canonical resource; no shape/contract change.
43
+ */
44
+ export declare class AdminExecutionsClient {
45
+ private readonly http;
46
+ constructor(http: HttpClient);
47
+ /** F308: unified ExecutionDetail for a SOP/workflow run by instance id. */
48
+ workflowDetail<T>(id: string): Promise<T>;
49
+ /** Raw skill execution by id; the platform service maps it to ExecutionDetail. */
50
+ skillExecution<T>(id: string): Promise<T>;
51
+ /** C352/AC-4: flattened friction occurrences for a project, grouped by repetition client-side. */
52
+ projectFrictions<T>(project: string): Promise<T>;
53
+ /** F381: raw skill-execution list (Live/Roster/Recent sections read this directly). */
54
+ listSkillExecutions<T>(params: ListSkillExecutionsParams): Promise<T>;
55
+ /** F381/AC-4: raw workflow-instance list, `statuses` joined into one CSV param. */
56
+ listInstances<T>(params: ListInstancesParams): Promise<T>;
57
+ /** F381: resolve a workflow instance's definition (name + type) for card display. */
58
+ getDefinition<T>(id: string): Promise<T>;
59
+ /**
60
+ * F424: vendor-gated force-terminate for a skill execution — distinct from the
61
+ * self-service `POST /skill-executions/:id/fail`. 403s for a non-vendor caller. Idempotent —
62
+ * safe to call again on an already-terminal execution. Renamed from
63
+ * `/admin/executions/:id/terminate` under FS54 Chore 6 (C567) — now a sub-path of the
64
+ * canonical resource.
65
+ */
66
+ terminate<T>(id: string): Promise<T>;
67
+ }
68
+ //# sourceMappingURL=executions.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executions.client.d.ts","sourceRoot":"","sources":["../../../src/clients/admin/executions.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAEhE,uGAAuG;AACvG,MAAM,WAAW,yBAAyB;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAA;IAC3C,iBAAiB,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAA;IACtD,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;oGACgG;IAChG,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;qGACiG;IACjG,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,0DAA0D;AAC1D,MAAM,WAAW,mBAAmB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB;8FAC0F;IAC1F,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;+FAC2F;IAC3F,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAYD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,qBAAqB;IAClB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,2EAA2E;IACrE,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAM/C,kFAAkF;IAC5E,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAI/C,kGAAkG;IAC5F,gBAAgB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAMtD,uFAAuF;IACjF,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,CAAC,CAAC;IAI3E,mFAAmF;IAC7E,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;IAO/D,qFAAqF;IAC/E,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAI9C;;;;;;OAMG;IACG,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAG7C"}
@@ -0,0 +1,67 @@
1
+ function qs(params) {
2
+ const p = new URLSearchParams();
3
+ for (const [k, v] of Object.entries(params)) {
4
+ if (v === undefined)
5
+ continue;
6
+ p.set(k, String(v));
7
+ }
8
+ const s = p.toString();
9
+ return s ? `?${s}` : '';
10
+ }
11
+ /**
12
+ * AdminExecutionsClient — by-id drill-down reads for the F307 Execution Log UI, plus the F381
13
+ * Läufe view's cross-cutting list reads. Wraps existing routes (F381 adds no server endpoint
14
+ * except the AC-4 `statuses` filter on the pre-existing `/workflow-instances/instances`):
15
+ * - F308 `GET /workflow-instances/workflow-executions/:id` → `{ data: ExecutionDetail }`
16
+ * - `GET /skill-executions/:id` → `{ data: SkillExecution }` (mapped to ExecutionDetail by the
17
+ * consumer). Renamed from `/skills/:id` under FS54 Chore 6 (C567).
18
+ * - F381 `GET /skill-executions` → `{ data: SkillExecution[], total }` (renamed from `/skills`).
19
+ * - F381 `GET /workflow-instances/instances` → `{ data: WorkflowInstance[] }`
20
+ * - F381 `GET /workflow-instances/definitions/:id` → `{ data: WorkflowDefinition }` (name/type
21
+ * resolution for an instance row; existing route, not new).
22
+ *
23
+ * C568 (FS54/7): paths renamed from `/workflow-runner/*` to `/workflow-instances/*` — the
24
+ * consolidated canonical resource; no shape/contract change.
25
+ */
26
+ export class AdminExecutionsClient {
27
+ http;
28
+ constructor(http) {
29
+ this.http = http;
30
+ }
31
+ /** F308: unified ExecutionDetail for a SOP/workflow run by instance id. */
32
+ async workflowDetail(id) {
33
+ return this.http.getEnvelope(`/workflow-instances/workflow-executions/${encodeURIComponent(id)}`);
34
+ }
35
+ /** Raw skill execution by id; the platform service maps it to ExecutionDetail. */
36
+ async skillExecution(id) {
37
+ return this.http.getEnvelope(`/skill-executions/${encodeURIComponent(id)}`);
38
+ }
39
+ /** C352/AC-4: flattened friction occurrences for a project, grouped by repetition client-side. */
40
+ async projectFrictions(project) {
41
+ return this.http.getEnvelope(`/skill-executions/frictions?project=${encodeURIComponent(project)}`);
42
+ }
43
+ /** F381: raw skill-execution list (Live/Roster/Recent sections read this directly). */
44
+ async listSkillExecutions(params) {
45
+ return this.http.getEnvelope(`/skill-executions${qs({ ...params })}`);
46
+ }
47
+ /** F381/AC-4: raw workflow-instance list, `statuses` joined into one CSV param. */
48
+ async listInstances(params) {
49
+ const { statuses, ...rest } = params;
50
+ return this.http.getEnvelope(`/workflow-instances/instances${qs({ ...rest, statuses: statuses?.join(',') })}`);
51
+ }
52
+ /** F381: resolve a workflow instance's definition (name + type) for card display. */
53
+ async getDefinition(id) {
54
+ return this.http.getEnvelope(`/workflow-instances/definitions/${encodeURIComponent(id)}`);
55
+ }
56
+ /**
57
+ * F424: vendor-gated force-terminate for a skill execution — distinct from the
58
+ * self-service `POST /skill-executions/:id/fail`. 403s for a non-vendor caller. Idempotent —
59
+ * safe to call again on an already-terminal execution. Renamed from
60
+ * `/admin/executions/:id/terminate` under FS54 Chore 6 (C567) — now a sub-path of the
61
+ * canonical resource.
62
+ */
63
+ async terminate(id) {
64
+ return this.http.post(`/skill-executions/${encodeURIComponent(id)}/terminate`);
65
+ }
66
+ }
67
+ //# sourceMappingURL=executions.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executions.client.js","sourceRoot":"","sources":["../../../src/clients/admin/executions.client.ts"],"names":[],"mappings":"AA+BA,SAAS,EAAE,CAAC,MAA6D;IACrE,MAAM,CAAC,GAAG,IAAI,eAAe,EAAE,CAAA;IAC/B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK,SAAS;YAAE,SAAQ;QAC7B,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAA;IACtB,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;AAC3B,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,qBAAqB;IACD;IAA7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,2EAA2E;IAC3E,KAAK,CAAC,cAAc,CAAI,EAAU;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CACxB,2CAA2C,kBAAkB,CAAC,EAAE,CAAC,EAAE,CACtE,CAAA;IACL,CAAC;IAED,kFAAkF;IAClF,KAAK,CAAC,cAAc,CAAI,EAAU;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAI,qBAAqB,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IAClF,CAAC;IAED,kGAAkG;IAClG,KAAK,CAAC,gBAAgB,CAAI,OAAe;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CACxB,uCAAuC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CACvE,CAAA;IACL,CAAC;IAED,uFAAuF;IACvF,KAAK,CAAC,mBAAmB,CAAI,MAAiC;QAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAI,oBAAoB,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;IAC5E,CAAC;IAED,mFAAmF;IACnF,KAAK,CAAC,aAAa,CAAI,MAA2B;QAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CACxB,gCAAgC,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CACnF,CAAA;IACL,CAAC;IAED,qFAAqF;IACrF,KAAK,CAAC,aAAa,CAAI,EAAU;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAI,mCAAmC,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IAChG,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CAAI,EAAU;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,qBAAqB,kBAAkB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAA;IACrF,CAAC;CACJ"}
@@ -0,0 +1,51 @@
1
+ import type { HttpClient } from '../../transport/http-client.js';
2
+ export interface GithubProxyResponse {
3
+ data: unknown;
4
+ status: number;
5
+ headers: Record<string, string>;
6
+ }
7
+ /**
8
+ * C935 AC-3: one GitHub Release, as surfaced by `releases()` below — the same shape the
9
+ * Portal's `GitHubServiceImpl.getReleases` maps to (Release, in
10
+ * apps/platform/src/services/GitHubService.ts), so a caller that already knows that shape
11
+ * (e.g. beacon-web/F39) gets an identical contract from the SDK.
12
+ */
13
+ export interface SdkRelease {
14
+ tag: string;
15
+ name: string;
16
+ timestamp: string;
17
+ url: string;
18
+ body?: string;
19
+ author?: string;
20
+ prerelease: boolean;
21
+ }
22
+ /**
23
+ * B499: `method` is narrowed to the read verbs the API actually forwards. The server
24
+ * refuses anything else with 403 METHOD_NOT_ALLOWED (`services/api/src/routes/github.ts`),
25
+ * because every proxied call travels under the server's GitHub PAT — a write verb here is
26
+ * an arbitrary write against any repository that token can reach. The wider
27
+ * `POST | PATCH | PUT | DELETE` union this type used to advertise had no caller: the
28
+ * portal's `GitHubServiceImpl` is the sole consumer and only ever issues `GET`.
29
+ */
30
+ export type GithubProxyMethod = 'GET' | 'HEAD';
31
+ export declare class AdminGithubProxyClient {
32
+ private readonly http;
33
+ constructor(http: HttpClient);
34
+ proxy(method: GithubProxyMethod, path: string, body?: unknown): Promise<GithubProxyResponse>;
35
+ /**
36
+ * C935 AC-3: project-scoped GitHub Releases read — `releases({project, limit})`
37
+ * resolves `project`'s own `config.github.repo` (the SAME project-config field the
38
+ * Portal's Releases panel already reads, `GET /projects/:slug`) and reuses the EXISTING
39
+ * GitHub-proxy query path (this class's own `proxy()`, → GitHub's `/repos/{repo}/
40
+ * releases` — the same upstream call `GitHubServiceImpl.getReleases` makes) rather than
41
+ * inventing a second GitHub-release data path. Works identically for ANY registered
42
+ * project (beacon-platform, beacon-web, ...) — the call shape never changes, only which
43
+ * project's repo gets resolved. Returns `[]` (never throws) when the project has no
44
+ * `config.github.repo` configured — a release-less project is not an error case.
45
+ */
46
+ releases(params: {
47
+ project: string;
48
+ limit?: number;
49
+ }): Promise<SdkRelease[]>;
50
+ }
51
+ //# sourceMappingURL=github-proxy.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-proxy.client.d.ts","sourceRoot":"","sources":["../../../src/clients/admin/github-proxy.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAGhE,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAClC;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,OAAO,CAAA;CACtB;AAkBD;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,MAAM,CAAA;AAE9C,qBAAa,sBAAsB;IACnB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEvC,KAAK,CACP,MAAM,EAAE,iBAAiB,EACzB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,mBAAmB,CAAC;IAI/B;;;;;;;;;;OAUG;IACG,QAAQ,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;CAuBrF"}
@@ -0,0 +1,55 @@
1
+ import { SdkError, statusToSdkCode } from '../../transport/errors.js';
2
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3
+ function mapGithubRelease(r) {
4
+ return {
5
+ tag: r.tag_name,
6
+ name: r.name || r.tag_name,
7
+ timestamp: r.published_at || r.created_at,
8
+ url: r.html_url,
9
+ // C937/AC-9: GitHub's `body` is nullable (an empty-body release sends `body: null`),
10
+ // but this contract only permits `string | undefined` — normalize `null` to
11
+ // `undefined` rather than leaking GitHub's own null-vs-undefined distinction.
12
+ body: r.body ?? undefined,
13
+ author: r.author?.login,
14
+ prerelease: r.prerelease,
15
+ };
16
+ }
17
+ export class AdminGithubProxyClient {
18
+ http;
19
+ constructor(http) {
20
+ this.http = http;
21
+ }
22
+ async proxy(method, path, body) {
23
+ return this.http.post('/github/proxy', { method, path, body });
24
+ }
25
+ /**
26
+ * C935 AC-3: project-scoped GitHub Releases read — `releases({project, limit})`
27
+ * resolves `project`'s own `config.github.repo` (the SAME project-config field the
28
+ * Portal's Releases panel already reads, `GET /projects/:slug`) and reuses the EXISTING
29
+ * GitHub-proxy query path (this class's own `proxy()`, → GitHub's `/repos/{repo}/
30
+ * releases` — the same upstream call `GitHubServiceImpl.getReleases` makes) rather than
31
+ * inventing a second GitHub-release data path. Works identically for ANY registered
32
+ * project (beacon-platform, beacon-web, ...) — the call shape never changes, only which
33
+ * project's repo gets resolved. Returns `[]` (never throws) when the project has no
34
+ * `config.github.repo` configured — a release-less project is not an error case.
35
+ */
36
+ async releases(params) {
37
+ const limit = params.limit ?? 10;
38
+ const projectResp = await this.http.get(`/projects/${encodeURIComponent(params.project)}`);
39
+ const github = projectResp?.config?.github;
40
+ const repo = github?.repo;
41
+ if (!repo)
42
+ return [];
43
+ const { data, status } = await this.proxy('GET', `/repos/${repo}/releases?per_page=${limit}`);
44
+ // C937/AC-9: `/github/proxy` itself always answers HTTP 200 — the REAL GitHub status
45
+ // travels in the payload's own `status` field. Discarding it turned a genuine GitHub
46
+ // 403/404/429/5xx into an indistinguishable `[]`, the exact same shape as "this
47
+ // project has no `config.github.repo`". Only a genuinely empty 2xx success (or the
48
+ // no-repo-configured early return above) may legitimately produce `[]`.
49
+ if (status < 200 || status >= 300) {
50
+ throw new SdkError(statusToSdkCode(status), `GitHub proxy request failed`, status);
51
+ }
52
+ return (Array.isArray(data) ? data : []).map(mapGithubRelease);
53
+ }
54
+ }
55
+ //# sourceMappingURL=github-proxy.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-proxy.client.js","sourceRoot":"","sources":["../../../src/clients/admin/github-proxy.client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAwBrE,8DAA8D;AAC9D,SAAS,gBAAgB,CAAC,CAAM;IAC5B,OAAO;QACH,GAAG,EAAE,CAAC,CAAC,QAAQ;QACf,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ;QAC1B,SAAS,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,UAAU;QACzC,GAAG,EAAE,CAAC,CAAC,QAAQ;QACf,qFAAqF;QACrF,4EAA4E;QAC5E,8EAA8E;QAC9E,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS;QACzB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK;QACvB,UAAU,EAAE,CAAC,CAAC,UAAU;KAC3B,CAAA;AACL,CAAC;AAYD,MAAM,OAAO,sBAAsB;IACF;IAA7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,KAAK,CAAC,KAAK,CACP,MAAyB,EACzB,IAAY,EACZ,IAAc;QAEd,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAsB,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IACvF,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,QAAQ,CAAC,MAA2C;QACtD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAA;QAChC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CACnC,aAAa,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CACpD,CAAA;QACD,MAAM,MAAM,GAAG,WAAW,EAAE,MAAM,EAAE,MAAuC,CAAA;QAC3E,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,CAAA;QACzB,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAA;QAEpB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CACrC,KAAK,EACL,UAAU,IAAI,sBAAsB,KAAK,EAAE,CAC9C,CAAA;QACD,qFAAqF;QACrF,qFAAqF;QACrF,gFAAgF;QAChF,mFAAmF;QACnF,wEAAwE;QACxE,IAAI,MAAM,GAAG,GAAG,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YAChC,MAAM,IAAI,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,6BAA6B,EAAE,MAAM,CAAC,CAAA;QACtF,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IAClE,CAAC;CACJ"}
@@ -0,0 +1,69 @@
1
+ import type { AgentContext, Memory, UpsertMemoryInput, MemoryType, MemoryTypeReadable, MemoryScope, DuplicateClusterResult } from '@beacon-build/core';
2
+ import type { HttpClient } from '../../transport/http-client.js';
3
+ export interface MemoryListResult {
4
+ data: Memory[];
5
+ meta: {
6
+ total: number;
7
+ page?: number;
8
+ limit?: number;
9
+ };
10
+ }
11
+ export declare class AdminMemoriesClient {
12
+ private readonly http;
13
+ constructor(http: HttpClient);
14
+ upsert(context: AgentContext, input: UpsertMemoryInput): Promise<Memory>;
15
+ findForSession(context: AgentContext, opts?: {
16
+ limit?: number;
17
+ }): Promise<Memory[]>;
18
+ list(context: AgentContext, filter?: {
19
+ type?: MemoryType;
20
+ scope?: MemoryScope;
21
+ limit?: number;
22
+ staleUnusedDays?: number;
23
+ }): Promise<Memory[]>;
24
+ delete(context: AgentContext, memoryId: string): Promise<boolean>;
25
+ deleteByKey(context: AgentContext, key: string, opts?: {
26
+ global?: boolean;
27
+ }): Promise<boolean>;
28
+ searchByVector(context: AgentContext, embedding: number[], opts?: {
29
+ limit?: number;
30
+ global?: boolean;
31
+ }): Promise<Memory[]>;
32
+ /**
33
+ * List memories filtered by agentId and/or project — for admin UI use.
34
+ * Unlike `list()`, this does not require an AgentContext.
35
+ *
36
+ * C460/AC-1/AC-3: `type`/`scope`/`unusedDays`/`offset` added so the Portal Memory
37
+ * Tab can fetch the anchor (`type: 'anchor', scope: 'all'`, AC-1) and the stale/
38
+ * never-applied filter (`unusedDays`, AC-3) without a second bespoke endpoint —
39
+ * these already exist on GET /memories (C458/AC-9, F403/AC-6, B364), just not
40
+ * wired through this admin-UI method before.
41
+ */
42
+ listByFilter(filter: {
43
+ agentId?: string;
44
+ project?: string;
45
+ limit?: number;
46
+ type?: MemoryTypeReadable;
47
+ scope?: MemoryScope;
48
+ unusedDays?: number;
49
+ offset?: number;
50
+ }): Promise<Memory[]>;
51
+ /**
52
+ * List memories filtered by agentId and/or project, with pagination metadata (total
53
+ * count) — C814: powers the lightweight Memory-tab badge count, mirrors
54
+ * AdminDocumentsClient.listPaged (`limit: 1` + read `meta.total`, no full payload).
55
+ */
56
+ listPaged(filter: {
57
+ agentId?: string;
58
+ project?: string;
59
+ limit?: number;
60
+ type?: MemoryTypeReadable;
61
+ scope?: MemoryScope;
62
+ }): Promise<MemoryListResult>;
63
+ /** C460/AC-4/AC-5: duplicate clusters + contradiction pairs for the Portal Memory Tab. */
64
+ clusters(filter: {
65
+ agentId: string;
66
+ project?: string;
67
+ }): Promise<DuplicateClusterResult>;
68
+ }
69
+ //# sourceMappingURL=memories.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memories.client.d.ts","sourceRoot":"","sources":["../../../src/clients/admin/memories.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,YAAY,EACZ,MAAM,EACN,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,sBAAsB,EACzB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAEhE,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACzD;AAED,qBAAa,mBAAmB;IAChB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEvC,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAQxE,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAUnF,IAAI,CACN,OAAO,EAAE,YAAY,EACrB,MAAM,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,UAAU,CAAA;QACjB,KAAK,CAAC,EAAE,WAAW,CAAA;QACnB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,eAAe,CAAC,EAAE,MAAM,CAAA;KAC3B,GACF,OAAO,CAAC,MAAM,EAAE,CAAC;IAcd,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWjE,WAAW,CACb,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5B,OAAO,CAAC,OAAO,CAAC;IAab,cAAc,CAChB,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,MAAM,EAAE,EACnB,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5C,OAAO,CAAC,MAAM,EAAE,CAAC;IASpB;;;;;;;;;OASG;IACG,YAAY,CAAC,MAAM,EAAE;QACvB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,kBAAkB,CAAA;QACzB,KAAK,CAAC,EAAE,WAAW,CAAA;QACnB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,MAAM,CAAC,EAAE,MAAM,CAAA;KAClB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAYrB;;;;OAIG;IACG,SAAS,CAAC,MAAM,EAAE;QACpB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,kBAAkB,CAAA;QACzB,KAAK,CAAC,EAAE,WAAW,CAAA;KACtB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAU7B,0FAA0F;IACpF,QAAQ,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAMjG"}
@@ -0,0 +1,126 @@
1
+ export class AdminMemoriesClient {
2
+ http;
3
+ constructor(http) {
4
+ this.http = http;
5
+ }
6
+ async upsert(context, input) {
7
+ return this.http.post('/memories', {
8
+ ...input,
9
+ agentId: context.agentId,
10
+ project: context.project,
11
+ });
12
+ }
13
+ async findForSession(context, opts) {
14
+ const params = new URLSearchParams();
15
+ params.set('agentId', context.agentId);
16
+ // F428: org-scoped agent context has no single project — '' matches the pre-F428
17
+ // behavior for a project-less caller (out of F428's scope to redesign).
18
+ params.set('project', context.project ?? '');
19
+ if (opts?.limit != null)
20
+ params.set('limit', String(opts.limit));
21
+ return this.http.get(`/memories/for-session?${params.toString()}`);
22
+ }
23
+ async list(context, filter) {
24
+ const params = new URLSearchParams();
25
+ params.set('agentId', context.agentId);
26
+ // F428: org-scoped agent context has no single project — '' matches the pre-F428
27
+ // behavior for a project-less caller (out of F428's scope to redesign).
28
+ params.set('project', context.project ?? '');
29
+ if (filter?.type)
30
+ params.set('type', filter.type);
31
+ if (filter?.scope)
32
+ params.set('scope', filter.scope);
33
+ if (filter?.limit != null)
34
+ params.set('limit', String(filter.limit));
35
+ if (filter?.staleUnusedDays != null)
36
+ params.set('staleUnusedDays', String(filter.staleUnusedDays));
37
+ return this.http.get(`/memories?${params.toString()}`);
38
+ }
39
+ async delete(context, memoryId) {
40
+ try {
41
+ await this.http.delete(`/memories/${encodeURIComponent(memoryId)}?agentId=${encodeURIComponent(context.agentId)}`);
42
+ return true;
43
+ }
44
+ catch {
45
+ return false;
46
+ }
47
+ }
48
+ async deleteByKey(context, key, opts) {
49
+ const params = new URLSearchParams();
50
+ params.set('agentId', context.agentId);
51
+ params.set('key', key);
52
+ if (!opts?.global && context.project)
53
+ params.set('project', context.project);
54
+ try {
55
+ await this.http.delete(`/memories/by-key?${params.toString()}`);
56
+ return true;
57
+ }
58
+ catch {
59
+ return false;
60
+ }
61
+ }
62
+ async searchByVector(context, embedding, opts) {
63
+ return this.http.post('/memories/search-by-vector', {
64
+ agentId: context.agentId,
65
+ embedding,
66
+ project: opts?.global ? null : context.project || null,
67
+ limit: opts?.limit,
68
+ });
69
+ }
70
+ /**
71
+ * List memories filtered by agentId and/or project — for admin UI use.
72
+ * Unlike `list()`, this does not require an AgentContext.
73
+ *
74
+ * C460/AC-1/AC-3: `type`/`scope`/`unusedDays`/`offset` added so the Portal Memory
75
+ * Tab can fetch the anchor (`type: 'anchor', scope: 'all'`, AC-1) and the stale/
76
+ * never-applied filter (`unusedDays`, AC-3) without a second bespoke endpoint —
77
+ * these already exist on GET /memories (C458/AC-9, F403/AC-6, B364), just not
78
+ * wired through this admin-UI method before.
79
+ */
80
+ async listByFilter(filter) {
81
+ const params = new URLSearchParams();
82
+ if (filter.agentId)
83
+ params.set('agent_id', filter.agentId);
84
+ if (filter.project)
85
+ params.set('project', filter.project);
86
+ if (filter.limit != null)
87
+ params.set('limit', String(filter.limit));
88
+ if (filter.type)
89
+ params.set('type', filter.type);
90
+ if (filter.scope)
91
+ params.set('scope', filter.scope);
92
+ if (filter.unusedDays != null)
93
+ params.set('unusedDays', String(filter.unusedDays));
94
+ if (filter.offset != null)
95
+ params.set('offset', String(filter.offset));
96
+ return this.http.get(`/memories?${params.toString()}`);
97
+ }
98
+ /**
99
+ * List memories filtered by agentId and/or project, with pagination metadata (total
100
+ * count) — C814: powers the lightweight Memory-tab badge count, mirrors
101
+ * AdminDocumentsClient.listPaged (`limit: 1` + read `meta.total`, no full payload).
102
+ */
103
+ async listPaged(filter) {
104
+ const params = new URLSearchParams();
105
+ if (filter.agentId)
106
+ params.set('agent_id', filter.agentId);
107
+ if (filter.project)
108
+ params.set('project', filter.project);
109
+ if (filter.limit != null)
110
+ params.set('limit', String(filter.limit));
111
+ if (filter.type)
112
+ params.set('type', filter.type);
113
+ if (filter.scope)
114
+ params.set('scope', filter.scope);
115
+ return this.http.getEnvelope(`/memories?${params.toString()}`);
116
+ }
117
+ /** C460/AC-4/AC-5: duplicate clusters + contradiction pairs for the Portal Memory Tab. */
118
+ async clusters(filter) {
119
+ const params = new URLSearchParams();
120
+ params.set('agentId', filter.agentId);
121
+ if (filter.project)
122
+ params.set('project', filter.project);
123
+ return this.http.get(`/memories/clusters?${params.toString()}`);
124
+ }
125
+ }
126
+ //# sourceMappingURL=memories.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memories.client.js","sourceRoot":"","sources":["../../../src/clients/admin/memories.client.ts"],"names":[],"mappings":"AAgBA,MAAM,OAAO,mBAAmB;IACC;IAA7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,KAAK,CAAC,MAAM,CAAC,OAAqB,EAAE,KAAwB;QACxD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAS,WAAW,EAAE;YACvC,GAAG,KAAK;YACR,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;SAC3B,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAqB,EAAE,IAAyB;QACjE,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;QACpC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QACtC,iFAAiF;QACjF,wEAAwE;QACxE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;QAC5C,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,yBAAyB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAChF,CAAC;IAED,KAAK,CAAC,IAAI,CACN,OAAqB,EACrB,MAKC;QAED,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;QACpC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QACtC,iFAAiF;QACjF,wEAAwE;QACxE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;QAC5C,IAAI,MAAM,EAAE,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QACjD,IAAI,MAAM,EAAE,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QACpD,IAAI,MAAM,EAAE,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACpE,IAAI,MAAM,EAAE,eAAe,IAAI,IAAI;YAC/B,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAA;QACjE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,aAAa,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACpE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAqB,EAAE,QAAgB;QAChD,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAClB,aAAa,kBAAkB,CAAC,QAAQ,CAAC,YAAY,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAC7F,CAAA;YACD,OAAO,IAAI,CAAA;QACf,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAA;QAChB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CACb,OAAqB,EACrB,GAAW,EACX,IAA2B;QAE3B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;QACpC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QACtC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACtB,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,OAAO,CAAC,OAAO;YAAE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QAC5E,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YAC/D,OAAO,IAAI,CAAA;QACf,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAA;QAChB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAChB,OAAqB,EACrB,SAAmB,EACnB,IAA2C;QAE3C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAW,4BAA4B,EAAE;YAC1D,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,SAAS;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI;YACtD,KAAK,EAAE,IAAI,EAAE,KAAK;SACrB,CAAC,CAAA;IACN,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,YAAY,CAAC,MAQlB;QACG,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;QACpC,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAC1D,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QACzD,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACnE,IAAI,MAAM,CAAC,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QAChD,IAAI,MAAM,CAAC,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QACnD,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;QAClF,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QACtE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,aAAa,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACpE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,MAMf;QACG,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;QACpC,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAC1D,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QACzD,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACnE,IAAI,MAAM,CAAC,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QAChD,IAAI,MAAM,CAAC,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QACnD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAmB,aAAa,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACpF,CAAC;IAED,0FAA0F;IAC1F,KAAK,CAAC,QAAQ,CAAC,MAA6C;QACxD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;QACpC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QACrC,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QACzD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAyB,sBAAsB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAC3F,CAAC;CACJ"}
@@ -0,0 +1,80 @@
1
+ import type { HttpClient } from '../../transport/http-client.js';
2
+ /**
3
+ * AdminMetricsClient — C823.
4
+ *
5
+ * Typed SDK access to F515's aggregated request-metering read API
6
+ * (`GET /api/v1/metrics/requests`) and C796's aggregated campaign-analytics read API
7
+ * (`GET /api/v1/metrics/campaigns`) — both mounted on `userV1` behind
8
+ * `requireProjectOwnershipQuery('project')` (services/api/src/app/routes.ts), same
9
+ * auth/ownership posture as `AdminUsageClient`. `campaigns()` deliberately shares this
10
+ * client (not a separate `campaign-events.client.ts`) — B762/AC-2 asked for it to match
11
+ * `requests()`'s shape/conventions exactly, and both routes share the identical
12
+ * user-JWT + project-ownership guard family (unlike the anonymous ingest endpoint,
13
+ * `POST /api/v1/campaign-events`, which is Ops-SDK-reachable instead — see
14
+ * `clients/ops/campaign-events-ops.client.ts`).
15
+ */
16
+ export declare const METRICS_REQUESTS_GROUP_BY: readonly ["routeTemplate", "path", "method", "statusClass", "actorId"];
17
+ export type MetricsRequestsGroupBy = (typeof METRICS_REQUESTS_GROUP_BY)[number];
18
+ export interface MetricsRequestsFilter {
19
+ project?: string;
20
+ org?: string;
21
+ /** ISO-8601 timestamp. */
22
+ since: string;
23
+ /** ISO-8601 timestamp. */
24
+ until: string;
25
+ groupBy: MetricsRequestsGroupBy;
26
+ }
27
+ export interface MetricsRow {
28
+ key: string;
29
+ requestCount: number;
30
+ errorCount: number;
31
+ avgDurationMs: number;
32
+ /** F478/AC-17 convention, reused verbatim: 'complete' = reconciled/exact,
33
+ * 'inflated' = live-flush-only/provisional — see `meta.reconciledThrough`. */
34
+ coverage: 'complete' | 'inflated';
35
+ }
36
+ export interface MetricsRequestsResult {
37
+ data: MetricsRow[];
38
+ meta: {
39
+ reconciledThrough: string | null;
40
+ };
41
+ }
42
+ export declare const CAMPAIGN_METRICS_GROUP_BY: readonly ["campaign", "channel", "referrerDomain", "eventType"];
43
+ export type CampaignMetricsGroupBy = (typeof CAMPAIGN_METRICS_GROUP_BY)[number];
44
+ export declare const CAMPAIGN_METRICS_EVENT_TYPES: readonly ["pageview", "lead_conversion"];
45
+ export type CampaignMetricsEventType = (typeof CAMPAIGN_METRICS_EVENT_TYPES)[number];
46
+ export interface CampaignMetricsFilter {
47
+ project: string;
48
+ /** `YYYY-MM-DD` (day-grain, per `campaign_metrics_rollup`'s `bucket_start`). */
49
+ since: string;
50
+ /** `YYYY-MM-DD`. */
51
+ until: string;
52
+ groupBy: CampaignMetricsGroupBy;
53
+ /** C837: optional filter — split any `groupBy` (e.g. `campaign`) into a
54
+ * pageviews-vs-leads breakdown per key via two filtered calls, instead of only
55
+ * globally via `groupBy=eventType`. */
56
+ eventType?: CampaignMetricsEventType;
57
+ }
58
+ export interface CampaignMetricsRow {
59
+ key: string;
60
+ count: number;
61
+ }
62
+ export declare class AdminMetricsClient {
63
+ private readonly http;
64
+ constructor(http: HttpClient);
65
+ /**
66
+ * GET /api/v1/metrics/requests — F515/AC-13. Returns the `{ data, meta }` envelope
67
+ * as-is (not auto-unwrapped) — `meta.reconciledThrough` is load-bearing (AC-9/AC-10:
68
+ * a caller computing anything billing-relevant MUST filter to `coverage: 'complete'`
69
+ * rows and/or windows before the watermark), so this uses `getEnvelope` rather than
70
+ * `get` (which would silently drop `meta`).
71
+ */
72
+ requests(filter: MetricsRequestsFilter): Promise<MetricsRequestsResult>;
73
+ /**
74
+ * GET /api/v1/metrics/campaigns — C796/AC-4. `{ data: CampaignMetricsRow[] }` only
75
+ * (no `meta`/watermark — campaign analytics has no reconciliation job, § C796
76
+ * Architecture Simplification) — `get` unwraps to the bare row array.
77
+ */
78
+ campaigns(filter: CampaignMetricsFilter): Promise<CampaignMetricsRow[]>;
79
+ }
80
+ //# sourceMappingURL=metrics.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.client.d.ts","sourceRoot":"","sources":["../../../src/clients/admin/metrics.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAEhE;;;;;;;;;;;;;GAaG;AAKH,eAAO,MAAM,yBAAyB,wEAM5B,CAAA;AACV,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE/E,MAAM,WAAW,qBAAqB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,sBAAsB,CAAA;CAClC;AAED,MAAM,WAAW,UAAU;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB;mFAC+E;IAC/E,QAAQ,EAAE,UAAU,GAAG,UAAU,CAAA;CACpC;AAED,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAE,UAAU,EAAE,CAAA;IAClB,IAAI,EAAE;QAAE,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;CAC7C;AAID,eAAO,MAAM,yBAAyB,iEAK5B,CAAA;AACV,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE/E,eAAO,MAAM,4BAA4B,0CAA2C,CAAA;AACpF,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAA;AAEpF,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAA;IACb,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,sBAAsB,CAAA;IAC/B;;4CAEwC;IACxC,SAAS,CAAC,EAAE,wBAAwB,CAAA;CACvC;AAED,MAAM,WAAW,kBAAkB;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,kBAAkB;IACf,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C;;;;;;OAMG;IACG,QAAQ,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAY7E;;;;OAIG;IACG,SAAS,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;CAShF"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * AdminMetricsClient — C823.
3
+ *
4
+ * Typed SDK access to F515's aggregated request-metering read API
5
+ * (`GET /api/v1/metrics/requests`) and C796's aggregated campaign-analytics read API
6
+ * (`GET /api/v1/metrics/campaigns`) — both mounted on `userV1` behind
7
+ * `requireProjectOwnershipQuery('project')` (services/api/src/app/routes.ts), same
8
+ * auth/ownership posture as `AdminUsageClient`. `campaigns()` deliberately shares this
9
+ * client (not a separate `campaign-events.client.ts`) — B762/AC-2 asked for it to match
10
+ * `requests()`'s shape/conventions exactly, and both routes share the identical
11
+ * user-JWT + project-ownership guard family (unlike the anonymous ingest endpoint,
12
+ * `POST /api/v1/campaign-events`, which is Ops-SDK-reachable instead — see
13
+ * `clients/ops/campaign-events-ops.client.ts`).
14
+ */
15
+ // ── GET /v1/metrics/requests (F515/AC-13) ───────────────────────────────────────
16
+ // C838: 'path' added — F26's beacon-web per-page dashboard query.
17
+ export const METRICS_REQUESTS_GROUP_BY = [
18
+ 'routeTemplate',
19
+ 'path',
20
+ 'method',
21
+ 'statusClass',
22
+ 'actorId',
23
+ ];
24
+ // ── GET /v1/metrics/campaigns (C796/AC-4) ───────────────────────────────────────
25
+ export const CAMPAIGN_METRICS_GROUP_BY = [
26
+ 'campaign',
27
+ 'channel',
28
+ 'referrerDomain',
29
+ 'eventType',
30
+ ];
31
+ export const CAMPAIGN_METRICS_EVENT_TYPES = ['pageview', 'lead_conversion'];
32
+ export class AdminMetricsClient {
33
+ http;
34
+ constructor(http) {
35
+ this.http = http;
36
+ }
37
+ /**
38
+ * GET /api/v1/metrics/requests — F515/AC-13. Returns the `{ data, meta }` envelope
39
+ * as-is (not auto-unwrapped) — `meta.reconciledThrough` is load-bearing (AC-9/AC-10:
40
+ * a caller computing anything billing-relevant MUST filter to `coverage: 'complete'`
41
+ * rows and/or windows before the watermark), so this uses `getEnvelope` rather than
42
+ * `get` (which would silently drop `meta`).
43
+ */
44
+ async requests(filter) {
45
+ const params = new URLSearchParams();
46
+ if (filter.project)
47
+ params.set('project', filter.project);
48
+ if (filter.org)
49
+ params.set('org', filter.org);
50
+ params.set('since', filter.since);
51
+ params.set('until', filter.until);
52
+ params.set('groupBy', filter.groupBy);
53
+ return this.http.getEnvelope(`/metrics/requests?${params.toString()}`);
54
+ }
55
+ /**
56
+ * GET /api/v1/metrics/campaigns — C796/AC-4. `{ data: CampaignMetricsRow[] }` only
57
+ * (no `meta`/watermark — campaign analytics has no reconciliation job, § C796
58
+ * Architecture Simplification) — `get` unwraps to the bare row array.
59
+ */
60
+ async campaigns(filter) {
61
+ const params = new URLSearchParams();
62
+ params.set('project', filter.project);
63
+ params.set('since', filter.since);
64
+ params.set('until', filter.until);
65
+ params.set('groupBy', filter.groupBy);
66
+ if (filter.eventType)
67
+ params.set('eventType', filter.eventType);
68
+ return this.http.get(`/metrics/campaigns?${params.toString()}`);
69
+ }
70
+ }
71
+ //# sourceMappingURL=metrics.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.client.js","sourceRoot":"","sources":["../../../src/clients/admin/metrics.client.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AAEH,mFAAmF;AAEnF,kEAAkE;AAClE,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACrC,eAAe;IACf,MAAM;IACN,QAAQ;IACR,aAAa;IACb,SAAS;CACH,CAAA;AA4BV,mFAAmF;AAEnF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACrC,UAAU;IACV,SAAS;IACT,gBAAgB;IAChB,WAAW;CACL,CAAA;AAGV,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAU,CAAA;AAqBpF,MAAM,OAAO,kBAAkB;IACE;IAA7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ,CAAC,MAA6B;QACxC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;QACpC,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QACzD,IAAI,MAAM,CAAC,GAAG;YAAE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;QAC7C,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QACjC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QACjC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CACxB,qBAAqB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAC3C,CAAA;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,MAA6B;QACzC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;QACpC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QACrC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QACjC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QACjC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QACrC,IAAI,MAAM,CAAC,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;QAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAuB,sBAAsB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACzF,CAAC;CACJ"}