@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
@@ -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,6 +22,8 @@ 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;
@@ -30,6 +33,7 @@ export declare function completeGoogleDriveOAuthCallback(deps: ApiRouteDeps, inp
30
33
  requestUrl: string;
31
34
  }): Promise<{
32
35
  redirectTo: string;
36
+ exactReturn?: boolean;
33
37
  }>;
34
38
  export declare function transitionGoogleDriveLifecycle(deps: ApiRouteDeps, input: {
35
39
  workspaceId: string;
@@ -52,6 +56,8 @@ export declare function browseGoogleDrive(deps: ApiRouteDeps, input: {
52
56
  }): Promise<{
53
57
  connection: {
54
58
  id: string;
59
+ authorityId?: string | undefined;
60
+ connectionAuthorityGeneration?: number | undefined;
55
61
  accountId: string;
56
62
  workspaceId: string;
57
63
  subjectId: string | null;
@@ -107,6 +113,8 @@ export declare function browseGoogleDriveFacetSource(deps: ApiRouteDeps, input:
107
113
  }): Promise<{
108
114
  connection: {
109
115
  id: string;
116
+ authorityId?: string | undefined;
117
+ connectionAuthorityGeneration?: number | undefined;
110
118
  accountId: string;
111
119
  workspaceId: string;
112
120
  subjectId: string | null;
@@ -174,8 +182,24 @@ export declare function saveGoogleDriveSource(deps: ApiRouteDeps, input: {
174
182
  canManageWorkspaceDestination: boolean;
175
183
  canManagePersonalDestination: boolean;
176
184
  }): Promise<import("@opengeni/db").ConnectionMetadataWithVerification>;
185
+ export declare function preflightKnowledgeSourceScheduleAuthorization(deps: ApiRouteDeps, input: {
186
+ task: ScheduledTask;
187
+ subjectId: string;
188
+ }): Promise<void>;
177
189
  export declare function revokeKnowledgeSourceScheduleAuthorization(deps: ApiRouteDeps, input: {
178
190
  task: ScheduledTask;
179
191
  subjectId: string;
180
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>;
181
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>;