@opengeni/api-router 0.22.2 → 0.23.1

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 (44) hide show
  1. package/dist/app.js +1 -1
  2. package/dist/auth/managed-auth.d.ts +0 -30
  3. package/dist/{chunk-HWXJW5C7.js → chunk-T4T2PGU4.js} +3036 -1362
  4. package/dist/chunk-T4T2PGU4.js.map +1 -0
  5. package/dist/http/sse.d.ts +2 -0
  6. package/dist/index.js +29 -9
  7. package/dist/index.js.map +1 -1
  8. package/dist/integrations/oauth-client.d.ts +8 -0
  9. package/dist/integrations/slack-interactions.d.ts +7 -1
  10. package/dist/mcp/receipts.d.ts +28 -0
  11. package/dist/mcp/scheduled-task-view.d.ts +350 -0
  12. package/dist/mcp/toolspace.d.ts +9 -0
  13. package/dist/sandbox/auth-callout.d.ts +2 -0
  14. package/dist/sandbox/channel-a.d.ts +5 -1
  15. package/package.json +12 -12
  16. package/src/app.ts +3 -4
  17. package/src/auth/managed-auth.ts +0 -16
  18. package/src/http/sse.ts +101 -6
  19. package/src/index.ts +28 -3
  20. package/src/integrations/oauth-client.ts +36 -56
  21. package/src/integrations/slack-interactions.ts +123 -15
  22. package/src/mcp/documents.ts +42 -25
  23. package/src/mcp/receipts.ts +95 -0
  24. package/src/mcp/scheduled-task-view.ts +608 -0
  25. package/src/mcp/server.ts +812 -182
  26. package/src/mcp/toolspace.ts +75 -71
  27. package/src/observability.ts +3 -3
  28. package/src/routes/api-keys.ts +7 -1
  29. package/src/routes/codex.ts +7 -4
  30. package/src/routes/connections.ts +74 -3
  31. package/src/routes/enrollments.ts +54 -12
  32. package/src/routes/environments.ts +60 -11
  33. package/src/routes/files.ts +175 -65
  34. package/src/routes/install.ts +31 -1
  35. package/src/routes/machines.ts +1 -1
  36. package/src/routes/scheduled-tasks.ts +39 -14
  37. package/src/routes/sessions.ts +77 -12
  38. package/src/routes/transcription-recordings.ts +65 -33
  39. package/src/sandbox/auth-callout.ts +16 -4
  40. package/src/sandbox/channel-a.ts +124 -7
  41. package/src/sandbox/enrollment.ts +13 -3
  42. package/src/sandbox/machines.ts +1 -1
  43. package/src/sandbox/viewer.ts +29 -20
  44. package/dist/chunk-HWXJW5C7.js.map +0 -1
@@ -74,6 +74,7 @@ import {
74
74
  } from "@opengeni/runtime/sandbox";
75
75
  import { relayConfigFromSettings } from "@opengeni/core";
76
76
  import { establishApiSandboxSpawner } from "./rematerialize";
77
+ import { establishCachedChannelAHandle } from "./channel-a";
77
78
 
78
79
  /** The minimal services a viewer op needs: the DB + settings (lease cadence +
79
80
  * the sandbox client construction the leaf reads from settings). The bus is
@@ -730,18 +731,22 @@ export async function mintDesktopStream(
730
731
  // SAME stable run-env the turn declares, so a later turn finds no env delta.
731
732
  const environment = await sessionAttachEnvironment(services, workspaceId, session);
732
733
  try {
734
+ const establish = () =>
735
+ (services.establishSandboxSession ?? establishSandboxSessionFromEnvelope)(
736
+ settings,
737
+ envelope,
738
+ {
739
+ sessionId: session.id,
740
+ recovery: "resume-only",
741
+ backendOverride: session.sandboxBackend,
742
+ environment,
743
+ },
744
+ );
733
745
  established = input.establish
734
746
  ? await input.establish(envelope)
735
- : await (services.establishSandboxSession ?? establishSandboxSessionFromEnvelope)(
736
- settings,
737
- envelope,
738
- {
739
- sessionId: session.id,
740
- recovery: "resume-only",
741
- backendOverride: session.sandboxBackend,
742
- environment,
743
- },
744
- );
747
+ : services.establishSandboxSession
748
+ ? await establish()
749
+ : await establishCachedChannelAHandle(workspaceId, session.id, lease, establish);
745
750
  } catch (error) {
746
751
  await retireMissingWarmLease(services, { accountId, workspaceId, session, lease }, error);
747
752
  return null;
@@ -955,18 +960,22 @@ export async function mintTerminalStream(
955
960
  // declares, so a later turn finds no manifest-env delta.
956
961
  const environment = await sessionAttachEnvironment(services, workspaceId, session);
957
962
  try {
963
+ const establish = () =>
964
+ (services.establishSandboxSession ?? establishSandboxSessionFromEnvelope)(
965
+ settings,
966
+ envelope,
967
+ {
968
+ sessionId: session.id,
969
+ recovery: "resume-only",
970
+ backendOverride: session.sandboxBackend,
971
+ environment,
972
+ },
973
+ );
958
974
  established = input.establish
959
975
  ? await input.establish(envelope)
960
- : await (services.establishSandboxSession ?? establishSandboxSessionFromEnvelope)(
961
- settings,
962
- envelope,
963
- {
964
- sessionId: session.id,
965
- recovery: "resume-only",
966
- backendOverride: session.sandboxBackend,
967
- environment,
968
- },
969
- );
976
+ : services.establishSandboxSession
977
+ ? await establish()
978
+ : await establishCachedChannelAHandle(workspaceId, session.id, lease, establish);
970
979
  } catch (error) {
971
980
  await retireMissingWarmLease(services, { accountId, workspaceId, session, lease }, error);
972
981
  return null;