@opengeni/api-router 0.30.1 → 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 (436) 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-office-import.d.ts +7 -4
  35. package/dist/editable-artifact-source-session.d.ts +3 -0
  36. package/dist/editable-artifact-websocket.d.ts +10 -18
  37. package/dist/editable-artifact-workspace-files.d.ts +1 -1
  38. package/dist/fatal-process-boundary.d.ts +25 -0
  39. package/dist/github-access.d.ts +31 -2
  40. package/dist/http/acting-person.d.ts +24 -0
  41. package/dist/http/api-contract-compat.d.ts +19 -0
  42. package/dist/http/api-error.d.ts +27 -1
  43. package/dist/http/cors.d.ts +17 -0
  44. package/dist/http/deprecation.d.ts +42 -0
  45. package/dist/http/interaction-control-error.d.ts +13 -0
  46. package/dist/http/keyed-admission.d.ts +12 -0
  47. package/dist/http/local-browser-boundary.d.ts +72 -0
  48. package/dist/http/metrics-listener.d.ts +22 -0
  49. package/dist/http/path-identifier.d.ts +17 -0
  50. package/dist/http/registered-route-label.d.ts +16 -0
  51. package/dist/http/request-body.d.ts +27 -0
  52. package/dist/http/request-source.d.ts +52 -0
  53. package/dist/http/sse.d.ts +17 -6
  54. package/dist/http/unmatched-route.d.ts +18 -0
  55. package/dist/http/user-content.d.ts +36 -0
  56. package/dist/http/websocket-upgrade-dispatch.d.ts +18 -0
  57. package/dist/index.d.ts +10 -3
  58. package/dist/index.js +1129 -166
  59. package/dist/index.js.map +1 -1
  60. package/dist/integration-endpoint-test.d.ts +20 -0
  61. package/dist/integrations/api-integrations.d.ts +2 -2
  62. package/dist/integrations/atlassian.d.ts +29 -3
  63. package/dist/integrations/connect-authority.d.ts +1 -0
  64. package/dist/integrations/connect-callback-return.d.ts +6 -0
  65. package/dist/integrations/fiken.d.ts +16 -2
  66. package/dist/integrations/github-app-connect.d.ts +47 -0
  67. package/dist/integrations/github-installation-proof.d.ts +3 -0
  68. package/dist/integrations/github-lens-connect.d.ts +116 -0
  69. package/dist/integrations/github-skill-source.d.ts +1 -5
  70. package/dist/integrations/google-drive.d.ts +25 -0
  71. package/dist/integrations/integration-commit-authority.d.ts +13 -0
  72. package/dist/integrations/marketplace-plugin.d.ts +2691 -0
  73. package/dist/integrations/oauth-client.d.ts +178 -18
  74. package/dist/integrations/oauth-profiles.d.ts +222 -0
  75. package/dist/integrations/oauth-return-path.d.ts +1 -0
  76. package/dist/integrations/personal-github-repositories.d.ts +84 -0
  77. package/dist/integrations/personal-github.d.ts +42 -0
  78. package/dist/integrations/pr-review-provider.d.ts +22 -0
  79. package/dist/integrations/provider-oauth.d.ts +19 -1
  80. package/dist/integrations/slack-app-home.d.ts +24 -0
  81. package/dist/integrations/slack-bot.d.ts +367 -12
  82. package/dist/integrations/slack-file-upload-flow.d.ts +62 -0
  83. package/dist/integrations/slack-install.d.ts +20 -0
  84. package/dist/integrations/slack-interactions.d.ts +113 -10
  85. package/dist/integrations/slack-mrkdwn.d.ts +41 -0
  86. package/dist/integrations/slack-routing.d.ts +120 -0
  87. package/dist/integrations/slack-session-defaults.d.ts +58 -0
  88. package/dist/integrations/slack-task-file-upload.d.ts +36 -0
  89. package/dist/integrations/social-oauth.d.ts +7 -0
  90. package/dist/interaction-agent-access.d.ts +15 -0
  91. package/dist/interaction-frame-proxy.d.ts +68 -0
  92. package/dist/interaction-metrics.d.ts +2 -0
  93. package/dist/mcp/action-catalog-types.d.ts +9 -0
  94. package/dist/mcp/action-catalog.gen.d.ts +2 -0
  95. package/dist/mcp/capability-account-readiness.d.ts +7 -0
  96. package/dist/mcp/child-read-evidence.d.ts +9 -0
  97. package/dist/mcp/command-read.d.ts +24 -0
  98. package/dist/mcp/company-profile-agent-admin.d.ts +44 -0
  99. package/dist/mcp/contract-input.d.ts +11 -0
  100. package/dist/mcp/documents.d.ts +7 -5
  101. package/dist/mcp/files.d.ts +2 -2
  102. package/dist/mcp/first-party-tool-permissions.d.ts +650 -0
  103. package/dist/mcp/knowledge-entries.d.ts +5 -0
  104. package/dist/mcp/orchestration-failure-diagnostic.d.ts +43 -0
  105. package/dist/mcp/receipts.d.ts +9 -0
  106. package/dist/mcp/request-abort.d.ts +19 -0
  107. package/dist/mcp/scheduled-task-input.d.ts +1189 -0
  108. package/dist/mcp/scheduled-task-view.d.ts +22 -4
  109. package/dist/mcp/server.d.ts +255 -3
  110. package/dist/mcp/session-event-view.d.ts +94 -0
  111. package/dist/mcp/session-view.d.ts +66 -2
  112. package/dist/mcp/session-wait.d.ts +174 -0
  113. package/dist/mcp-oauth.d.ts +52 -0
  114. package/dist/model-catalog.d.ts +11 -31
  115. package/dist/observability.d.ts +3 -1
  116. package/dist/organization-mcp.d.ts +52 -0
  117. package/dist/organization-recovery-notifications.d.ts +41 -0
  118. package/dist/routes/analytics-consent.d.ts +26 -0
  119. package/dist/routes/api-integrations.d.ts +25 -0
  120. package/dist/routes/api-keys.d.ts +17 -0
  121. package/dist/routes/artifact-catalog.d.ts +6 -0
  122. package/dist/routes/automations.d.ts +19 -0
  123. package/dist/routes/billing.d.ts +49 -0
  124. package/dist/routes/browser-sessions.d.ts +71 -3
  125. package/dist/routes/claude-subscription-accounts.d.ts +3 -0
  126. package/dist/routes/claude-subscription-oauth.d.ts +3 -0
  127. package/dist/routes/client-errors.d.ts +146 -0
  128. package/dist/routes/codex.d.ts +76 -2
  129. package/dist/routes/company-brain.d.ts +3 -0
  130. package/dist/routes/company-profile.d.ts +2 -1
  131. package/dist/routes/computer-sessions.d.ts +14 -0
  132. package/dist/routes/connect.d.ts +5 -0
  133. package/dist/routes/editable-artifacts.d.ts +2 -0
  134. package/dist/routes/external-identity-links.d.ts +6 -0
  135. package/dist/routes/feedback.d.ts +3 -0
  136. package/dist/routes/files.d.ts +4 -0
  137. package/dist/routes/github-browser-pages.d.ts +12 -0
  138. package/dist/routes/github.d.ts +2 -0
  139. package/dist/routes/insights-response-cache.d.ts +10 -0
  140. package/dist/routes/insights-usage.d.ts +12 -0
  141. package/dist/routes/insights.d.ts +30 -1
  142. package/dist/routes/knowledge.d.ts +3 -0
  143. package/dist/routes/managed-auth-session-sets.d.ts +26 -0
  144. package/dist/routes/managed-onboarding.d.ts +29 -0
  145. package/dist/routes/managed-sign-in-methods.d.ts +6 -0
  146. package/dist/routes/model-connection-access.d.ts +3 -0
  147. package/dist/routes/organization-integration-policy.d.ts +3 -0
  148. package/dist/routes/organization-integrations.d.ts +6 -0
  149. package/dist/routes/organization-mcp-connections.d.ts +3 -0
  150. package/dist/routes/organization-model-providers.d.ts +3 -0
  151. package/dist/routes/organization-recovery.d.ts +19 -0
  152. package/dist/routes/organization-service-accounts.d.ts +3 -0
  153. package/dist/routes/organization-sessions.d.ts +26 -0
  154. package/dist/routes/personal-github-git-broker.d.ts +29 -0
  155. package/dist/routes/personal-github.d.ts +3 -0
  156. package/dist/routes/pr-review-github.d.ts +3 -0
  157. package/dist/routes/pr-review.d.ts +3 -0
  158. package/dist/routes/session-artifact-associations.d.ts +4 -0
  159. package/dist/routes/session-history-imports.d.ts +9 -0
  160. package/dist/routes/sessions.d.ts +44 -6
  161. package/dist/routes/skill-content.d.ts +4 -0
  162. package/dist/routes/skill-install-authority.d.ts +6 -0
  163. package/dist/routes/subscription-account-pools.d.ts +34 -0
  164. package/dist/routes/subscription-pool-access.d.ts +16 -0
  165. package/dist/routes/supergrok.d.ts +6 -1
  166. package/dist/routes/usage-allowances.d.ts +12 -0
  167. package/dist/routes/user-resource-authorities.d.ts +3 -0
  168. package/dist/routes/workspace-artifacts.d.ts +2 -1
  169. package/dist/routes/workspace-capture.d.ts +10 -2
  170. package/dist/routes/workspace-integrations.d.ts +35 -0
  171. package/dist/routes/workspace-learning.d.ts +3 -0
  172. package/dist/routes/workspace-model-providers.d.ts +4 -0
  173. package/dist/routes/workspaces.d.ts +29 -0
  174. package/dist/sandbox/auth-callout.d.ts +8 -0
  175. package/dist/sandbox/channel-a.d.ts +19 -1
  176. package/dist/sandbox/connection-authority.d.ts +3 -0
  177. package/dist/sandbox/enrollment.d.ts +9 -1
  178. package/dist/sandbox/machines.d.ts +5 -2
  179. package/dist/sandbox/metrics-ingestion.d.ts +28 -20
  180. package/dist/sandbox/rematerialize.d.ts +2 -0
  181. package/dist/sandbox/session-attach-variable-sets.d.ts +30 -0
  182. package/dist/sandbox/viewer.d.ts +26 -1
  183. package/dist/sandbox-file-artifacts.d.ts +50 -0
  184. package/dist/scheduled-task-deletion.d.ts +13 -0
  185. package/dist/session-create-observability.d.ts +5 -0
  186. package/dist/session-event-view-MPS2OZD3.js +292 -0
  187. package/dist/session-event-view-MPS2OZD3.js.map +1 -0
  188. package/dist/site-session-origin.d.ts +13 -0
  189. package/dist/site-uploads.d.ts +41 -0
  190. package/dist/slack-reaction-files.d.ts +1 -1
  191. package/dist/temporal-schedule-cleanup.d.ts +1 -0
  192. package/dist/temporal-schedule-sync.d.ts +26 -0
  193. package/dist/transcription/providers/xai-subscription.d.ts +1 -0
  194. package/dist/transcription/service.d.ts +2 -1
  195. package/dist/work-discovery-observability.d.ts +33 -0
  196. package/dist/workspace-artifact-content.d.ts +28 -0
  197. package/dist/workspace-artifact-provenance.d.ts +7 -0
  198. package/dist/workspace-delete-observability.d.ts +10 -0
  199. package/dist/workspace-deletion.d.ts +6 -0
  200. package/dist/workspace-state-projection.d.ts +3 -5
  201. package/dist/workspace-tool-gateway-observability.d.ts +17 -0
  202. package/dist/workspace-tool-gateway.d.ts +123 -0
  203. package/dist/workspace-webhook-dispatch.d.ts +26 -0
  204. package/package.json +23 -19
  205. package/src/access-grant-rls.ts +75 -0
  206. package/src/admission-trace.ts +14 -0
  207. package/src/api-websocket.ts +23 -0
  208. package/src/app.ts +1974 -256
  209. package/src/artifact-catalog-cursor.ts +60 -0
  210. package/src/auth/managed-auth-attempt-context.ts +70 -0
  211. package/src/auth/managed-auth-rate-limits.ts +252 -0
  212. package/src/auth/managed-auth-session-adapter.ts +222 -0
  213. package/src/auth/managed-auth.ts +536 -60
  214. package/src/auth/managed-email.ts +174 -0
  215. package/src/auth/managed-sign-in-notifications.ts +81 -0
  216. package/src/auth/new-signups-gate.ts +49 -0
  217. package/src/auth/organization-user-setup.ts +307 -0
  218. package/src/auth/signup-funnel-metrics.ts +164 -0
  219. package/src/browser-controller-authority.ts +1 -186
  220. package/src/browser-ephemeral.ts +39 -0
  221. package/src/browser-state-authority.ts +1 -236
  222. package/src/claude-subscription-account-conflicts.ts +12 -0
  223. package/src/claude-subscription-account-usage.ts +48 -0
  224. package/src/claude-subscription-oauth.ts +362 -0
  225. package/src/claude-subscription-profile.ts +73 -0
  226. package/src/claude-subscription-usage.ts +97 -0
  227. package/src/claude-workspace-connection.ts +82 -0
  228. package/src/codemode.ts +194 -30
  229. package/src/codex-realtime.ts +8 -2
  230. package/src/company-brain-okf.ts +340 -0
  231. package/src/connected-machine-computer-access.ts +33 -0
  232. package/src/connection-ownership.ts +199 -0
  233. package/src/controller-data-plane.ts +81 -0
  234. package/src/editable-artifact-native-kernel.ts +26 -15
  235. package/src/editable-artifact-office-import.ts +77 -9
  236. package/src/editable-artifact-production.ts +23 -7
  237. package/src/editable-artifact-source-session.ts +123 -0
  238. package/src/editable-artifact-websocket.ts +27 -21
  239. package/src/editable-artifact-workspace-files.ts +31 -6
  240. package/src/fatal-process-boundary.ts +246 -0
  241. package/src/gateway-realtime.ts +1 -1
  242. package/src/github-access.ts +147 -5
  243. package/src/http/acting-person.ts +71 -0
  244. package/src/http/api-contract-compat.ts +49 -0
  245. package/src/http/api-error.ts +115 -1
  246. package/src/http/auth.ts +48 -0
  247. package/src/http/cors.ts +67 -0
  248. package/src/http/deprecation.ts +118 -0
  249. package/src/http/interaction-control-error.ts +164 -0
  250. package/src/http/keyed-admission.ts +29 -0
  251. package/src/http/local-browser-boundary.ts +343 -0
  252. package/src/http/metrics-listener.ts +57 -0
  253. package/src/http/path-identifier.ts +54 -0
  254. package/src/http/registered-route-label.ts +34 -0
  255. package/src/http/request-body.ts +127 -0
  256. package/src/http/request-source.ts +178 -0
  257. package/src/http/sse.ts +486 -132
  258. package/src/http/unmatched-route.ts +60 -0
  259. package/src/http/user-content.ts +158 -0
  260. package/src/http/websocket-upgrade-dispatch.ts +29 -0
  261. package/src/index.ts +157 -52
  262. package/src/integration-endpoint-test.ts +291 -0
  263. package/src/integrations/api-integrations.ts +98 -11
  264. package/src/integrations/atlassian.ts +474 -136
  265. package/src/integrations/connect-authority.ts +2 -0
  266. package/src/integrations/connect-callback-return.ts +86 -0
  267. package/src/integrations/fiken.ts +354 -64
  268. package/src/integrations/github-app-connect.ts +435 -0
  269. package/src/integrations/github-installation-proof.ts +60 -0
  270. package/src/integrations/github-lens-connect.ts +76 -0
  271. package/src/integrations/github-skill-source.ts +2 -142
  272. package/src/integrations/google-drive.ts +820 -222
  273. package/src/integrations/integration-commit-authority.ts +69 -0
  274. package/src/integrations/marketplace-plugin.ts +48 -0
  275. package/src/integrations/oauth-client.ts +1356 -459
  276. package/src/integrations/oauth-profiles.ts +537 -0
  277. package/src/integrations/oauth-return-path.ts +18 -0
  278. package/src/integrations/personal-github-repositories.ts +674 -0
  279. package/src/integrations/personal-github.ts +825 -0
  280. package/src/integrations/pr-review-provider.ts +246 -0
  281. package/src/integrations/provider-oauth.ts +250 -22
  282. package/src/integrations/slack-app-home.ts +300 -0
  283. package/src/integrations/slack-bot.ts +963 -239
  284. package/src/integrations/slack-file-upload-flow.ts +147 -0
  285. package/src/integrations/slack-install.ts +83 -0
  286. package/src/integrations/slack-interactions.ts +3170 -474
  287. package/src/integrations/slack-mrkdwn.ts +193 -0
  288. package/src/integrations/slack-routing.ts +337 -0
  289. package/src/integrations/slack-session-defaults.ts +224 -0
  290. package/src/integrations/slack-task-file-upload.ts +323 -0
  291. package/src/integrations/social-oauth.ts +213 -15
  292. package/src/interaction-agent-access.ts +48 -0
  293. package/src/interaction-frame-proxy.ts +409 -0
  294. package/src/interaction-metrics.ts +30 -0
  295. package/src/mcp/action-catalog-types.ts +9 -0
  296. package/src/mcp/action-catalog.gen.ts +6696 -0
  297. package/src/mcp/capability-account-readiness.ts +17 -0
  298. package/src/mcp/child-read-evidence.ts +19 -0
  299. package/src/mcp/command-read.ts +109 -0
  300. package/src/mcp/company-profile-agent-admin.ts +198 -0
  301. package/src/mcp/contract-input.ts +141 -0
  302. package/src/mcp/documents.ts +65 -377
  303. package/src/mcp/editable-artifacts.ts +12 -6
  304. package/src/mcp/files.ts +80 -38
  305. package/src/mcp/first-party-tool-permissions.ts +305 -0
  306. package/src/mcp/knowledge-entries.ts +322 -0
  307. package/src/mcp/orchestration-failure-diagnostic.ts +43 -0
  308. package/src/mcp/receipts.ts +34 -0
  309. package/src/mcp/request-abort.ts +44 -0
  310. package/src/mcp/scheduled-task-input.ts +76 -0
  311. package/src/mcp/scheduled-task-view.ts +44 -3
  312. package/src/mcp/server.ts +3030 -1267
  313. package/src/mcp/session-event-view.ts +383 -0
  314. package/src/mcp/session-view.ts +84 -3
  315. package/src/mcp/session-wait.ts +665 -0
  316. package/src/mcp-oauth.ts +1123 -0
  317. package/src/model-catalog.ts +91 -333
  318. package/src/observability.ts +15 -1
  319. package/src/organization-mcp.ts +397 -0
  320. package/src/organization-recovery-notifications.ts +103 -0
  321. package/src/routes/analytics-consent.ts +123 -0
  322. package/src/routes/api-integrations.ts +364 -74
  323. package/src/routes/api-keys.ts +336 -10
  324. package/src/routes/artifact-catalog.ts +279 -0
  325. package/src/routes/automations.ts +768 -0
  326. package/src/routes/billing.ts +461 -46
  327. package/src/routes/browser-sessions.ts +839 -131
  328. package/src/routes/canonical-human-identities.ts +90 -14
  329. package/src/routes/capabilities.ts +107 -6
  330. package/src/routes/channels.ts +20 -3
  331. package/src/routes/claude-subscription-accounts.ts +334 -0
  332. package/src/routes/claude-subscription-oauth.ts +142 -0
  333. package/src/routes/client-errors.ts +362 -0
  334. package/src/routes/codex.ts +833 -116
  335. package/src/routes/company-brain.ts +322 -0
  336. package/src/routes/company-profile.ts +65 -1
  337. package/src/routes/computer-sessions.ts +557 -106
  338. package/src/routes/connect.ts +1938 -0
  339. package/src/routes/connections.ts +1040 -349
  340. package/src/routes/documents.ts +488 -287
  341. package/src/routes/editable-artifacts.ts +79 -9
  342. package/src/routes/enrollments.ts +135 -39
  343. package/src/routes/environments.ts +154 -58
  344. package/src/routes/external-identity-links.ts +201 -0
  345. package/src/routes/feedback.ts +113 -0
  346. package/src/routes/files.ts +337 -39
  347. package/src/routes/github-browser-pages.ts +162 -0
  348. package/src/routes/github.ts +446 -144
  349. package/src/routes/insights-response-cache.ts +83 -0
  350. package/src/routes/insights-usage.ts +345 -0
  351. package/src/routes/insights.ts +153 -19
  352. package/src/routes/install.ts +133 -38
  353. package/src/routes/integration-facets.ts +107 -33
  354. package/src/routes/interaction-resources.ts +30 -3
  355. package/src/routes/knowledge.ts +488 -0
  356. package/src/routes/machines.ts +313 -15
  357. package/src/routes/managed-auth-session-sets.ts +1218 -0
  358. package/src/routes/managed-onboarding.ts +337 -0
  359. package/src/routes/managed-sign-in-methods.ts +433 -0
  360. package/src/routes/memory-slack-publications.ts +3 -2
  361. package/src/routes/model-connection-access.ts +208 -0
  362. package/src/routes/organization-integration-policy.ts +116 -0
  363. package/src/routes/organization-integrations.ts +326 -0
  364. package/src/routes/organization-mcp-connections.ts +178 -0
  365. package/src/routes/organization-memberships.ts +1019 -27
  366. package/src/routes/organization-model-providers.ts +293 -0
  367. package/src/routes/organization-recovery.ts +325 -0
  368. package/src/routes/organization-service-accounts.ts +128 -0
  369. package/src/routes/organization-sessions.ts +350 -0
  370. package/src/routes/personal-github-git-broker.ts +785 -0
  371. package/src/routes/personal-github.ts +370 -0
  372. package/src/routes/plugins.ts +251 -22
  373. package/src/routes/pr-review-github.ts +881 -0
  374. package/src/routes/pr-review.ts +622 -0
  375. package/src/routes/preference-registry.ts +12 -93
  376. package/src/routes/rigs.ts +167 -50
  377. package/src/routes/scheduled-tasks.ts +346 -41
  378. package/src/routes/session-artifact-associations.ts +87 -0
  379. package/src/routes/session-history-imports.ts +280 -0
  380. package/src/routes/sessions.ts +2306 -264
  381. package/src/routes/skill-content.ts +297 -0
  382. package/src/routes/skill-install-authority.ts +64 -0
  383. package/src/routes/skills.ts +62 -9
  384. package/src/routes/social.ts +46 -18
  385. package/src/routes/subscription-account-pools.ts +436 -0
  386. package/src/routes/subscription-pool-access.ts +126 -0
  387. package/src/routes/supergrok.ts +219 -303
  388. package/src/routes/transcription-recordings.ts +38 -3
  389. package/src/routes/transcriptions.ts +4 -0
  390. package/src/routes/usage-allowances.ts +378 -0
  391. package/src/routes/user-resource-authorities.ts +138 -0
  392. package/src/routes/video-generation.ts +14 -10
  393. package/src/routes/workspace-artifacts.ts +275 -69
  394. package/src/routes/workspace-capture.ts +21 -0
  395. package/src/routes/workspace-integrations.ts +576 -0
  396. package/src/routes/workspace-learning.ts +159 -0
  397. package/src/routes/workspace-model-providers.ts +148 -0
  398. package/src/routes/workspace-state.ts +38 -25
  399. package/src/routes/workspaces.ts +1004 -127
  400. package/src/sandbox/auth-callout.ts +96 -19
  401. package/src/sandbox/channel-a.ts +323 -24
  402. package/src/sandbox/connection-authority.ts +3 -0
  403. package/src/sandbox/enrollment.ts +81 -6
  404. package/src/sandbox/machines.ts +218 -76
  405. package/src/sandbox/metrics-ingestion.ts +411 -62
  406. package/src/sandbox/rematerialize.ts +121 -19
  407. package/src/sandbox/session-attach-variable-sets.ts +131 -0
  408. package/src/sandbox/viewer.ts +280 -25
  409. package/src/sandbox-file-artifacts.ts +413 -0
  410. package/src/scheduled-task-deletion.ts +138 -0
  411. package/src/session-create-observability.ts +46 -0
  412. package/src/session-realtime-context.ts +6 -3
  413. package/src/site-session-origin.ts +48 -0
  414. package/src/site-uploads.ts +224 -0
  415. package/src/slack-reaction-files.ts +16 -5
  416. package/src/temporal-schedule-cleanup.ts +13 -0
  417. package/src/temporal-schedule-sync.ts +74 -0
  418. package/src/transcription/providers/codex-subscription.ts +2 -0
  419. package/src/transcription/providers/openai.ts +1 -0
  420. package/src/transcription/providers/xai-subscription.ts +49 -3
  421. package/src/transcription/segmenter.ts +8 -2
  422. package/src/transcription/service.ts +43 -6
  423. package/src/work-discovery-observability.ts +121 -0
  424. package/src/workspace-artifact-content.ts +144 -0
  425. package/src/workspace-artifact-provenance.ts +104 -0
  426. package/src/workspace-delete-observability.ts +75 -0
  427. package/src/workspace-deletion.ts +73 -0
  428. package/src/workspace-state-projection.ts +18 -148
  429. package/src/workspace-tool-gateway-observability.ts +100 -0
  430. package/src/workspace-tool-gateway.ts +870 -0
  431. package/src/workspace-webhook-dispatch.ts +190 -0
  432. package/src/xai-subscription-auth.ts +9 -2
  433. package/dist/chunk-2PQMSRCB.js +0 -49759
  434. package/dist/chunk-2PQMSRCB.js.map +0 -1
  435. package/dist/routes/packs.d.ts +0 -3
  436. package/src/routes/packs.ts +0 -729
@@ -0,0 +1,20 @@
1
+ import { CredentialProviderResponse, type IntegrationEndpointTestResult } from "@opengeni/contracts";
2
+ import { pinnedFetch, type OutboundNetworkSettings } from "@opengeni/network";
3
+ export type IntegrationEndpointTestInput = {
4
+ kind: "webhook" | "credential-provider";
5
+ url: string;
6
+ secret: string;
7
+ /** The exact body to sign and send. */
8
+ body: string;
9
+ /** Extra identity headers (the webhook event id). */
10
+ headers?: Record<string, string>;
11
+ timeoutMs: number;
12
+ settings: OutboundNetworkSettings;
13
+ fetch?: typeof pinnedFetch;
14
+ now?: () => number;
15
+ };
16
+ /** What went wrong reaching the endpoint, in words an administrator can act on. */
17
+ export declare function integrationTestNetworkError(error: unknown): string;
18
+ /** The names of what a run would receive. Values are dropped here. */
19
+ export declare function credentialProviderTestSummary(response: CredentialProviderResponse): NonNullable<IntegrationEndpointTestResult["credentials"]>;
20
+ export declare function sendIntegrationEndpointTest(input: IntegrationEndpointTestInput): Promise<IntegrationEndpointTestResult>;
@@ -1,5 +1,5 @@
1
1
  import { type IntegrationCredentialResolver, type IntegrationInvocationAuthority, type IntegrationTransport } from "@opengeni/capabilities";
2
- import { ApiIntegrationPreview, type IntegrationSource } from "@opengeni/contracts";
2
+ import { ApiIntegrationPreview, type IntegrationSourceInput } from "@opengeni/contracts";
3
3
  import type { StoredApiIntegrationRevision } from "@opengeni/db";
4
4
  export type ApiIntegrationConnectionDescriptor = {
5
5
  id: string;
@@ -16,7 +16,7 @@ export type ResolvedApiIntegrationPreview = {
16
16
  authScheme: Record<string, unknown>;
17
17
  };
18
18
  export declare function resolveApiIntegrationPreview(input: {
19
- source: IntegrationSource;
19
+ source: IntegrationSourceInput;
20
20
  connection: ApiIntegrationConnectionDescriptor | null;
21
21
  transport: IntegrationTransport;
22
22
  credentialResolver?: IntegrationCredentialResolver;
@@ -1,3 +1,8 @@
1
+ type AtlassianRequestAuthority = {
2
+ connectionUseContext?: Omit<AcceptedConnectionUseContext, "physicalRequestId" | "usePhase">;
3
+ };
4
+ import type { AcceptedConnectionUseContext } from "@opengeni/db";
5
+ import { ExternalActorContinuation } from "@opengeni/contracts/external-identities";
1
6
  import type { AccessGrant, ScheduledTask } from "@opengeni/contracts";
2
7
  import { AtlassianOAuthStartResponse, type AtlassianDisconnectRequest, type AtlassianLifecycleActionRequest, type AtlassianOAuthStartRequest } from "@opengeni/contracts/atlassian";
3
8
  import { type ApiRouteDeps } from "@opengeni/core";
@@ -9,6 +14,8 @@ export declare function startAtlassianOAuth(deps: ApiRouteDeps, input: {
9
14
  subjectId: string;
10
15
  requestUrl: string;
11
16
  payload: AtlassianOAuthStartRequest;
17
+ connectAttemptId?: string;
18
+ externalContinuation?: ExternalActorContinuation;
12
19
  }): Promise<AtlassianOAuthStartResponse>;
13
20
  export declare function completeAtlassianOAuthCallback(deps: ApiRouteDeps, input: {
14
21
  code?: string | undefined;
@@ -17,14 +24,17 @@ export declare function completeAtlassianOAuthCallback(deps: ApiRouteDeps, input
17
24
  requestUrl: string;
18
25
  }): Promise<{
19
26
  redirectTo: string;
27
+ exactReturn?: boolean;
20
28
  }>;
21
- export declare function browseAtlassianSources(deps: ApiRouteDeps, input: {
29
+ export declare function browseAtlassianSources(deps: ApiRouteDeps, input: AtlassianRequestAuthority & {
22
30
  workspaceId: string;
23
31
  subjectId: string;
24
32
  connectionId: string;
25
33
  }): Promise<{
26
34
  connection: {
27
35
  id: string;
36
+ authorityId?: string | undefined;
37
+ connectionAuthorityGeneration?: number | undefined;
28
38
  accountId: string;
29
39
  workspaceId: string;
30
40
  subjectId: string | null;
@@ -58,7 +68,7 @@ export declare function browseAtlassianSources(deps: ApiRouteDeps, input: {
58
68
  webUrl: string;
59
69
  }[];
60
70
  }>;
61
- export declare function searchAtlassianLive(deps: ApiRouteDeps, input: {
71
+ export declare function searchAtlassianLive(deps: ApiRouteDeps, input: AtlassianRequestAuthority & {
62
72
  workspaceId: string;
63
73
  subjectId: string;
64
74
  connectionId: string;
@@ -86,7 +96,7 @@ export declare function searchAtlassianLive(deps: ApiRouteDeps, input: {
86
96
  updatedAt: string | null;
87
97
  url: string;
88
98
  })[]>;
89
- export declare function getAtlassianLiveItem(deps: ApiRouteDeps, input: {
99
+ export declare function getAtlassianLiveItem(deps: ApiRouteDeps, input: AtlassianRequestAuthority & {
90
100
  workspaceId: string;
91
101
  subjectId: string;
92
102
  connectionId: string;
@@ -167,10 +177,26 @@ export declare function disconnectAtlassian(deps: ApiRouteDeps, input: {
167
177
  connection: AtlassianConnectionRecord;
168
178
  payload: AtlassianDisconnectRequest;
169
179
  }): Promise<import("@opengeni/db").ConnectionMetadataWithVerification | null>;
180
+ export declare function preflightAtlassianScheduleAuthorization(deps: ApiRouteDeps, input: {
181
+ task: ScheduledTask;
182
+ subjectId: string;
183
+ }): Promise<void>;
170
184
  export declare function revokeAtlassianScheduleAuthorization(deps: ApiRouteDeps, input: {
171
185
  task: ScheduledTask;
172
186
  subjectId: string;
173
187
  }): Promise<void>;
188
+ export declare function cleanupAtlassianScheduleAuthorization(deps: ApiRouteDeps, input: {
189
+ taskId: string;
190
+ accountId: string;
191
+ workspaceId: string;
192
+ connectionId: string;
193
+ connectionVersion: number;
194
+ sourceId: string;
195
+ sourceLifecycleGeneration: number;
196
+ sourceConfigGeneration: number;
197
+ externalSourceId: string;
198
+ subjectId: string;
199
+ }): Promise<void>;
174
200
  export declare function isSelectableConfluenceSpaceType(value: unknown): boolean;
175
201
  export declare function confluenceNextUrl(cloudId: string, next: string): URL;
176
202
  export {};
@@ -0,0 +1 @@
1
+ export { requireConnectOwnerAuthority } from "@opengeni/core";
@@ -0,0 +1,6 @@
1
+ import type { Hono } from "hono";
2
+ import type { ApiRouteDeps } from "@opengeni/core";
3
+ /** Navigation-only recovery. Recently expired signed state can identify the host's saved
4
+ * destination, but cannot authorize exchange, persistence, or credential use.
5
+ * Normal callbacks independently enforce current time and live authority. */
6
+ export declare function registerConnectCallbackReturns(app: Hono, deps: ApiRouteDeps): void;
@@ -1,9 +1,15 @@
1
1
  import type { ApiRouteDeps } from "@opengeni/core";
2
2
  import type { Settings } from "@opengeni/config";
3
+ import { ExternalActorContinuation } from "@opengeni/contracts/external-identities";
3
4
  import { FikenOAuthStartResponse, type AccessGrant, type ConnectionMetadata, type FikenCompanySummary, type FikenConnectionMetadata, type FikenOAuthStartRequest } from "@opengeni/contracts";
4
5
  import { type Database } from "@opengeni/db";
5
6
  import { type FetchLike } from "@opengeni/network";
6
7
  import { HTTPException } from "hono/http-exception";
8
+ /** Shared native/embedded token adapter. Provider verification happens before
9
+ * persistence; the caller reauthorizes inside its durable commit transaction.
10
+ * That caller must acquire the organization policy fence for `fiken` BEFORE
11
+ * owner/tenancy locks and invoke the returned writer with that exact tx. */
12
+ export declare function prepareFikenTokenInstall(deps: ApiRouteDeps, grant: Pick<AccessGrant, "accountId" | "workspaceId" | "subjectId">, raw: unknown, expectedVersion?: number): Promise<(tx: Database) => Promise<ConnectionMetadata>>;
7
13
  export type FikenOperation = "companies.list" | "contacts.list" | "contact.create" | "products.list" | "invoices.list" | "invoice.get" | "invoice_draft.create" | "bank_accounts.list" | "purchases.list" | "sales.list";
8
14
  export declare class FikenProviderError extends Error {
9
15
  readonly code: string;
@@ -25,6 +31,7 @@ type FikenContext = {
25
31
  subjectId: string | null;
26
32
  sessionId: string | null;
27
33
  };
34
+ type FikenProviderAuthorization = () => Promise<boolean | void>;
28
35
  /**
29
36
  * Validates a pasted Fiken personal API token before it enters encrypted
30
37
  * storage, and discovers the companies it can act on. The companies list is
@@ -57,8 +64,10 @@ export declare class FikenClient {
57
64
  private readonly metadata;
58
65
  private readonly context;
59
66
  private readonly fetchImpl;
67
+ private readonly authorizeProviderRequest?;
60
68
  private readonly resolveCredential;
61
- constructor(db: Database, settings: Settings, connection: ConnectionMetadata, metadata: FikenConnectionMetadata, context: FikenContext, fetchImpl?: FetchLike);
69
+ private expectedConnectionVersion;
70
+ constructor(db: Database, settings: Settings, connection: ConnectionMetadata, metadata: FikenConnectionMetadata, context: FikenContext, fetchImpl?: FetchLike, authorizeProviderRequest?: FikenProviderAuthorization | undefined);
62
71
  listCompanies(input?: {
63
72
  page?: number;
64
73
  pageSize?: number;
@@ -202,7 +211,8 @@ export declare class FikenClient {
202
211
  private request;
203
212
  private readResponse;
204
213
  private markNeedsReauth;
205
- private headersFor;
214
+ private currentAuthority;
215
+ private credentialFor;
206
216
  private receipt;
207
217
  private recordAudit;
208
218
  }
@@ -210,6 +220,7 @@ export declare function createFikenClient(deps: {
210
220
  db: Database;
211
221
  settings: Settings;
212
222
  fikenFetch?: typeof fetch;
223
+ authorizeProviderRequest?: FikenProviderAuthorization;
213
224
  }, resolved: Awaited<ReturnType<typeof resolveFikenConnectionForTool>>): FikenClient;
214
225
  export declare class FikenOAuthCallbackError extends Error {
215
226
  readonly reason: string;
@@ -221,6 +232,8 @@ export declare function startFikenOAuth(deps: ApiRouteDeps, input: {
221
232
  subjectId: string;
222
233
  requestUrl: string;
223
234
  payload: FikenOAuthStartRequest;
235
+ externalContinuation?: ExternalActorContinuation;
236
+ connectAttemptId?: string;
224
237
  }): Promise<FikenOAuthStartResponse>;
225
238
  export declare function completeFikenOAuthCallback(deps: ApiRouteDeps, input: {
226
239
  code?: string | undefined;
@@ -229,5 +242,6 @@ export declare function completeFikenOAuthCallback(deps: ApiRouteDeps, input: {
229
242
  requestUrl: string;
230
243
  }): Promise<{
231
244
  redirectTo: string;
245
+ exactReturn?: boolean;
232
246
  }>;
233
247
  export {};
@@ -0,0 +1,47 @@
1
+ import { z } from "zod";
2
+ import type { ConnectAdvance, ConnectAttempt } from "@opengeni/contracts/connect";
3
+ import { type ConnectActorScope } from "@opengeni/db";
4
+ import type { ApiRouteDeps, PreparedConnectOperation } from "@opengeni/core";
5
+ declare const stateSchema: z.ZodObject<{
6
+ kind: z.ZodLiteral<"github_app_connect">;
7
+ accountId: z.ZodString;
8
+ workspaceId: z.ZodString;
9
+ subjectId: z.ZodString;
10
+ personalOwnerVerified: z.ZodBoolean;
11
+ connectAttemptId: z.ZodString;
12
+ phase: z.ZodEnum<{
13
+ bind: "bind";
14
+ discover: "discover";
15
+ install: "install";
16
+ }>;
17
+ installationId: z.ZodOptional<z.ZodNumber>;
18
+ providerId: z.ZodDefault<z.ZodEnum<{
19
+ "github-app": "github-app";
20
+ "github-lens": "github-lens";
21
+ }>>;
22
+ nonce: z.ZodString;
23
+ iat: z.ZodNumber;
24
+ }, z.core.$strip>;
25
+ type State = z.infer<typeof stateSchema>;
26
+ export declare function isGitHubAppConnectState(deps: ApiRouteDeps, raw: string | undefined): boolean;
27
+ type GitHubConnectScope = ConnectActorScope & {
28
+ personalOwnerVerified?: boolean;
29
+ providerId?: "github-app" | "github-lens";
30
+ };
31
+ export declare function githubAppConnectNavigation(deps: ApiRouteDeps, scope: GitHubConnectScope, attemptId: string, requestUrl: string, phase?: State["phase"], installationId?: number, providerId?: State["providerId"]): {
32
+ authorizationUrl: string;
33
+ expiresAt: string;
34
+ };
35
+ export declare function prepareGitHubAppConnectAction(deps: ApiRouteDeps, scope: GitHubConnectScope, requestUrl: string, attempt: ConnectAttempt, action: ConnectAdvance): PreparedConnectOperation;
36
+ /** No browser login/cookie required: signed attempt + current stored origin,
37
+ * then fresh GitHub owner proof, are the two separate authority boundaries. */
38
+ export declare function completeGitHubAppConnect(deps: ApiRouteDeps, input: {
39
+ state?: string | undefined;
40
+ code?: string | undefined;
41
+ installationId?: string | undefined;
42
+ setupAction?: string | undefined;
43
+ error?: string | undefined;
44
+ requestUrl: string;
45
+ expectedProvider?: "github-app" | "github-lens";
46
+ }): Promise<Response>;
47
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { GitHubInstallationBindingCandidate, GitHubInstallationBindingProof } from "@opengeni/contracts";
2
+ export declare function isConsistentGitHubBindingCandidates(candidates: GitHubInstallationBindingCandidate[]): boolean;
3
+ export declare function isConsistentGitHubBindingProof(proof: GitHubInstallationBindingProof, installationId: number): boolean;
@@ -0,0 +1,116 @@
1
+ import { type GitHubInstallationBindingProof } from "@opengeni/contracts";
2
+ import { type ApiRouteDeps } from "@opengeni/core";
3
+ import { type Database } from "@opengeni/db";
4
+ export declare function requireGitHubLensConnect(deps: ApiRouteDeps): Promise<{
5
+ template: {
6
+ adapterId: "source-control.pull-request.v1";
7
+ eventTypes: string[];
8
+ configuration: {};
9
+ sessionTemplate: {
10
+ bundledSkillIds?: ("builtin:document-parsing" | "builtin:opengeni-client" | "builtin:opengeni-documents" | "builtin:opengeni-help" | "builtin:opengeni-presentations" | "builtin:opengeni-projects" | "builtin:opengeni-schedules" | "builtin:opengeni-sites" | "builtin:opengeni-skills" | "builtin:opengeni-spreadsheets" | "builtin:opengeni-video-generation" | "builtin:opengeni-visualize")[] | undefined;
11
+ prompt: string;
12
+ instructions: string | null;
13
+ resources: ({
14
+ kind: "repository";
15
+ uri: string;
16
+ ref: string;
17
+ expectedCommitSha?: string | undefined;
18
+ mountPath?: string | undefined;
19
+ subpath?: string | undefined;
20
+ provider?: "azure_devops" | "github" | "gitlab" | undefined;
21
+ connectionType?: "github_personal" | undefined;
22
+ credentialBindingId?: string | undefined;
23
+ access?: "read" | "write" | undefined;
24
+ repositoryId?: string | number | undefined;
25
+ installationId?: string | number | undefined;
26
+ projectId?: string | number | undefined;
27
+ connectionId?: string | undefined;
28
+ githubInstallationId?: number | undefined;
29
+ githubRepositoryId?: number | undefined;
30
+ optional?: boolean | undefined;
31
+ } | {
32
+ kind: "file";
33
+ fileId: string;
34
+ mountPath?: string | undefined;
35
+ })[];
36
+ skills: {
37
+ name: string;
38
+ description: string;
39
+ files: {
40
+ path: string;
41
+ content: string;
42
+ }[];
43
+ }[];
44
+ tools: {
45
+ kind: "mcp";
46
+ id: string;
47
+ eager?: boolean | undefined;
48
+ optional?: boolean | undefined;
49
+ }[];
50
+ firstPartyMcpTools: ("artifacts_archive" | "artifacts_create" | "artifacts_get_source" | "artifacts_list" | "artifacts_prepare_upload" | "artifacts_publish" | "artifacts_restore" | "artifacts_rollback" | "atlassian_get" | "atlassian_search" | "atlassian_sources_list" | "browser_act" | "browser_auth" | "browser_clipboard" | "browser_debug" | "browser_download_save" | "browser_downloads" | "browser_identity" | "browser_lifecycle" | "browser_observe" | "browser_open" | "browser_publish" | "browser_read" | "browser_screenshot" | "browser_tabs" | "capability_authorization_request" | "capability_catalog_search" | "command_read" | "command_wait" | "company_profile_confirm" | "company_profile_propose" | "computer_act" | "computer_clipboard" | "computer_lifecycle" | "computer_observe" | "computer_open" | "computer_targets" | "connected_machine_enroll_token" | "connected_machine_remove" | "custom_mcp_setup_request" | "editable_artifact_apply" | "editable_artifact_create" | "editable_artifact_export" | "editable_artifact_export_status" | "editable_artifact_get" | "editable_artifact_import" | "editable_artifact_inspect" | "editable_artifact_list" | "environment_list" | "environment_set_variable" | "fiken_bank_accounts_list" | "fiken_companies_list" | "fiken_contact_create" | "fiken_contacts_list" | "fiken_invoice_draft_create" | "fiken_invoice_get" | "fiken_invoices_list" | "fiken_products_list" | "fiken_purchases_list" | "fiken_sales_list" | "github_connect_link" | "github_repositories_list" | "goal_complete" | "goal_pause" | "goal_progress" | "goal_resume" | "goal_set" | "goal_update" | "instruction_policy_get" | "instruction_policy_propose" | "instruction_policy_save" | "interaction_discover" | "interaction_request_human" | "knowledge_archive" | "knowledge_browse" | "knowledge_correct" | "knowledge_get" | "knowledge_prepare_save" | "knowledge_propose" | "knowledge_retain_file" | "knowledge_retain_message" | "knowledge_save" | "knowledge_search" | "memory_correct" | "memory_save" | "memory_search" | "preference_propose" | "preference_registry_get" | "preference_registry_summary" | "project_create" | "project_delete" | "project_get" | "project_list" | "project_reorder" | "project_update" | "reddit_accounts_list" | "reddit_mentions_live" | "reddit_post_reply" | "reddit_posts_sync" | "reddit_search_live" | "reddit_thread_fetch" | "remember" | "remember_confirm" | "rig_get" | "rig_list" | "rig_promote" | "rig_propose_change" | "rig_verify" | "run_on" | "sandbox_attach" | "sandbox_file_publish" | "sandbox_provision" | "sandbox_swap" | "sandboxes_list" | "scheduled_task_runs_list" | "scheduled_tasks_create" | "scheduled_tasks_delete" | "scheduled_tasks_get" | "scheduled_tasks_list" | "scheduled_tasks_pause" | "scheduled_tasks_resume" | "scheduled_tasks_trigger" | "scheduled_tasks_update" | "session_create" | "session_events" | "session_get" | "session_human_input_respond" | "session_pause" | "session_resume" | "session_send_message" | "session_set_model" | "session_set_project" | "session_steer" | "session_wait" | "sessions_list" | "set_other_session_title" | "set_session_title" | "slack_bot_channel_history" | "slack_bot_delete_message" | "slack_bot_file_content" | "slack_bot_file_info" | "slack_bot_list_channels" | "slack_bot_list_files" | "slack_bot_list_users" | "slack_bot_post_message" | "slack_bot_prepare_message" | "slack_bot_search" | "slack_bot_send_prepared_message" | "slack_bot_thread_replies" | "slack_bot_upload_file" | "social_connections_list" | "social_daily_analysis_context" | "social_mentions_live" | "social_post_reply" | "social_posts_recent" | "social_posts_sync" | "social_search_live" | "social_thread_fetch" | "task_note_archive" | "task_note_promote_instruction_policy" | "task_note_promote_knowledge" | "task_note_promote_preference" | "task_note_replace" | "task_note_save" | "task_notes_list" | "variable_set_get_variable" | "variable_set_list" | "variable_set_set_variable" | "wait_for_input" | "work_claim_release" | "work_claim_upsert" | "x_accounts_list" | "x_mentions_live" | "x_post_reply" | "x_posts_sync" | "x_search_live" | "x_thread_fetch")[];
51
+ firstPartyMcpPermissions: ("account:admin" | "account:read" | "api_keys:manage" | "artifacts:publish" | "artifacts:read" | "billing:manage" | "billing:read" | "capabilities:manage" | "codemode:call" | "connections:read" | "connections:write" | "documents:manage" | "documents:search" | "enrollments:manage" | "enrollments:read" | "environments:manage" | "environments:use" | "files:read" | "files:upload" | "files:write" | "github:manage" | "github:use" | "goals:manage" | "mcp_servers:attach" | "members:manage" | "rigs:manage" | "rigs:use" | "scheduled_tasks:manage" | "scheduled_tasks:run" | "secrets:list" | "secrets:read" | "secrets:write" | "sessions:control" | "sessions:create" | "sessions:read" | "stream:acknowledge" | "stream:control" | "stream:view" | "terminal:attach" | "usage_allowances:manage" | "variable-sets:attach" | "variable-sets:list" | "variable-sets:manage" | "variable-sets:read" | "variable-sets:use" | "variable-sets:write" | "workspace:admin" | "workspace:create" | "workspace:read")[];
52
+ model: string | null;
53
+ reasoningEffort: "high" | "low" | "max" | "medium" | "minimal" | "none" | "xhigh" | null;
54
+ sandboxBackend: "blaxel" | "cloudflare" | "daytona" | "docker" | "e2b" | "local" | "modal" | "none" | "opensandbox" | "runloop" | "selfhosted" | "vercel" | null;
55
+ policyRole: string | null;
56
+ metadata: Record<string, unknown>;
57
+ agent?: {
58
+ capabilities?: "all" | "none" | {
59
+ webSearch?: boolean | undefined;
60
+ humanInput?: boolean | undefined;
61
+ skills?: "manage" | "read" | false | undefined;
62
+ goals?: boolean | undefined;
63
+ subagents?: boolean | undefined;
64
+ knowledge?: boolean | undefined;
65
+ schedules?: boolean | undefined;
66
+ artifacts?: boolean | undefined;
67
+ browser?: boolean | undefined;
68
+ media?: boolean | undefined;
69
+ workspaceFiles?: boolean | undefined;
70
+ workspaceConnectors?: boolean | undefined;
71
+ workspaceAdmin?: boolean | undefined;
72
+ from: "all" | "none";
73
+ } | undefined;
74
+ identity?: string | null | undefined;
75
+ instructions?: string | undefined;
76
+ renderer?: "markdown" | "opengeni" | undefined;
77
+ } | undefined;
78
+ credentialRestriction?: "developer_setup" | undefined;
79
+ };
80
+ };
81
+ }>;
82
+ /** Separate Lens registration/source/automation domain, not a repository-access
83
+ * binding. Invoked inside the Connect receipt's authorized transaction. */
84
+ export declare function commitGitHubLensConnect(deps: ApiRouteDeps, tx: Database, input: {
85
+ accountId: string;
86
+ workspaceId: string;
87
+ subjectId: string;
88
+ installationId: number;
89
+ proof: GitHubInstallationBindingProof;
90
+ checkedAt: Date;
91
+ expiresAt: Date;
92
+ nonce: string;
93
+ }): Promise<{
94
+ id: string;
95
+ sourceId: string;
96
+ accountId: string;
97
+ workspaceId: string;
98
+ name: string;
99
+ provider: "azure_devops" | "github" | "gitlab";
100
+ providerBaseUrl: string;
101
+ appId: string | null;
102
+ installationId: string | null;
103
+ providerAccountLogin: string | null;
104
+ providerAccountType: "Organization" | "User" | null;
105
+ credentialKind: "github_app" | "managed_github_app" | "provider_token";
106
+ hasCredential: boolean;
107
+ accessTokenExpiresAt: string | null;
108
+ webhookAuthKind: "basic" | "hmac_sha256" | "shared_token";
109
+ hasWebhookSecret: boolean;
110
+ webhookUsername: string | null;
111
+ webhookPath: string;
112
+ status: "active" | "disabled";
113
+ createdBySubjectId: string;
114
+ createdAt: string;
115
+ updatedAt: string;
116
+ }>;
@@ -1,5 +1 @@
1
- import type { Settings } from "@opengeni/config";
2
- import type { GitHubSkillSourceClient } from "@opengeni/core";
3
- type GitHubJsonRequest = (path: string, maxBytes: number, label: string) => Promise<unknown>;
4
- export declare function createGitHubSkillSourceClient(settings: Settings, requestJson?: GitHubJsonRequest): GitHubSkillSourceClient;
5
- export {};
1
+ export { createGitHubSkillSourceClient } from "@opengeni/core";
@@ -1,3 +1,4 @@
1
+ import { ExternalActorContinuation } from "@opengeni/contracts/external-identities";
1
2
  import type { AccessGrant, ScheduledTask } from "@opengeni/contracts";
2
3
  import { GoogleDriveOAuthStartResponse, type GoogleDriveDisconnectRequest, type GoogleDriveLifecycleActionRequest, type GoogleDriveOAuthStartRequest } from "@opengeni/contracts/google-drive";
3
4
  import { IntegrationFacetMutationResult } from "@opengeni/contracts";
@@ -21,14 +22,18 @@ export declare function startGoogleDriveOAuth(deps: ApiRouteDeps, input: {
21
22
  subjectId: string;
22
23
  requestUrl: string;
23
24
  payload: GoogleDriveOAuthStartRequest;
25
+ connectAttemptId?: string;
26
+ externalContinuation?: ExternalActorContinuation;
24
27
  }): Promise<GoogleDriveOAuthStartResponse>;
25
28
  export declare function completeGoogleDriveOAuthCallback(deps: ApiRouteDeps, input: {
26
29
  code?: string | undefined;
27
30
  state?: string | undefined;
28
31
  error?: string | undefined;
32
+ pickedFileIds?: string | undefined;
29
33
  requestUrl: string;
30
34
  }): Promise<{
31
35
  redirectTo: string;
36
+ exactReturn?: boolean;
32
37
  }>;
33
38
  export declare function transitionGoogleDriveLifecycle(deps: ApiRouteDeps, input: {
34
39
  workspaceId: string;
@@ -51,6 +56,8 @@ export declare function browseGoogleDrive(deps: ApiRouteDeps, input: {
51
56
  }): Promise<{
52
57
  connection: {
53
58
  id: string;
59
+ authorityId?: string | undefined;
60
+ connectionAuthorityGeneration?: number | undefined;
54
61
  accountId: string;
55
62
  workspaceId: string;
56
63
  subjectId: string | null;
@@ -106,6 +113,8 @@ export declare function browseGoogleDriveFacetSource(deps: ApiRouteDeps, input:
106
113
  }): Promise<{
107
114
  connection: {
108
115
  id: string;
116
+ authorityId?: string | undefined;
117
+ connectionAuthorityGeneration?: number | undefined;
109
118
  accountId: string;
110
119
  workspaceId: string;
111
120
  subjectId: string | null;
@@ -173,8 +182,24 @@ export declare function saveGoogleDriveSource(deps: ApiRouteDeps, input: {
173
182
  canManageWorkspaceDestination: boolean;
174
183
  canManagePersonalDestination: boolean;
175
184
  }): Promise<import("@opengeni/db").ConnectionMetadataWithVerification>;
185
+ export declare function preflightKnowledgeSourceScheduleAuthorization(deps: ApiRouteDeps, input: {
186
+ task: ScheduledTask;
187
+ subjectId: string;
188
+ }): Promise<void>;
176
189
  export declare function revokeKnowledgeSourceScheduleAuthorization(deps: ApiRouteDeps, input: {
177
190
  task: ScheduledTask;
178
191
  subjectId: string;
179
192
  }): Promise<void>;
193
+ export declare function cleanupKnowledgeSourceScheduleAuthorization(deps: ApiRouteDeps, input: {
194
+ taskId: string;
195
+ accountId: string;
196
+ workspaceId: string;
197
+ connectionId: string;
198
+ connectionVersion: number;
199
+ sourceId: string;
200
+ sourceLifecycleGeneration: number;
201
+ sourceConfigGeneration: number;
202
+ externalSourceId: string;
203
+ subjectId: string;
204
+ }): Promise<void>;
180
205
  export {};
@@ -0,0 +1,13 @@
1
+ import { type AccessGrant, type Permission } from "@opengeni/contracts";
2
+ import { type Settings } from "@opengeni/config";
3
+ import { type AccessGrantAuthorization } from "@opengeni/core";
4
+ import type { Database } from "@opengeni/db";
5
+ export type IntegrationCommitGrant = AccessGrant & {
6
+ authorizeCommit: (tx: Database) => Promise<void>;
7
+ };
8
+ /** Keep server-verified provenance alongside the grant across provider work.
9
+ * Call only inside the policy transaction, before persistence locks. */
10
+ export declare function integrationCommitGrant(authorization: AccessGrantAuthorization, permissions: readonly Permission[], request: {
11
+ settings: Settings;
12
+ authorizationHeader?: string | undefined;
13
+ }): Promise<IntegrationCommitGrant>;