@opengeni/api-router 0.30.3 → 1.0.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 (434) hide show
  1. package/dist/access-grant-rls.d.ts +3 -0
  2. package/dist/admission-trace.d.ts +8 -0
  3. package/dist/api-websocket.d.ts +18 -0
  4. package/dist/app.d.ts +50 -2
  5. package/dist/app.js +12 -1
  6. package/dist/artifact-catalog-cursor.d.ts +27 -0
  7. package/dist/auth/managed-auth-attempt-context.d.ts +10 -0
  8. package/dist/auth/managed-auth-rate-limits.d.ts +167 -0
  9. package/dist/auth/managed-auth-session-adapter.d.ts +6 -0
  10. package/dist/auth/managed-auth.d.ts +102 -3
  11. package/dist/auth/managed-email.d.ts +29 -0
  12. package/dist/auth/managed-sign-in-notifications.d.ts +4 -0
  13. package/dist/auth/new-signups-gate.d.ts +23 -0
  14. package/dist/auth/organization-user-setup.d.ts +80 -0
  15. package/dist/auth/signup-funnel-metrics.d.ts +44 -0
  16. package/dist/browser-controller-authority.d.ts +1 -61
  17. package/dist/browser-ephemeral.d.ts +5 -0
  18. package/dist/browser-state-authority.d.ts +1 -27
  19. package/dist/chunk-6TZ5LG3O.js +123948 -0
  20. package/dist/chunk-6TZ5LG3O.js.map +1 -0
  21. package/dist/chunk-OGQDXVXY.js +18 -0
  22. package/dist/chunk-OGQDXVXY.js.map +1 -0
  23. package/dist/claude-subscription-account-conflicts.d.ts +1 -0
  24. package/dist/claude-subscription-account-usage.d.ts +39 -0
  25. package/dist/claude-subscription-oauth.d.ts +25 -0
  26. package/dist/claude-subscription-profile.d.ts +9 -0
  27. package/dist/claude-subscription-usage.d.ts +44 -0
  28. package/dist/claude-workspace-connection.d.ts +15 -0
  29. package/dist/codemode.d.ts +32 -1
  30. package/dist/company-brain-okf.d.ts +24 -0
  31. package/dist/connected-machine-computer-access.d.ts +11 -0
  32. package/dist/connection-ownership.d.ts +54 -0
  33. package/dist/controller-data-plane.d.ts +32 -0
  34. package/dist/editable-artifact-source-session.d.ts +3 -0
  35. package/dist/editable-artifact-websocket.d.ts +10 -18
  36. package/dist/editable-artifact-workspace-files.d.ts +1 -1
  37. package/dist/fatal-process-boundary.d.ts +25 -0
  38. package/dist/github-access.d.ts +31 -2
  39. package/dist/http/acting-person.d.ts +24 -0
  40. package/dist/http/api-contract-compat.d.ts +19 -0
  41. package/dist/http/api-error.d.ts +27 -1
  42. package/dist/http/cors.d.ts +17 -0
  43. package/dist/http/deprecation.d.ts +42 -0
  44. package/dist/http/interaction-control-error.d.ts +13 -0
  45. package/dist/http/keyed-admission.d.ts +12 -0
  46. package/dist/http/local-browser-boundary.d.ts +72 -0
  47. package/dist/http/metrics-listener.d.ts +22 -0
  48. package/dist/http/path-identifier.d.ts +17 -0
  49. package/dist/http/registered-route-label.d.ts +16 -0
  50. package/dist/http/request-body.d.ts +27 -0
  51. package/dist/http/request-source.d.ts +52 -0
  52. package/dist/http/sse.d.ts +17 -6
  53. package/dist/http/unmatched-route.d.ts +18 -0
  54. package/dist/http/user-content.d.ts +36 -0
  55. package/dist/http/websocket-upgrade-dispatch.d.ts +18 -0
  56. package/dist/index.d.ts +10 -3
  57. package/dist/index.js +1091 -162
  58. package/dist/index.js.map +1 -1
  59. package/dist/integration-endpoint-test.d.ts +20 -0
  60. package/dist/integrations/api-integrations.d.ts +2 -2
  61. package/dist/integrations/atlassian.d.ts +29 -3
  62. package/dist/integrations/connect-authority.d.ts +1 -0
  63. package/dist/integrations/connect-callback-return.d.ts +6 -0
  64. package/dist/integrations/fiken.d.ts +16 -2
  65. package/dist/integrations/github-app-connect.d.ts +47 -0
  66. package/dist/integrations/github-installation-proof.d.ts +3 -0
  67. package/dist/integrations/github-lens-connect.d.ts +116 -0
  68. package/dist/integrations/github-skill-source.d.ts +1 -5
  69. package/dist/integrations/google-drive.d.ts +24 -0
  70. package/dist/integrations/integration-commit-authority.d.ts +13 -0
  71. package/dist/integrations/marketplace-plugin.d.ts +2691 -0
  72. package/dist/integrations/oauth-client.d.ts +178 -18
  73. package/dist/integrations/oauth-profiles.d.ts +222 -0
  74. package/dist/integrations/oauth-return-path.d.ts +1 -0
  75. package/dist/integrations/personal-github-repositories.d.ts +84 -0
  76. package/dist/integrations/personal-github.d.ts +42 -0
  77. package/dist/integrations/pr-review-provider.d.ts +22 -0
  78. package/dist/integrations/provider-oauth.d.ts +19 -1
  79. package/dist/integrations/slack-app-home.d.ts +24 -0
  80. package/dist/integrations/slack-bot.d.ts +367 -12
  81. package/dist/integrations/slack-file-upload-flow.d.ts +62 -0
  82. package/dist/integrations/slack-install.d.ts +20 -0
  83. package/dist/integrations/slack-interactions.d.ts +107 -9
  84. package/dist/integrations/slack-mrkdwn.d.ts +41 -0
  85. package/dist/integrations/slack-routing.d.ts +120 -0
  86. package/dist/integrations/slack-session-defaults.d.ts +58 -0
  87. package/dist/integrations/slack-task-file-upload.d.ts +36 -0
  88. package/dist/integrations/social-oauth.d.ts +7 -0
  89. package/dist/interaction-agent-access.d.ts +15 -0
  90. package/dist/interaction-frame-proxy.d.ts +68 -0
  91. package/dist/interaction-metrics.d.ts +2 -0
  92. package/dist/mcp/action-catalog-types.d.ts +9 -0
  93. package/dist/mcp/action-catalog.gen.d.ts +2 -0
  94. package/dist/mcp/capability-account-readiness.d.ts +7 -0
  95. package/dist/mcp/child-read-evidence.d.ts +9 -0
  96. package/dist/mcp/command-read.d.ts +24 -0
  97. package/dist/mcp/company-profile-agent-admin.d.ts +44 -0
  98. package/dist/mcp/contract-input.d.ts +11 -0
  99. package/dist/mcp/documents.d.ts +7 -5
  100. package/dist/mcp/files.d.ts +2 -2
  101. package/dist/mcp/first-party-tool-permissions.d.ts +650 -0
  102. package/dist/mcp/knowledge-entries.d.ts +5 -0
  103. package/dist/mcp/orchestration-failure-diagnostic.d.ts +43 -0
  104. package/dist/mcp/receipts.d.ts +9 -0
  105. package/dist/mcp/request-abort.d.ts +19 -0
  106. package/dist/mcp/scheduled-task-input.d.ts +1189 -0
  107. package/dist/mcp/scheduled-task-view.d.ts +22 -4
  108. package/dist/mcp/server.d.ts +255 -3
  109. package/dist/mcp/session-event-view.d.ts +94 -0
  110. package/dist/mcp/session-view.d.ts +66 -2
  111. package/dist/mcp/session-wait.d.ts +174 -0
  112. package/dist/mcp-oauth.d.ts +52 -0
  113. package/dist/model-catalog.d.ts +11 -31
  114. package/dist/observability.d.ts +3 -1
  115. package/dist/organization-mcp.d.ts +52 -0
  116. package/dist/organization-recovery-notifications.d.ts +41 -0
  117. package/dist/routes/analytics-consent.d.ts +26 -0
  118. package/dist/routes/api-integrations.d.ts +25 -0
  119. package/dist/routes/api-keys.d.ts +17 -0
  120. package/dist/routes/artifact-catalog.d.ts +6 -0
  121. package/dist/routes/automations.d.ts +19 -0
  122. package/dist/routes/billing.d.ts +49 -0
  123. package/dist/routes/browser-sessions.d.ts +59 -2
  124. package/dist/routes/claude-subscription-accounts.d.ts +3 -0
  125. package/dist/routes/claude-subscription-oauth.d.ts +3 -0
  126. package/dist/routes/client-errors.d.ts +146 -0
  127. package/dist/routes/codex.d.ts +76 -2
  128. package/dist/routes/company-brain.d.ts +3 -0
  129. package/dist/routes/company-profile.d.ts +2 -1
  130. package/dist/routes/computer-sessions.d.ts +14 -0
  131. package/dist/routes/connect.d.ts +5 -0
  132. package/dist/routes/editable-artifacts.d.ts +2 -0
  133. package/dist/routes/external-identity-links.d.ts +6 -0
  134. package/dist/routes/feedback.d.ts +3 -0
  135. package/dist/routes/github-browser-pages.d.ts +12 -0
  136. package/dist/routes/github.d.ts +2 -0
  137. package/dist/routes/insights-response-cache.d.ts +10 -0
  138. package/dist/routes/insights-usage.d.ts +12 -0
  139. package/dist/routes/insights.d.ts +30 -1
  140. package/dist/routes/knowledge.d.ts +3 -0
  141. package/dist/routes/managed-auth-session-sets.d.ts +26 -0
  142. package/dist/routes/managed-onboarding.d.ts +29 -0
  143. package/dist/routes/managed-sign-in-methods.d.ts +6 -0
  144. package/dist/routes/model-connection-access.d.ts +3 -0
  145. package/dist/routes/organization-integration-policy.d.ts +3 -0
  146. package/dist/routes/organization-integrations.d.ts +6 -0
  147. package/dist/routes/organization-mcp-connections.d.ts +3 -0
  148. package/dist/routes/organization-model-providers.d.ts +3 -0
  149. package/dist/routes/organization-recovery.d.ts +19 -0
  150. package/dist/routes/organization-service-accounts.d.ts +3 -0
  151. package/dist/routes/organization-sessions.d.ts +26 -0
  152. package/dist/routes/personal-github-git-broker.d.ts +29 -0
  153. package/dist/routes/personal-github.d.ts +3 -0
  154. package/dist/routes/pr-review-github.d.ts +3 -0
  155. package/dist/routes/pr-review.d.ts +3 -0
  156. package/dist/routes/session-artifact-associations.d.ts +4 -0
  157. package/dist/routes/session-history-imports.d.ts +9 -0
  158. package/dist/routes/sessions.d.ts +44 -6
  159. package/dist/routes/skill-content.d.ts +4 -0
  160. package/dist/routes/skill-install-authority.d.ts +6 -0
  161. package/dist/routes/subscription-account-pools.d.ts +34 -0
  162. package/dist/routes/subscription-pool-access.d.ts +16 -0
  163. package/dist/routes/supergrok.d.ts +6 -1
  164. package/dist/routes/usage-allowances.d.ts +12 -0
  165. package/dist/routes/user-resource-authorities.d.ts +3 -0
  166. package/dist/routes/workspace-artifacts.d.ts +2 -1
  167. package/dist/routes/workspace-capture.d.ts +10 -2
  168. package/dist/routes/workspace-integrations.d.ts +35 -0
  169. package/dist/routes/workspace-learning.d.ts +3 -0
  170. package/dist/routes/workspace-model-providers.d.ts +4 -0
  171. package/dist/routes/workspaces.d.ts +29 -0
  172. package/dist/sandbox/auth-callout.d.ts +8 -0
  173. package/dist/sandbox/channel-a.d.ts +19 -1
  174. package/dist/sandbox/connection-authority.d.ts +3 -0
  175. package/dist/sandbox/enrollment.d.ts +9 -1
  176. package/dist/sandbox/machines.d.ts +5 -2
  177. package/dist/sandbox/metrics-ingestion.d.ts +28 -20
  178. package/dist/sandbox/rematerialize.d.ts +2 -0
  179. package/dist/sandbox/session-attach-variable-sets.d.ts +30 -0
  180. package/dist/sandbox/viewer.d.ts +26 -1
  181. package/dist/sandbox-file-artifacts.d.ts +50 -0
  182. package/dist/scheduled-task-deletion.d.ts +13 -0
  183. package/dist/session-create-observability.d.ts +5 -0
  184. package/dist/session-event-view-MPS2OZD3.js +292 -0
  185. package/dist/session-event-view-MPS2OZD3.js.map +1 -0
  186. package/dist/site-session-origin.d.ts +13 -0
  187. package/dist/site-uploads.d.ts +41 -0
  188. package/dist/slack-reaction-files.d.ts +1 -1
  189. package/dist/temporal-schedule-cleanup.d.ts +1 -0
  190. package/dist/temporal-schedule-sync.d.ts +26 -0
  191. package/dist/transcription/providers/xai-subscription.d.ts +1 -0
  192. package/dist/transcription/service.d.ts +2 -1
  193. package/dist/work-discovery-observability.d.ts +33 -0
  194. package/dist/workspace-artifact-content.d.ts +28 -0
  195. package/dist/workspace-artifact-provenance.d.ts +7 -0
  196. package/dist/workspace-delete-observability.d.ts +10 -0
  197. package/dist/workspace-deletion.d.ts +6 -0
  198. package/dist/workspace-state-projection.d.ts +3 -5
  199. package/dist/workspace-tool-gateway-observability.d.ts +17 -0
  200. package/dist/workspace-tool-gateway.d.ts +123 -0
  201. package/dist/workspace-webhook-dispatch.d.ts +26 -0
  202. package/package.json +23 -19
  203. package/src/access-grant-rls.ts +75 -0
  204. package/src/admission-trace.ts +14 -0
  205. package/src/api-websocket.ts +23 -0
  206. package/src/app.ts +1967 -252
  207. package/src/artifact-catalog-cursor.ts +60 -0
  208. package/src/auth/managed-auth-attempt-context.ts +70 -0
  209. package/src/auth/managed-auth-rate-limits.ts +252 -0
  210. package/src/auth/managed-auth-session-adapter.ts +222 -0
  211. package/src/auth/managed-auth.ts +536 -60
  212. package/src/auth/managed-email.ts +174 -0
  213. package/src/auth/managed-sign-in-notifications.ts +81 -0
  214. package/src/auth/new-signups-gate.ts +49 -0
  215. package/src/auth/organization-user-setup.ts +307 -0
  216. package/src/auth/signup-funnel-metrics.ts +164 -0
  217. package/src/browser-controller-authority.ts +1 -186
  218. package/src/browser-ephemeral.ts +39 -0
  219. package/src/browser-state-authority.ts +1 -236
  220. package/src/claude-subscription-account-conflicts.ts +12 -0
  221. package/src/claude-subscription-account-usage.ts +48 -0
  222. package/src/claude-subscription-oauth.ts +362 -0
  223. package/src/claude-subscription-profile.ts +73 -0
  224. package/src/claude-subscription-usage.ts +97 -0
  225. package/src/claude-workspace-connection.ts +82 -0
  226. package/src/codemode.ts +194 -30
  227. package/src/codex-realtime.ts +8 -2
  228. package/src/company-brain-okf.ts +340 -0
  229. package/src/connected-machine-computer-access.ts +33 -0
  230. package/src/connection-ownership.ts +199 -0
  231. package/src/controller-data-plane.ts +81 -0
  232. package/src/editable-artifact-native-kernel.ts +26 -15
  233. package/src/editable-artifact-office-import.ts +28 -3
  234. package/src/editable-artifact-production.ts +23 -7
  235. package/src/editable-artifact-source-session.ts +123 -0
  236. package/src/editable-artifact-websocket.ts +27 -21
  237. package/src/editable-artifact-workspace-files.ts +31 -6
  238. package/src/fatal-process-boundary.ts +246 -0
  239. package/src/gateway-realtime.ts +1 -1
  240. package/src/github-access.ts +147 -5
  241. package/src/http/acting-person.ts +71 -0
  242. package/src/http/api-contract-compat.ts +49 -0
  243. package/src/http/api-error.ts +115 -1
  244. package/src/http/auth.ts +48 -0
  245. package/src/http/cors.ts +67 -0
  246. package/src/http/deprecation.ts +118 -0
  247. package/src/http/interaction-control-error.ts +164 -0
  248. package/src/http/keyed-admission.ts +29 -0
  249. package/src/http/local-browser-boundary.ts +343 -0
  250. package/src/http/metrics-listener.ts +57 -0
  251. package/src/http/path-identifier.ts +54 -0
  252. package/src/http/registered-route-label.ts +34 -0
  253. package/src/http/request-body.ts +127 -0
  254. package/src/http/request-source.ts +178 -0
  255. package/src/http/sse.ts +486 -132
  256. package/src/http/unmatched-route.ts +60 -0
  257. package/src/http/user-content.ts +158 -0
  258. package/src/http/websocket-upgrade-dispatch.ts +29 -0
  259. package/src/index.ts +157 -52
  260. package/src/integration-endpoint-test.ts +291 -0
  261. package/src/integrations/api-integrations.ts +98 -11
  262. package/src/integrations/atlassian.ts +474 -136
  263. package/src/integrations/connect-authority.ts +2 -0
  264. package/src/integrations/connect-callback-return.ts +86 -0
  265. package/src/integrations/fiken.ts +354 -64
  266. package/src/integrations/github-app-connect.ts +435 -0
  267. package/src/integrations/github-installation-proof.ts +60 -0
  268. package/src/integrations/github-lens-connect.ts +76 -0
  269. package/src/integrations/github-skill-source.ts +2 -142
  270. package/src/integrations/google-drive.ts +717 -225
  271. package/src/integrations/integration-commit-authority.ts +69 -0
  272. package/src/integrations/marketplace-plugin.ts +48 -0
  273. package/src/integrations/oauth-client.ts +1356 -459
  274. package/src/integrations/oauth-profiles.ts +537 -0
  275. package/src/integrations/oauth-return-path.ts +18 -0
  276. package/src/integrations/personal-github-repositories.ts +674 -0
  277. package/src/integrations/personal-github.ts +825 -0
  278. package/src/integrations/pr-review-provider.ts +246 -0
  279. package/src/integrations/provider-oauth.ts +250 -22
  280. package/src/integrations/slack-app-home.ts +300 -0
  281. package/src/integrations/slack-bot.ts +963 -239
  282. package/src/integrations/slack-file-upload-flow.ts +147 -0
  283. package/src/integrations/slack-install.ts +83 -0
  284. package/src/integrations/slack-interactions.ts +3167 -474
  285. package/src/integrations/slack-mrkdwn.ts +193 -0
  286. package/src/integrations/slack-routing.ts +337 -0
  287. package/src/integrations/slack-session-defaults.ts +224 -0
  288. package/src/integrations/slack-task-file-upload.ts +323 -0
  289. package/src/integrations/social-oauth.ts +213 -15
  290. package/src/interaction-agent-access.ts +48 -0
  291. package/src/interaction-frame-proxy.ts +409 -0
  292. package/src/interaction-metrics.ts +30 -0
  293. package/src/mcp/action-catalog-types.ts +9 -0
  294. package/src/mcp/action-catalog.gen.ts +6696 -0
  295. package/src/mcp/capability-account-readiness.ts +17 -0
  296. package/src/mcp/child-read-evidence.ts +19 -0
  297. package/src/mcp/command-read.ts +109 -0
  298. package/src/mcp/company-profile-agent-admin.ts +198 -0
  299. package/src/mcp/contract-input.ts +141 -0
  300. package/src/mcp/documents.ts +65 -377
  301. package/src/mcp/editable-artifacts.ts +12 -6
  302. package/src/mcp/files.ts +80 -43
  303. package/src/mcp/first-party-tool-permissions.ts +305 -0
  304. package/src/mcp/knowledge-entries.ts +322 -0
  305. package/src/mcp/orchestration-failure-diagnostic.ts +43 -0
  306. package/src/mcp/receipts.ts +34 -0
  307. package/src/mcp/request-abort.ts +44 -0
  308. package/src/mcp/scheduled-task-input.ts +76 -0
  309. package/src/mcp/scheduled-task-view.ts +44 -3
  310. package/src/mcp/server.ts +3030 -1267
  311. package/src/mcp/session-event-view.ts +383 -0
  312. package/src/mcp/session-view.ts +84 -3
  313. package/src/mcp/session-wait.ts +665 -0
  314. package/src/mcp-oauth.ts +1123 -0
  315. package/src/model-catalog.ts +91 -333
  316. package/src/observability.ts +15 -1
  317. package/src/organization-mcp.ts +397 -0
  318. package/src/organization-recovery-notifications.ts +103 -0
  319. package/src/routes/analytics-consent.ts +123 -0
  320. package/src/routes/api-integrations.ts +364 -74
  321. package/src/routes/api-keys.ts +336 -10
  322. package/src/routes/artifact-catalog.ts +279 -0
  323. package/src/routes/automations.ts +768 -0
  324. package/src/routes/billing.ts +461 -46
  325. package/src/routes/browser-sessions.ts +780 -112
  326. package/src/routes/canonical-human-identities.ts +90 -14
  327. package/src/routes/capabilities.ts +107 -6
  328. package/src/routes/channels.ts +20 -3
  329. package/src/routes/claude-subscription-accounts.ts +334 -0
  330. package/src/routes/claude-subscription-oauth.ts +142 -0
  331. package/src/routes/client-errors.ts +362 -0
  332. package/src/routes/codex.ts +833 -116
  333. package/src/routes/company-brain.ts +322 -0
  334. package/src/routes/company-profile.ts +65 -1
  335. package/src/routes/computer-sessions.ts +557 -106
  336. package/src/routes/connect.ts +1938 -0
  337. package/src/routes/connections.ts +1039 -349
  338. package/src/routes/documents.ts +488 -287
  339. package/src/routes/editable-artifacts.ts +79 -9
  340. package/src/routes/enrollments.ts +135 -39
  341. package/src/routes/environments.ts +154 -58
  342. package/src/routes/external-identity-links.ts +201 -0
  343. package/src/routes/feedback.ts +113 -0
  344. package/src/routes/files.ts +267 -33
  345. package/src/routes/github-browser-pages.ts +162 -0
  346. package/src/routes/github.ts +446 -144
  347. package/src/routes/insights-response-cache.ts +83 -0
  348. package/src/routes/insights-usage.ts +345 -0
  349. package/src/routes/insights.ts +153 -19
  350. package/src/routes/install.ts +133 -38
  351. package/src/routes/integration-facets.ts +107 -33
  352. package/src/routes/interaction-resources.ts +30 -3
  353. package/src/routes/knowledge.ts +488 -0
  354. package/src/routes/machines.ts +313 -15
  355. package/src/routes/managed-auth-session-sets.ts +1218 -0
  356. package/src/routes/managed-onboarding.ts +337 -0
  357. package/src/routes/managed-sign-in-methods.ts +433 -0
  358. package/src/routes/memory-slack-publications.ts +3 -2
  359. package/src/routes/model-connection-access.ts +208 -0
  360. package/src/routes/organization-integration-policy.ts +116 -0
  361. package/src/routes/organization-integrations.ts +326 -0
  362. package/src/routes/organization-mcp-connections.ts +178 -0
  363. package/src/routes/organization-memberships.ts +1019 -27
  364. package/src/routes/organization-model-providers.ts +293 -0
  365. package/src/routes/organization-recovery.ts +325 -0
  366. package/src/routes/organization-service-accounts.ts +128 -0
  367. package/src/routes/organization-sessions.ts +350 -0
  368. package/src/routes/personal-github-git-broker.ts +785 -0
  369. package/src/routes/personal-github.ts +370 -0
  370. package/src/routes/plugins.ts +251 -22
  371. package/src/routes/pr-review-github.ts +881 -0
  372. package/src/routes/pr-review.ts +622 -0
  373. package/src/routes/preference-registry.ts +12 -93
  374. package/src/routes/rigs.ts +167 -50
  375. package/src/routes/scheduled-tasks.ts +346 -41
  376. package/src/routes/session-artifact-associations.ts +87 -0
  377. package/src/routes/session-history-imports.ts +280 -0
  378. package/src/routes/sessions.ts +2306 -264
  379. package/src/routes/skill-content.ts +297 -0
  380. package/src/routes/skill-install-authority.ts +64 -0
  381. package/src/routes/skills.ts +62 -9
  382. package/src/routes/social.ts +46 -18
  383. package/src/routes/subscription-account-pools.ts +436 -0
  384. package/src/routes/subscription-pool-access.ts +126 -0
  385. package/src/routes/supergrok.ts +219 -303
  386. package/src/routes/transcription-recordings.ts +38 -3
  387. package/src/routes/transcriptions.ts +4 -0
  388. package/src/routes/usage-allowances.ts +378 -0
  389. package/src/routes/user-resource-authorities.ts +138 -0
  390. package/src/routes/video-generation.ts +14 -10
  391. package/src/routes/workspace-artifacts.ts +275 -69
  392. package/src/routes/workspace-capture.ts +21 -0
  393. package/src/routes/workspace-integrations.ts +576 -0
  394. package/src/routes/workspace-learning.ts +159 -0
  395. package/src/routes/workspace-model-providers.ts +148 -0
  396. package/src/routes/workspace-state.ts +38 -25
  397. package/src/routes/workspaces.ts +1004 -127
  398. package/src/sandbox/auth-callout.ts +96 -19
  399. package/src/sandbox/channel-a.ts +323 -24
  400. package/src/sandbox/connection-authority.ts +3 -0
  401. package/src/sandbox/enrollment.ts +81 -6
  402. package/src/sandbox/machines.ts +218 -76
  403. package/src/sandbox/metrics-ingestion.ts +411 -62
  404. package/src/sandbox/rematerialize.ts +121 -19
  405. package/src/sandbox/session-attach-variable-sets.ts +131 -0
  406. package/src/sandbox/viewer.ts +280 -25
  407. package/src/sandbox-file-artifacts.ts +413 -0
  408. package/src/scheduled-task-deletion.ts +138 -0
  409. package/src/session-create-observability.ts +46 -0
  410. package/src/session-realtime-context.ts +6 -3
  411. package/src/site-session-origin.ts +48 -0
  412. package/src/site-uploads.ts +224 -0
  413. package/src/slack-reaction-files.ts +16 -5
  414. package/src/temporal-schedule-cleanup.ts +13 -0
  415. package/src/temporal-schedule-sync.ts +74 -0
  416. package/src/transcription/providers/codex-subscription.ts +2 -0
  417. package/src/transcription/providers/openai.ts +1 -0
  418. package/src/transcription/providers/xai-subscription.ts +49 -3
  419. package/src/transcription/segmenter.ts +8 -2
  420. package/src/transcription/service.ts +43 -6
  421. package/src/work-discovery-observability.ts +121 -0
  422. package/src/workspace-artifact-content.ts +144 -0
  423. package/src/workspace-artifact-provenance.ts +104 -0
  424. package/src/workspace-delete-observability.ts +75 -0
  425. package/src/workspace-deletion.ts +73 -0
  426. package/src/workspace-state-projection.ts +18 -148
  427. package/src/workspace-tool-gateway-observability.ts +100 -0
  428. package/src/workspace-tool-gateway.ts +870 -0
  429. package/src/workspace-webhook-dispatch.ts +190 -0
  430. package/src/xai-subscription-auth.ts +9 -2
  431. package/dist/chunk-WCXHI3FF.js +0 -49920
  432. package/dist/chunk-WCXHI3FF.js.map +0 -1
  433. package/dist/routes/packs.d.ts +0 -3
  434. package/src/routes/packs.ts +0 -729
@@ -60,6 +60,7 @@ export declare function projectScheduledTaskSchedule(schedule: ScheduledTaskSche
60
60
  export declare function scheduledTaskMcpSummary(task: ScheduledTask): {
61
61
  id: string;
62
62
  name: string;
63
+ executionDigest: string;
63
64
  status: "active" | "paused";
64
65
  schedule: {
65
66
  type: "manual";
@@ -135,9 +136,10 @@ export declare function scheduledTaskMcpSummary(task: ScheduledTask): {
135
136
  createdAt: string;
136
137
  updatedAt: string;
137
138
  configuration: {
139
+ source: string;
138
140
  model: string | null;
139
141
  reasoningEffort: "high" | "low" | "max" | "medium" | "minimal" | "none" | "xhigh" | null;
140
- sandboxBackend: "blaxel" | "cloudflare" | "daytona" | "docker" | "e2b" | "local" | "modal" | "none" | "runloop" | "selfhosted" | "vercel" | null;
142
+ sandboxBackend: "blaxel" | "cloudflare" | "daytona" | "docker" | "e2b" | "local" | "modal" | "none" | "opensandbox" | "runloop" | "selfhosted" | "vercel" | null;
141
143
  hasGoal: boolean;
142
144
  promptBytes: number;
143
145
  resourceCount: number;
@@ -180,9 +182,22 @@ export declare function scheduledTaskMcpSummary(task: ScheduledTask): {
180
182
  maxBytes: number;
181
183
  };
182
184
  };
185
+ /** Exact bounded text; JSON escapes preserve even legacy lone UTF-16 units. */
186
+ export declare function scheduledTaskPromptPage(task: ScheduledTask, offset: number, expectedExecutionDigest?: string): {
187
+ id: string;
188
+ executionDigest: string;
189
+ prompt: {
190
+ text: string;
191
+ offset: number;
192
+ nextOffset: number | null;
193
+ totalLength: number;
194
+ unit: "utf16";
195
+ };
196
+ };
183
197
  export declare function boundScheduledTaskDetailMcp(task: ScheduledTask): {
184
198
  id: string;
185
199
  name: string;
200
+ executionDigest: string;
186
201
  status: "active" | "paused";
187
202
  schedule: {
188
203
  type: "manual";
@@ -258,9 +273,10 @@ export declare function boundScheduledTaskDetailMcp(task: ScheduledTask): {
258
273
  createdAt: string;
259
274
  updatedAt: string;
260
275
  configuration: {
276
+ source: string;
261
277
  model: string | null;
262
278
  reasoningEffort: "high" | "low" | "max" | "medium" | "minimal" | "none" | "xhigh" | null;
263
- sandboxBackend: "blaxel" | "cloudflare" | "daytona" | "docker" | "e2b" | "local" | "modal" | "none" | "runloop" | "selfhosted" | "vercel" | null;
279
+ sandboxBackend: "blaxel" | "cloudflare" | "daytona" | "docker" | "e2b" | "local" | "modal" | "none" | "opensandbox" | "runloop" | "selfhosted" | "vercel" | null;
264
280
  hasGoal: boolean;
265
281
  promptBytes: number;
266
282
  resourceCount: number;
@@ -310,7 +326,7 @@ export declare function boundScheduledTaskDetailMcp(task: ScheduledTask): {
310
326
  metadataKeys: string[];
311
327
  model: string | null;
312
328
  reasoningEffort: "high" | "low" | "max" | "medium" | "minimal" | "none" | "xhigh" | null;
313
- sandboxBackend: "blaxel" | "cloudflare" | "daytona" | "docker" | "e2b" | "local" | "modal" | "none" | "runloop" | "selfhosted" | "vercel" | null;
329
+ sandboxBackend: "blaxel" | "cloudflare" | "daytona" | "docker" | "e2b" | "local" | "modal" | "none" | "opensandbox" | "runloop" | "selfhosted" | "vercel" | null;
314
330
  goal: {
315
331
  text: string;
316
332
  successCriteria: string | null;
@@ -367,6 +383,7 @@ export declare function boundScheduledTaskMcpPage(input: {
367
383
  tasks: {
368
384
  id: string;
369
385
  name: string;
386
+ executionDigest: string;
370
387
  status: "active" | "paused";
371
388
  schedule: {
372
389
  type: "manual";
@@ -442,9 +459,10 @@ export declare function boundScheduledTaskMcpPage(input: {
442
459
  createdAt: string;
443
460
  updatedAt: string;
444
461
  configuration: {
462
+ source: string;
445
463
  model: string | null;
446
464
  reasoningEffort: "high" | "low" | "max" | "medium" | "minimal" | "none" | "xhigh" | null;
447
- sandboxBackend: "blaxel" | "cloudflare" | "daytona" | "docker" | "e2b" | "local" | "modal" | "none" | "runloop" | "selfhosted" | "vercel" | null;
465
+ sandboxBackend: "blaxel" | "cloudflare" | "daytona" | "docker" | "e2b" | "local" | "modal" | "none" | "opensandbox" | "runloop" | "selfhosted" | "vercel" | null;
448
466
  hasGoal: boolean;
449
467
  promptBytes: number;
450
468
  resourceCount: number;
@@ -1,11 +1,53 @@
1
- import { type AccessGrant, type SessionAuthorizationActor, type WorkspaceMemoryPromptMode } from "@opengeni/contracts";
2
- import { listSessionDiscoverySummaries, type SessionDiscoveryCursor, type SessionDiscoveryOrderBy } from "@opengeni/db";
1
+ import { ResourceRef, type AccessGrant, type GitHubRepository, type SessionAuthorizationActor, type WorkspaceMemoryPromptMode } from "@opengeni/contracts";
2
+ import { listSessionDiscoverySummaries, type SessionDiscoveryCursor, type SessionDiscoveryOrderBy, type MemoryAgentScope } from "@opengeni/db";
3
3
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
4
4
  import type { ApiRouteDeps } from "@opengeni/core";
5
+ import { type OpenGeniSlackBotClient } from "../integrations/slack-bot.js";
5
6
  export type McpServerOptions = {
6
7
  requestOrigin?: string | null;
7
8
  workspaceMemoryEnabled?: boolean | undefined;
8
9
  workspaceMemoryPromptMode?: WorkspaceMemoryPromptMode | undefined;
10
+ /**
11
+ * The bound session's typed Memory selector (migration 0427), resolved by
12
+ * the route from the session row. `off` registers no Memory tools; `user`
13
+ * and `session` read the workspace layer plus their own private layer and
14
+ * save into that private layer. Omitted/null keeps the workspace layer.
15
+ */
16
+ sessionMemory?: MemoryAgentScope | null | undefined;
17
+ };
18
+ export declare function slackBotFileContentResult(result: Awaited<ReturnType<OpenGeniSlackBotClient["fileContent"]>>): {
19
+ content: {
20
+ type: "text";
21
+ text: string;
22
+ }[];
23
+ structuredContent: {
24
+ kind: "text";
25
+ fileId: string;
26
+ contentType: string;
27
+ content: string;
28
+ sizeBytes: null;
29
+ nextOffset: number | null;
30
+ };
31
+ } | {
32
+ structuredContent: {
33
+ kind: "image";
34
+ fileId: string;
35
+ contentType: "image/jpeg" | "image/png" | "image/webp";
36
+ content: null;
37
+ sizeBytes: number;
38
+ nextOffset: null;
39
+ };
40
+ content: ({
41
+ type: "text";
42
+ text: string;
43
+ mimeType?: never;
44
+ data?: never;
45
+ } | {
46
+ readonly text?: never;
47
+ type: "image";
48
+ mimeType: "image/jpeg" | "image/png" | "image/webp";
49
+ data: string;
50
+ })[];
9
51
  };
10
52
  export declare function buildOpenGeniMcpServer(deps: ApiRouteDeps, grant: AccessGrant, options?: McpServerOptions): McpServer;
11
53
  /** Only a prompt explicitly supplied through the human/API channel may redirect a user-paused goal. */
@@ -45,11 +87,182 @@ export declare function memorySlackPublicationActor(actor: Extract<SessionAuthor
45
87
  };
46
88
  ownerLabel: string | null;
47
89
  };
90
+ /**
91
+ * Project one allowlisted GitHub App repository into the resource an agent or
92
+ * scheduled task attaches. Every listed repository is in the workspace
93
+ * allowlist, public or private, so every resource carries the stable ids
94
+ * that mint the scoped installation token; a bare URI would clone anonymously
95
+ * and could never push.
96
+ */
97
+ export declare function repositoryWithScheduledTaskResource(repository: GitHubRepository): GitHubRepository & {
98
+ resource: ResourceRef;
99
+ };
48
100
  export declare function encodeSessionDiscoveryCursor(cursor: SessionDiscoveryCursor): string;
49
101
  export declare function decodeSessionDiscoveryCursor(value: string): SessionDiscoveryCursor;
102
+ export declare function capSessionDiscoveryCompactPage(page: Awaited<ReturnType<typeof listSessionDiscoverySummaries>>, options?: {
103
+ includeLastMessage?: boolean;
104
+ includeRelatedWork?: boolean;
105
+ }, maxBytes?: number): {
106
+ sessions: ({
107
+ id: string;
108
+ projectId?: string;
109
+ title: string | null;
110
+ status: "cancelled" | "failed" | "idle" | "queued" | "recovering" | "requires_action" | "running" | "waiting_capacity";
111
+ titleTruncated?: boolean;
112
+ parentSessionId?: string;
113
+ goal?: {
114
+ status: "active" | "completed" | "paused";
115
+ summary: string | null;
116
+ summaryTruncated?: boolean;
117
+ };
118
+ pause?: {
119
+ state: string;
120
+ source?: {
121
+ kind: "session" | "workspace";
122
+ sessionId?: string;
123
+ displayName: string | null;
124
+ displayNameTruncated?: boolean;
125
+ reason?: string | null;
126
+ reasonTruncated?: boolean;
127
+ };
128
+ additionalBlockerCount?: number;
129
+ };
130
+ attention?: {
131
+ requiresActionDescendants?: number;
132
+ pausedDescendants?: number;
133
+ failedDescendants?: number;
134
+ truncated?: boolean;
135
+ };
136
+ relatedWork?: {
137
+ claims: {
138
+ id: string;
139
+ sessionId: string;
140
+ subject: {
141
+ namespace: string;
142
+ type: "artifact" | "branch" | "ci_run" | "issue" | "other" | "pull_request" | "release" | "repository";
143
+ canonicalKey: string;
144
+ displayLabel: string | null;
145
+ };
146
+ role: "delivering" | "monitoring" | "reviewing" | "working";
147
+ state: "active" | "released" | "stale" | "superseded";
148
+ revision: number;
149
+ provenance: "explicit_agent" | "session_resource" | "system_lifecycle" | "trusted_integration" | "user_api";
150
+ version: {
151
+ kind: "artifact_version" | "branch_head" | "ci_run" | "git_commit" | "other" | "pull_request_head" | "release_version";
152
+ value: string;
153
+ } | null;
154
+ observedAt: string;
155
+ updatedAt: string;
156
+ settledAt: string | null;
157
+ }[];
158
+ claimsTruncated: boolean;
159
+ match: {
160
+ class: "exact_subject" | "fuzzy" | "goal" | "title";
161
+ field: "claim_key" | "claim_label" | "goal" | "subject" | "title";
162
+ scoreBand: "exact" | "related" | "strong";
163
+ claimId: string | null;
164
+ } | null;
165
+ possibleOverlap: boolean;
166
+ advisoryOnly: true;
167
+ noAdditionalAccess: true;
168
+ };
169
+ updatedAt: string;
170
+ queuedPromptCount?: number;
171
+ } | {
172
+ id: string;
173
+ projectId?: string;
174
+ title: string | null;
175
+ status: "cancelled" | "failed" | "idle" | "queued" | "recovering" | "requires_action" | "running" | "waiting_capacity";
176
+ titleTruncated?: boolean;
177
+ parentSessionId?: string;
178
+ goal?: {
179
+ status: "active" | "completed" | "paused";
180
+ summary: string | null;
181
+ summaryTruncated?: boolean;
182
+ };
183
+ pause?: {
184
+ state: string;
185
+ source?: {
186
+ kind: "session" | "workspace";
187
+ sessionId?: string;
188
+ displayName: string | null;
189
+ displayNameTruncated?: boolean;
190
+ reason?: string | null;
191
+ reasonTruncated?: boolean;
192
+ };
193
+ additionalBlockerCount?: number;
194
+ };
195
+ attention?: {
196
+ requiresActionDescendants?: number;
197
+ pausedDescendants?: number;
198
+ failedDescendants?: number;
199
+ truncated?: boolean;
200
+ };
201
+ relatedWork?: {
202
+ claims: {
203
+ id: string;
204
+ sessionId: string;
205
+ subject: {
206
+ namespace: string;
207
+ type: "artifact" | "branch" | "ci_run" | "issue" | "other" | "pull_request" | "release" | "repository";
208
+ canonicalKey: string;
209
+ displayLabel: string | null;
210
+ };
211
+ role: "delivering" | "monitoring" | "reviewing" | "working";
212
+ state: "active" | "released" | "stale" | "superseded";
213
+ revision: number;
214
+ provenance: "explicit_agent" | "session_resource" | "system_lifecycle" | "trusted_integration" | "user_api";
215
+ version: {
216
+ kind: "artifact_version" | "branch_head" | "ci_run" | "git_commit" | "other" | "pull_request_head" | "release_version";
217
+ value: string;
218
+ } | null;
219
+ observedAt: string;
220
+ updatedAt: string;
221
+ settledAt: string | null;
222
+ }[];
223
+ claimsTruncated: boolean;
224
+ match: {
225
+ class: "exact_subject" | "fuzzy" | "goal" | "title";
226
+ field: "claim_key" | "claim_label" | "goal" | "subject" | "title";
227
+ scoreBand: "exact" | "related" | "strong";
228
+ claimId: string | null;
229
+ } | null;
230
+ possibleOverlap: boolean;
231
+ advisoryOnly: true;
232
+ noAdditionalAccess: true;
233
+ };
234
+ updatedAt: string;
235
+ queuedPromptCount?: number;
236
+ latestMessage: {
237
+ type: "agent.message.completed" | "agent.message.delta" | "agent.model.request" | "agent.model.usage" | "agent.reasoning.delta" | "agent.toolCall.created" | "agent.toolCall.output" | "agent.updated" | "artifact.created" | "codex.account.selection.changed" | "codex.account.switched" | "codex.capacity.resumed" | "codex.capacity.superseded" | "codex.capacity.waiting" | "codex.credential.selected" | "codex.fleet.decision" | "credential.auth_needed" | "fs.changed" | "git.changed" | "goal.cleared" | "goal.completed" | "goal.continuation" | "goal.held" | "goal.paused" | "goal.progress" | "goal.resumed" | "goal.rewrite.proposed" | "goal.rewrite.rejected" | "goal.set" | "goal.updated" | "instruction.confirmation.recovered" | "knowledge.confirmation.recovered" | "knowledge.source.failed" | "knowledge.source.prepared" | "machine.link.lost" | "machine.link.restored" | "machine.op.failed" | "machine.op.recovered" | "machine.runner.restarted" | "memory.corrected" | "memory.saved" | "recording.available" | "recording.failed" | "recording.started" | "rig.setup.completed" | "rig.setup.failed" | "rig.setup.skipped" | "rig.setup.started" | "sandbox.box.created" | "sandbox.box.lost" | "sandbox.box.snapshot" | "sandbox.box.terminated" | "sandbox.command.output.delta" | "sandbox.env.drift" | "sandbox.operation.completed" | "sandbox.operation.failed" | "sandbox.operation.started" | "session.agent.updated" | "session.command.backgrounded" | "session.command.finished" | "session.context.cleared" | "session.context.compacted" | "session.context.compaction.requested" | "session.context.compaction.skipped" | "session.context.compaction.started" | "session.control.paused" | "session.control.resumed" | "session.control.steer_requested" | "session.created" | "session.event.envelope_omitted" | "session.humanInput.requested" | "session.mcp.approval_policy.updated" | "session.model_settings.updated" | "session.personal_resources.attached" | "session.queue.changed" | "session.queue.history" | "session.queue.prompt.cancelled" | "session.realtime.ended" | "session.realtime.started" | "session.requiresAction" | "session.route.reconciled" | "session.runtime.configured" | "session.status.changed" | "session.title_set" | "session.tool_policy.updated" | "session.variable_sets.updated" | "session.visibility.changed" | "session.wait.finished" | "session.wait.started" | "stream.closed" | "stream.opened" | "stream.revoked" | "stream.url.rotated" | "system.update.cancelled" | "system.update.delivered" | "system.update.pending" | "system.update.settled" | "system.update.superseded" | "terminal.pty.exited" | "terminal.pty.output.delta" | "terminal.pty.started" | "tool.auth_needed" | "turn.cancelled" | "turn.capacity_waiting" | "turn.completed" | "turn.dispatch.expired" | "turn.event.rejected_late" | "turn.failed" | "turn.queued" | "turn.recovery.requested" | "turn.started" | "turn.startup.phase.completed" | "turn.startup.phase.failed" | "turn.startup.phase.started" | "turn.superseded" | "usage.exhausted" | "usage.period_reset" | "usage.threshold_reached" | "user.approvalDecision" | "user.humanInputResponse" | "user.message" | "user.pause" | "workspace.inference.paused" | "workspace.inference.resumed" | "workspace.revision.captured" | "workspace.revision.degraded";
238
+ previewOmitted: boolean;
239
+ previewOmissionReason: "aggregatePreviewBudget";
240
+ previewDrillDownTool: "session_events";
241
+ previewDrillDownInput: {
242
+ view: "debug";
243
+ direction: "before";
244
+ limit: 1;
245
+ mode: "monitoring";
246
+ payloadMode: "summary";
247
+ sessionId: string;
248
+ includeTypes: ("agent.message.completed" | "agent.message.delta" | "agent.model.request" | "agent.model.usage" | "agent.reasoning.delta" | "agent.toolCall.created" | "agent.toolCall.output" | "agent.updated" | "artifact.created" | "codex.account.selection.changed" | "codex.account.switched" | "codex.capacity.resumed" | "codex.capacity.superseded" | "codex.capacity.waiting" | "codex.credential.selected" | "codex.fleet.decision" | "credential.auth_needed" | "fs.changed" | "git.changed" | "goal.cleared" | "goal.completed" | "goal.continuation" | "goal.held" | "goal.paused" | "goal.progress" | "goal.resumed" | "goal.rewrite.proposed" | "goal.rewrite.rejected" | "goal.set" | "goal.updated" | "instruction.confirmation.recovered" | "knowledge.confirmation.recovered" | "knowledge.source.failed" | "knowledge.source.prepared" | "machine.link.lost" | "machine.link.restored" | "machine.op.failed" | "machine.op.recovered" | "machine.runner.restarted" | "memory.corrected" | "memory.saved" | "recording.available" | "recording.failed" | "recording.started" | "rig.setup.completed" | "rig.setup.failed" | "rig.setup.skipped" | "rig.setup.started" | "sandbox.box.created" | "sandbox.box.lost" | "sandbox.box.snapshot" | "sandbox.box.terminated" | "sandbox.command.output.delta" | "sandbox.env.drift" | "sandbox.operation.completed" | "sandbox.operation.failed" | "sandbox.operation.started" | "session.agent.updated" | "session.command.backgrounded" | "session.command.finished" | "session.context.cleared" | "session.context.compacted" | "session.context.compaction.requested" | "session.context.compaction.skipped" | "session.context.compaction.started" | "session.control.paused" | "session.control.resumed" | "session.control.steer_requested" | "session.created" | "session.event.envelope_omitted" | "session.humanInput.requested" | "session.mcp.approval_policy.updated" | "session.model_settings.updated" | "session.personal_resources.attached" | "session.queue.changed" | "session.queue.history" | "session.queue.prompt.cancelled" | "session.realtime.ended" | "session.realtime.started" | "session.requiresAction" | "session.route.reconciled" | "session.runtime.configured" | "session.status.changed" | "session.title_set" | "session.tool_policy.updated" | "session.variable_sets.updated" | "session.visibility.changed" | "session.wait.finished" | "session.wait.started" | "stream.closed" | "stream.opened" | "stream.revoked" | "stream.url.rotated" | "system.update.cancelled" | "system.update.delivered" | "system.update.pending" | "system.update.settled" | "system.update.superseded" | "terminal.pty.exited" | "terminal.pty.output.delta" | "terminal.pty.started" | "tool.auth_needed" | "turn.cancelled" | "turn.capacity_waiting" | "turn.completed" | "turn.dispatch.expired" | "turn.event.rejected_late" | "turn.failed" | "turn.queued" | "turn.recovery.requested" | "turn.started" | "turn.startup.phase.completed" | "turn.startup.phase.failed" | "turn.startup.phase.started" | "turn.superseded" | "usage.exhausted" | "usage.period_reset" | "usage.threshold_reached" | "user.approvalDecision" | "user.humanInputResponse" | "user.message" | "user.pause" | "workspace.inference.paused" | "workspace.inference.resumed" | "workspace.revision.captured" | "workspace.revision.degraded")[];
249
+ };
250
+ } | {
251
+ type: "agent.message.completed" | "agent.message.delta" | "agent.model.request" | "agent.model.usage" | "agent.reasoning.delta" | "agent.toolCall.created" | "agent.toolCall.output" | "agent.updated" | "artifact.created" | "codex.account.selection.changed" | "codex.account.switched" | "codex.capacity.resumed" | "codex.capacity.superseded" | "codex.capacity.waiting" | "codex.credential.selected" | "codex.fleet.decision" | "credential.auth_needed" | "fs.changed" | "git.changed" | "goal.cleared" | "goal.completed" | "goal.continuation" | "goal.held" | "goal.paused" | "goal.progress" | "goal.resumed" | "goal.rewrite.proposed" | "goal.rewrite.rejected" | "goal.set" | "goal.updated" | "instruction.confirmation.recovered" | "knowledge.confirmation.recovered" | "knowledge.source.failed" | "knowledge.source.prepared" | "machine.link.lost" | "machine.link.restored" | "machine.op.failed" | "machine.op.recovered" | "machine.runner.restarted" | "memory.corrected" | "memory.saved" | "recording.available" | "recording.failed" | "recording.started" | "rig.setup.completed" | "rig.setup.failed" | "rig.setup.skipped" | "rig.setup.started" | "sandbox.box.created" | "sandbox.box.lost" | "sandbox.box.snapshot" | "sandbox.box.terminated" | "sandbox.command.output.delta" | "sandbox.env.drift" | "sandbox.operation.completed" | "sandbox.operation.failed" | "sandbox.operation.started" | "session.agent.updated" | "session.command.backgrounded" | "session.command.finished" | "session.context.cleared" | "session.context.compacted" | "session.context.compaction.requested" | "session.context.compaction.skipped" | "session.context.compaction.started" | "session.control.paused" | "session.control.resumed" | "session.control.steer_requested" | "session.created" | "session.event.envelope_omitted" | "session.humanInput.requested" | "session.mcp.approval_policy.updated" | "session.model_settings.updated" | "session.personal_resources.attached" | "session.queue.changed" | "session.queue.history" | "session.queue.prompt.cancelled" | "session.realtime.ended" | "session.realtime.started" | "session.requiresAction" | "session.route.reconciled" | "session.runtime.configured" | "session.status.changed" | "session.title_set" | "session.tool_policy.updated" | "session.variable_sets.updated" | "session.visibility.changed" | "session.wait.finished" | "session.wait.started" | "stream.closed" | "stream.opened" | "stream.revoked" | "stream.url.rotated" | "system.update.cancelled" | "system.update.delivered" | "system.update.pending" | "system.update.settled" | "system.update.superseded" | "terminal.pty.exited" | "terminal.pty.output.delta" | "terminal.pty.started" | "tool.auth_needed" | "turn.cancelled" | "turn.capacity_waiting" | "turn.completed" | "turn.dispatch.expired" | "turn.event.rejected_late" | "turn.failed" | "turn.queued" | "turn.recovery.requested" | "turn.started" | "turn.startup.phase.completed" | "turn.startup.phase.failed" | "turn.startup.phase.started" | "turn.superseded" | "usage.exhausted" | "usage.period_reset" | "usage.threshold_reached" | "user.approvalDecision" | "user.humanInputResponse" | "user.message" | "user.pause" | "workspace.inference.paused" | "workspace.inference.resumed" | "workspace.revision.captured" | "workspace.revision.degraded";
252
+ preview: string | null;
253
+ previewTruncated?: boolean;
254
+ };
255
+ })[];
256
+ total: number;
257
+ nextCursor: string | null;
258
+ updatedThrough?: string | null;
259
+ responseTruncated?: boolean;
260
+ truncationReason?: string;
261
+ };
50
262
  export declare function capSessionDiscoveryPage(page: Awaited<ReturnType<typeof listSessionDiscoverySummaries>>, includeLastMessage: boolean): {
51
263
  sessions: {
52
264
  id: string;
265
+ projectId?: string;
53
266
  title: string | null;
54
267
  titleTruncated: boolean;
55
268
  parentSessionId: string | null;
@@ -76,13 +289,51 @@ export declare function capSessionDiscoveryPage(page: Awaited<ReturnType<typeof
76
289
  totalDescendants: number;
77
290
  runningDescendants: number;
78
291
  queuedDescendants: number;
292
+ waitingDescendants?: number | undefined;
79
293
  attentionDescendants: number;
80
294
  pausedDescendants: number;
81
295
  failedDescendants: number;
296
+ unreadDescendants?: number | undefined;
297
+ unreadFailedDescendants?: number | undefined;
298
+ activelyWorkingDescendants?: number | undefined;
299
+ attentionSince?: string | null | undefined;
82
300
  truncated: boolean;
83
301
  };
302
+ relatedWork: {
303
+ claims: {
304
+ id: string;
305
+ sessionId: string;
306
+ subject: {
307
+ namespace: string;
308
+ type: "artifact" | "branch" | "ci_run" | "issue" | "other" | "pull_request" | "release" | "repository";
309
+ canonicalKey: string;
310
+ displayLabel: string | null;
311
+ };
312
+ role: "delivering" | "monitoring" | "reviewing" | "working";
313
+ state: "active" | "released" | "stale" | "superseded";
314
+ revision: number;
315
+ provenance: "explicit_agent" | "session_resource" | "system_lifecycle" | "trusted_integration" | "user_api";
316
+ version: {
317
+ kind: "artifact_version" | "branch_head" | "ci_run" | "git_commit" | "other" | "pull_request_head" | "release_version";
318
+ value: string;
319
+ } | null;
320
+ observedAt: string;
321
+ updatedAt: string;
322
+ settledAt: string | null;
323
+ }[];
324
+ claimsTruncated: boolean;
325
+ match: {
326
+ class: "exact_subject" | "fuzzy" | "goal" | "title";
327
+ field: "claim_key" | "claim_label" | "goal" | "subject" | "title";
328
+ scoreBand: "exact" | "related" | "strong";
329
+ claimId: string | null;
330
+ } | null;
331
+ possibleOverlap: boolean;
332
+ advisoryOnly: true;
333
+ noAdditionalAccess: true;
334
+ };
84
335
  latestMessage?: {
85
- type: "agent.message.completed" | "agent.message.delta" | "agent.model.request" | "agent.model.usage" | "agent.reasoning.delta" | "agent.toolCall.created" | "agent.toolCall.output" | "agent.updated" | "artifact.created" | "codex.account.switched" | "codex.capacity.resumed" | "codex.capacity.superseded" | "codex.capacity.waiting" | "codex.credential.selected" | "codex.fleet.decision" | "credential.auth_needed" | "fs.changed" | "git.changed" | "goal.cleared" | "goal.completed" | "goal.continuation" | "goal.paused" | "goal.progress" | "goal.resumed" | "goal.rewrite.proposed" | "goal.rewrite.rejected" | "goal.set" | "goal.updated" | "machine.link.lost" | "machine.link.restored" | "machine.op.failed" | "machine.op.recovered" | "machine.runner.restarted" | "memory.corrected" | "memory.saved" | "recording.available" | "recording.failed" | "recording.started" | "rig.setup.completed" | "rig.setup.failed" | "rig.setup.skipped" | "rig.setup.started" | "sandbox.box.created" | "sandbox.box.lost" | "sandbox.box.snapshot" | "sandbox.box.terminated" | "sandbox.command.output.delta" | "sandbox.env.drift" | "sandbox.operation.completed" | "sandbox.operation.failed" | "sandbox.operation.started" | "session.context.cleared" | "session.context.compacted" | "session.context.compaction.requested" | "session.context.compaction.skipped" | "session.context.compaction.started" | "session.control.paused" | "session.control.resumed" | "session.control.steer_requested" | "session.created" | "session.event.envelope_omitted" | "session.humanInput.requested" | "session.mcp.approval_policy.updated" | "session.queue.changed" | "session.queue.history" | "session.queue.prompt.cancelled" | "session.realtime.ended" | "session.realtime.started" | "session.requiresAction" | "session.route.reconciled" | "session.status.changed" | "session.title_set" | "session.tool_policy.updated" | "session.visibility.changed" | "stream.closed" | "stream.opened" | "stream.revoked" | "stream.url.rotated" | "system.update.cancelled" | "system.update.delivered" | "system.update.pending" | "system.update.settled" | "system.update.superseded" | "terminal.pty.exited" | "terminal.pty.output.delta" | "terminal.pty.started" | "tool.auth_needed" | "turn.cancelled" | "turn.capacity_waiting" | "turn.completed" | "turn.event.rejected_late" | "turn.failed" | "turn.queued" | "turn.recovery.requested" | "turn.started" | "turn.superseded" | "user.approvalDecision" | "user.humanInputResponse" | "user.message" | "user.pause" | "workspace.inference.paused" | "workspace.inference.resumed" | "workspace.revision.captured" | "workspace.revision.degraded";
336
+ type: "agent.message.completed" | "agent.message.delta" | "agent.model.request" | "agent.model.usage" | "agent.reasoning.delta" | "agent.toolCall.created" | "agent.toolCall.output" | "agent.updated" | "artifact.created" | "codex.account.selection.changed" | "codex.account.switched" | "codex.capacity.resumed" | "codex.capacity.superseded" | "codex.capacity.waiting" | "codex.credential.selected" | "codex.fleet.decision" | "credential.auth_needed" | "fs.changed" | "git.changed" | "goal.cleared" | "goal.completed" | "goal.continuation" | "goal.held" | "goal.paused" | "goal.progress" | "goal.resumed" | "goal.rewrite.proposed" | "goal.rewrite.rejected" | "goal.set" | "goal.updated" | "instruction.confirmation.recovered" | "knowledge.confirmation.recovered" | "knowledge.source.failed" | "knowledge.source.prepared" | "machine.link.lost" | "machine.link.restored" | "machine.op.failed" | "machine.op.recovered" | "machine.runner.restarted" | "memory.corrected" | "memory.saved" | "recording.available" | "recording.failed" | "recording.started" | "rig.setup.completed" | "rig.setup.failed" | "rig.setup.skipped" | "rig.setup.started" | "sandbox.box.created" | "sandbox.box.lost" | "sandbox.box.snapshot" | "sandbox.box.terminated" | "sandbox.command.output.delta" | "sandbox.env.drift" | "sandbox.operation.completed" | "sandbox.operation.failed" | "sandbox.operation.started" | "session.agent.updated" | "session.command.backgrounded" | "session.command.finished" | "session.context.cleared" | "session.context.compacted" | "session.context.compaction.requested" | "session.context.compaction.skipped" | "session.context.compaction.started" | "session.control.paused" | "session.control.resumed" | "session.control.steer_requested" | "session.created" | "session.event.envelope_omitted" | "session.humanInput.requested" | "session.mcp.approval_policy.updated" | "session.model_settings.updated" | "session.personal_resources.attached" | "session.queue.changed" | "session.queue.history" | "session.queue.prompt.cancelled" | "session.realtime.ended" | "session.realtime.started" | "session.requiresAction" | "session.route.reconciled" | "session.runtime.configured" | "session.status.changed" | "session.title_set" | "session.tool_policy.updated" | "session.variable_sets.updated" | "session.visibility.changed" | "session.wait.finished" | "session.wait.started" | "stream.closed" | "stream.opened" | "stream.revoked" | "stream.url.rotated" | "system.update.cancelled" | "system.update.delivered" | "system.update.pending" | "system.update.settled" | "system.update.superseded" | "terminal.pty.exited" | "terminal.pty.output.delta" | "terminal.pty.started" | "tool.auth_needed" | "turn.cancelled" | "turn.capacity_waiting" | "turn.completed" | "turn.dispatch.expired" | "turn.event.rejected_late" | "turn.failed" | "turn.queued" | "turn.recovery.requested" | "turn.started" | "turn.startup.phase.completed" | "turn.startup.phase.failed" | "turn.startup.phase.started" | "turn.superseded" | "usage.exhausted" | "usage.period_reset" | "usage.threshold_reached" | "user.approvalDecision" | "user.humanInputResponse" | "user.message" | "user.pause" | "workspace.inference.paused" | "workspace.inference.resumed" | "workspace.revision.captured" | "workspace.revision.degraded";
86
337
  preview: string | null;
87
338
  previewTruncated: boolean;
88
339
  } | null;
@@ -105,6 +356,7 @@ export declare function capSessionDiscoveryPage(page: Awaited<ReturnType<typeof
105
356
  omissionReason: "aggregatePreviewBudget" | null;
106
357
  drillDownTool: "session_events";
107
358
  drillDownInput: {
359
+ view: "debug";
108
360
  direction: "before";
109
361
  limit: 1;
110
362
  mode: "monitoring";
@@ -0,0 +1,94 @@
1
+ import { z } from "zod";
2
+ import type { SessionEventSliceOptions, SessionEventSlicePage } from "@opengeni/db/session-event-slices";
3
+ export declare const SESSION_EVENT_VIEW_MAX_BYTES: number;
4
+ declare const selectionSchema: z.ZodObject<{
5
+ sessionId: z.ZodString;
6
+ view: z.ZodEnum<{
7
+ conversation: "conversation";
8
+ results: "results";
9
+ tools: "tools";
10
+ }>;
11
+ includeArguments: z.ZodBoolean;
12
+ includeOutput: z.ZodBoolean;
13
+ callId: z.ZodNullable<z.ZodString>;
14
+ toolName: z.ZodDefault<z.ZodNullable<z.ZodString>>;
15
+ limit: z.ZodOptional<z.ZodNumber>;
16
+ direction: z.ZodEnum<{
17
+ after: "after";
18
+ before: "before";
19
+ }>;
20
+ after: z.ZodNumber;
21
+ before: z.ZodNullable<z.ZodNumber>;
22
+ }, z.core.$strip>;
23
+ type Selection = z.infer<typeof selectionSchema>;
24
+ export type SessionEventViewInput = {
25
+ sessionId: string;
26
+ view?: Selection["view"] | undefined;
27
+ after?: number | undefined;
28
+ before?: number | undefined;
29
+ direction?: Selection["direction"] | undefined;
30
+ limit?: number | undefined;
31
+ cursor?: string | undefined;
32
+ callId?: string | undefined;
33
+ toolName?: string | undefined;
34
+ includeArguments?: boolean | undefined;
35
+ includeOutput?: boolean | undefined;
36
+ };
37
+ type Item = {
38
+ sequence: number;
39
+ turnId?: string;
40
+ role?: string;
41
+ text?: string;
42
+ } & Record<string, unknown>;
43
+ type ReadPage = (options: SessionEventSliceOptions) => Promise<SessionEventSlicePage>;
44
+ /** A cursor is a bounded selector, never authority. The caller reauthorizes every read. */
45
+ export declare function resolveSessionEventView(input: SessionEventViewInput): {
46
+ selection: {
47
+ sessionId: string;
48
+ view: "conversation" | "results" | "tools";
49
+ includeArguments: boolean;
50
+ includeOutput: boolean;
51
+ callId: string | null;
52
+ toolName: string | null;
53
+ limit?: number | undefined;
54
+ direction: "after" | "before";
55
+ after: number;
56
+ before: number | null;
57
+ };
58
+ continuation: {
59
+ v: 1 | 2;
60
+ selection: {
61
+ sessionId: string;
62
+ view: "conversation" | "results" | "tools";
63
+ includeArguments: boolean;
64
+ includeOutput: boolean;
65
+ callId: string | null;
66
+ toolName: string | null;
67
+ limit?: number | undefined;
68
+ direction: "after" | "before";
69
+ after: number;
70
+ before: number | null;
71
+ };
72
+ sequence: number | null;
73
+ offset: number;
74
+ } | null;
75
+ };
76
+ /** Read-only projection over the existing RLS/audit query. No command observations. */
77
+ export declare function readSessionEventView(input: SessionEventViewInput, read: ReadPage): Promise<{
78
+ view: "conversation" | "results" | "tools";
79
+ effectiveLimit: number;
80
+ direction: "after" | "before";
81
+ events: Item[];
82
+ nextAfter: number | null;
83
+ nextBefore: number | null;
84
+ hasMore: boolean;
85
+ nextCursor: string | null;
86
+ sourceExact: boolean;
87
+ sourceLoss?: {
88
+ reason: "structured_value_exceeds_budget";
89
+ completeTextAvailable: false;
90
+ message: string;
91
+ };
92
+ maxBytes: number;
93
+ }>;
94
+ export {};
@@ -8,7 +8,7 @@
8
8
  * edge while preserving a usable cursor. It never manufactures an event or
9
9
  * advances across an event it did not return.
10
10
  */
11
- import type { Rig, Session, SessionEvent, SessionEventCompactResult, SessionEventPayloadMode, SessionEventReadDirection, SessionEventReadMode } from "@opengeni/contracts";
11
+ import type { Rig, Session, SessionEvent, SessionEventCompactResult, SessionEventPayloadMode, SessionEventReadDirection, SessionEventReadMode, SessionMcpMonitoringSource, SessionQueueSnapshot } from "@opengeni/contracts";
12
12
  export declare const SESSION_EVENT_MCP_MAX_BYTES: number;
13
13
  export declare const SESSION_EVENT_MCP_FIELD_MAX_CHARS = 4000;
14
14
  export declare const DEFAULT_SESSION_DETAIL_CHARS = 6000;
@@ -69,7 +69,62 @@ type SessionDetailFieldFact = {
69
69
  deliveredCount?: number;
70
70
  measurementBounded?: boolean;
71
71
  };
72
- /** Purpose-built, flat, model-facing detail projection for `session_get`. */
72
+ /** Compact management state; configuration is deliberately excluded, not truncated. */
73
+ export declare function boundSessionCompactDetailMcp(session: Session, monitoring: SessionMcpMonitoringSource, queue: SessionQueueSnapshot | null, maxBytes?: number): {
74
+ id: string;
75
+ projectId?: string;
76
+ title: string | null;
77
+ status: "cancelled" | "failed" | "idle" | "queued" | "recovering" | "requires_action" | "running" | "waiting_capacity";
78
+ titleTruncated?: boolean;
79
+ parentSessionId?: string;
80
+ activeTurnId?: string;
81
+ lastSequence: number;
82
+ goal?: {
83
+ status: "active" | "completed" | "paused";
84
+ summary: string | null;
85
+ summaryTruncated?: boolean;
86
+ evidence?: string | null;
87
+ evidenceTruncated?: true;
88
+ pausedReason?: string | null;
89
+ pausedReasonTruncated?: true;
90
+ rationale?: string | null;
91
+ rationaleTruncated?: true;
92
+ };
93
+ progress?: {
94
+ sequence: number;
95
+ text: string | null;
96
+ occurredAt: string;
97
+ textTruncated?: boolean;
98
+ };
99
+ pause?: {
100
+ state: string;
101
+ source?: {
102
+ kind: "session" | "workspace";
103
+ sessionId?: string;
104
+ displayName: string | null;
105
+ displayNameTruncated?: boolean;
106
+ reason?: string | null;
107
+ reasonTruncated?: boolean;
108
+ };
109
+ additionalBlockerCount?: number;
110
+ };
111
+ wait?: {
112
+ reason: string | null;
113
+ until: string;
114
+ reasonTruncated?: boolean;
115
+ };
116
+ queue?: {
117
+ queuedTurns: number;
118
+ pendingInputs: number;
119
+ stoppingPreviousAttempt?: boolean;
120
+ };
121
+ stopping?: {
122
+ attempts?: number;
123
+ backgroundCommands?: number;
124
+ };
125
+ updatedAt: string;
126
+ };
127
+ /** Legacy bounded configuration projection for explicit `session_get detail=full`. */
73
128
  export declare function boundSessionDetailMcp(session: Session, effectiveControl?: unknown, maxBytes?: number): {
74
129
  id: string;
75
130
  workspaceId: string;
@@ -83,16 +138,20 @@ export declare function boundSessionDetailMcp(session: Session, effectiveControl
83
138
  tools: unknown;
84
139
  metadata: unknown;
85
140
  model: string;
141
+ reasoningEffort: "high" | "low" | "max" | "medium" | "minimal" | "none" | "xhigh";
142
+ latencyMode: "fast" | "priority" | "standard";
86
143
  sandboxBackend: string;
87
144
  sandboxOs: "linux" | "macos" | "windows";
88
145
  sandboxGroupId: string;
89
146
  activeSandboxId: string | null;
90
147
  activeEpoch: number;
148
+ variableSetIds: string[];
91
149
  variableSetId: string | null;
92
150
  environmentId: string | null;
93
151
  rigId: string | null;
94
152
  rigVersionId: string | null;
95
153
  firstPartyMcpPermissions: unknown;
154
+ effectiveToolPolicy: unknown;
96
155
  mcpServers: unknown;
97
156
  parentSessionId: string | null;
98
157
  createIdempotencyKey: string | null;
@@ -115,9 +174,14 @@ export declare function boundSessionDetailMcp(session: Session, effectiveControl
115
174
  totalDescendants: number;
116
175
  runningDescendants: number;
117
176
  queuedDescendants: number;
177
+ waitingDescendants?: number | undefined;
118
178
  attentionDescendants: number;
119
179
  pausedDescendants: number;
120
180
  failedDescendants: number;
181
+ unreadDescendants?: number | undefined;
182
+ unreadFailedDescendants?: number | undefined;
183
+ activelyWorkingDescendants?: number | undefined;
184
+ attentionSince?: string | null | undefined;
121
185
  truncated: boolean;
122
186
  };
123
187
  createdAt: string;