@opengeni/core 4.3.3-canary.39786771332001 → 4.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { type Settings } from "@opengeni/config";
2
- import { CapabilityCatalogItem, OPENGENI_BROWSER_EXTENSION_URL, type AccessGrant, type CapabilityCatalogResponse, type CapabilityInstallation, type CreateCapabilityCatalogItemRequest, type EnableCapabilityRequest, type McpPersonalConnectionDelegation } from "@opengeni/contracts";
2
+ import { CapabilityCatalogItem, OPENGENI_BROWSER_EXTENSION_URL, type AccessGrant, type CapabilityCatalogResponse, type CapabilityInstallation, type CreateCapabilityCatalogItemRequest, type EnableCapabilityRequest, type McpPersonalConnectionDelegation, ToolAuthNeededPayload, type UserSetupBlocker } from "@opengeni/contracts";
3
3
  import { type SubscriptionCoreCodexAppsRequestAuth, type CodexCutoverDisposition, type Database, type ApiIntegrationRuntime, type EnabledMcpCapabilityServer } from "@opengeni/db";
4
4
  declare const officialMcpRegistryUrl = "https://registry.modelcontextprotocol.io";
5
5
  export declare function buildCapabilityCatalog(input: {
@@ -163,6 +163,16 @@ type McpRegistryFetch = (input: URL, init?: RequestInit) => Promise<Response>;
163
163
  * keeping its authorization state server-derived and explicit.
164
164
  */
165
165
  export declare function codexAppsCatalogItem(available: boolean): CapabilityCatalogItem;
166
+ /** How people and agents name the deployment's Chrome extension, and where it is installed. */
167
+ export type BrowserExtension = {
168
+ name: string;
169
+ installUrl: string;
170
+ };
171
+ /** The deployment's configured Chrome extension, else Opengeni Browser. */
172
+ export declare function browserExtension(settings: {
173
+ browserExtensionName?: string | undefined;
174
+ browserExtensionInstallUrl?: string | undefined;
175
+ }): BrowserExtension;
166
176
  /** The catalog id of the Excel add-in tile and its in-chat install card. */
167
177
  export declare const EXCEL_ADDIN_CAPABILITY_ID = "api:excel-addin";
168
178
  /** How people and agents name the deployment's Excel add-in, and where it is installed. */
@@ -195,7 +205,19 @@ export declare const CONNECTED_MACHINE_CAPABILITY_ID = "api:connected-machine";
195
205
  export { OPENGENI_BROWSER_EXTENSION_URL };
196
206
  export declare function nativeConnectionCapabilityRecommendations(options?: {
197
207
  connectedMachines?: boolean;
208
+ browserExtension?: BrowserExtension;
198
209
  }): CapabilityCatalogItem[];
210
+ /**
211
+ * The `tool.auth_needed` payload of the setup card that fixes a person-fixable
212
+ * tool refusal (see USER_SETUP_BLOCKERS). Every tool and route that hits such a
213
+ * refusal posts this same card in the calling turn, so the person sees the fix
214
+ * on the first attempt. Null when the blocker's capability is not a native
215
+ * card this deployment can show.
216
+ */
217
+ export declare function userSetupCardPayload(blocker: UserSetupBlocker, options: {
218
+ toolName: string;
219
+ requestedSandboxId?: string | null;
220
+ }): ToolAuthNeededPayload | null;
199
221
  export declare function applyCapabilityEnablement(item: CapabilityCatalogItem, installation: CapabilityInstallation | undefined): CapabilityCatalogItem;
200
222
  export type CapabilityCatalogSearchMatch = {
201
223
  item: CapabilityCatalogItem;
@@ -25,8 +25,8 @@ import {
25
25
  encodeEditableArtifactLiveOpenWireFrame,
26
26
  encodeEditableArtifactLiveServerWireFrame,
27
27
  inspectEditableArtifactLiveWireEnvelope
28
- } from "./chunk-R5FLZL3D.js";
29
- import "./chunk-DMVCCCCX.js";
28
+ } from "./chunk-QHQCVWRA.js";
29
+ import "./chunk-WZ46UWNS.js";
30
30
  export {
31
31
  EDITABLE_ARTIFACT_HINT_MAX_BYTES,
32
32
  EDITABLE_ARTIFACT_HINT_SUBJECT_PREFIX,
@@ -25,7 +25,7 @@ import {
25
25
  unsupportedEditableArtifactExport,
26
26
  validateEditableArtifactMaterializationJob,
27
27
  validateEditableArtifactPinnedVersion
28
- } from "./chunk-C3BPQGEH.js";
28
+ } from "./chunk-U3SWQHVX.js";
29
29
  import {
30
30
  EDITABLE_ARTIFACT_COMPACTION_BYTE_THRESHOLD,
31
31
  EDITABLE_ARTIFACT_COMPACTION_TRANSACTION_THRESHOLD,
@@ -91,7 +91,7 @@ import {
91
91
  mergeCausalFrontiers,
92
92
  ogatxEditableArtifactMutationIntentCodec,
93
93
  validateEditableArtifactActor
94
- } from "./chunk-DMVCCCCX.js";
94
+ } from "./chunk-WZ46UWNS.js";
95
95
  export {
96
96
  EDITABLE_ARTIFACT_COMPACTION_BYTE_THRESHOLD,
97
97
  EDITABLE_ARTIFACT_COMPACTION_TRANSACTION_THRESHOLD,
@@ -84,6 +84,8 @@ export declare function resolveGoalModelAdmission(db: Database, settings: Settin
84
84
  webBaseUrl?: string | undefined;
85
85
  officeAddinName: string;
86
86
  officeAddinInstallUrl?: string | undefined;
87
+ browserExtensionName: string;
88
+ browserExtensionInstallUrl?: string | undefined;
87
89
  agentReleasesBaseUrl: string;
88
90
  agentStableVersion: string;
89
91
  desktopStableVersion?: string | undefined;
package/dist/index.js CHANGED
@@ -16,34 +16,6 @@ import {
16
16
  withManagedAuthSessionLookup
17
17
  } from "./chunk-TTWTXQB2.js";
18
18
  import "./chunk-QO5GVFFO.js";
19
- import {
20
- EDITABLE_ARTIFACT_HINT_MAX_BYTES,
21
- EDITABLE_ARTIFACT_HINT_SUBJECT_PREFIX,
22
- EDITABLE_ARTIFACT_LIVE_PROTOCOL_VERSION,
23
- EDITABLE_ARTIFACT_LIVE_WIRE_VERSION,
24
- EditableArtifactApplication,
25
- EditableArtifactCompatibilityError,
26
- EditableArtifactHintEncodingError,
27
- EditableArtifactLiveError,
28
- EditableArtifactLiveOutboxDispatcher,
29
- EditableArtifactLiveServer,
30
- EditableArtifactLiveTicketAuthority,
31
- InMemoryEditableArtifactLiveTicketStore,
32
- MathEditableArtifactOutboxRandom,
33
- SystemEditableArtifactLiveClock,
34
- SystemEditableArtifactLiveScheduler,
35
- WebCryptoEditableArtifactLiveTokens,
36
- decodeEditableArtifactBrokerHint,
37
- decodeEditableArtifactLiveClientWireFrame,
38
- decodeEditableArtifactLiveServerWireFrame,
39
- editableArtifactLiveHintSubject,
40
- encodeEditableArtifactBrokerHint,
41
- encodeEditableArtifactLiveAppliedWireFrame,
42
- encodeEditableArtifactLiveMutationWireFrame,
43
- encodeEditableArtifactLiveOpenWireFrame,
44
- encodeEditableArtifactLiveServerWireFrame,
45
- inspectEditableArtifactLiveWireEnvelope
46
- } from "./chunk-R5FLZL3D.js";
47
19
  import {
48
20
  EDITABLE_ARTIFACT_EXPORT_FORMATS,
49
21
  EDITABLE_ARTIFACT_EXPORT_MAX_DOWNLOAD_BYTES,
@@ -71,7 +43,35 @@ import {
71
43
  unsupportedEditableArtifactExport,
72
44
  validateEditableArtifactMaterializationJob,
73
45
  validateEditableArtifactPinnedVersion
74
- } from "./chunk-C3BPQGEH.js";
46
+ } from "./chunk-U3SWQHVX.js";
47
+ import {
48
+ EDITABLE_ARTIFACT_HINT_MAX_BYTES,
49
+ EDITABLE_ARTIFACT_HINT_SUBJECT_PREFIX,
50
+ EDITABLE_ARTIFACT_LIVE_PROTOCOL_VERSION,
51
+ EDITABLE_ARTIFACT_LIVE_WIRE_VERSION,
52
+ EditableArtifactApplication,
53
+ EditableArtifactCompatibilityError,
54
+ EditableArtifactHintEncodingError,
55
+ EditableArtifactLiveError,
56
+ EditableArtifactLiveOutboxDispatcher,
57
+ EditableArtifactLiveServer,
58
+ EditableArtifactLiveTicketAuthority,
59
+ InMemoryEditableArtifactLiveTicketStore,
60
+ MathEditableArtifactOutboxRandom,
61
+ SystemEditableArtifactLiveClock,
62
+ SystemEditableArtifactLiveScheduler,
63
+ WebCryptoEditableArtifactLiveTokens,
64
+ decodeEditableArtifactBrokerHint,
65
+ decodeEditableArtifactLiveClientWireFrame,
66
+ decodeEditableArtifactLiveServerWireFrame,
67
+ editableArtifactLiveHintSubject,
68
+ encodeEditableArtifactBrokerHint,
69
+ encodeEditableArtifactLiveAppliedWireFrame,
70
+ encodeEditableArtifactLiveMutationWireFrame,
71
+ encodeEditableArtifactLiveOpenWireFrame,
72
+ encodeEditableArtifactLiveServerWireFrame,
73
+ inspectEditableArtifactLiveWireEnvelope
74
+ } from "./chunk-QHQCVWRA.js";
75
75
  import {
76
76
  EDITABLE_ARTIFACT_COMPACTION_BYTE_THRESHOLD,
77
77
  EDITABLE_ARTIFACT_COMPACTION_TRANSACTION_THRESHOLD,
@@ -137,7 +137,7 @@ import {
137
137
  mergeCausalFrontiers,
138
138
  ogatxEditableArtifactMutationIntentCodec,
139
139
  validateEditableArtifactActor
140
- } from "./chunk-DMVCCCCX.js";
140
+ } from "./chunk-WZ46UWNS.js";
141
141
 
142
142
  // src/domain/session-file-access.ts
143
143
  import {
@@ -1068,7 +1068,8 @@ import {
1068
1068
  FIKEN_PROVIDER_DOMAIN as FIKEN_PROVIDER_DOMAIN2,
1069
1069
  FIRST_PARTY_MCP_TOOL_NAMES,
1070
1070
  OPENGENI_BROWSER_EXTENSION_URL,
1071
- assertOrganizationIntegrationAllowed
1071
+ assertOrganizationIntegrationAllowed,
1072
+ ToolAuthNeededPayload
1072
1073
  } from "@opengeni/contracts";
1073
1074
  import {
1074
1075
  CODEX_APPS_MCP_SERVER_ID,
@@ -2614,6 +2615,12 @@ function onePasswordCatalogItem(connections) {
2614
2615
  }
2615
2616
  });
2616
2617
  }
2618
+ function browserExtension(settings) {
2619
+ return {
2620
+ name: settings.browserExtensionName ?? "Opengeni Browser",
2621
+ installUrl: settings.browserExtensionInstallUrl ?? OPENGENI_BROWSER_EXTENSION_URL
2622
+ };
2623
+ }
2617
2624
  var EXCEL_ADDIN_CAPABILITY_ID = "api:excel-addin";
2618
2625
  function excelAddin(settings) {
2619
2626
  const web = settings.webBaseUrl ?? settings.publicBaseUrl;
@@ -2702,6 +2709,7 @@ function providerIntegrationCatalogItems(socialConnections) {
2702
2709
  }
2703
2710
  var CONNECTED_MACHINE_CAPABILITY_ID = "api:connected-machine";
2704
2711
  function nativeConnectionCapabilityRecommendations(options = {}) {
2712
+ const extensionUrl = options.browserExtension?.installUrl ?? OPENGENI_BROWSER_EXTENSION_URL;
2705
2713
  const items = [
2706
2714
  CapabilityCatalogItem.parse({
2707
2715
  id: "api:github-app",
@@ -2770,7 +2778,7 @@ function nativeConnectionCapabilityRecommendations(options = {}) {
2770
2778
  tools: [{ kind: "mcp", id: "opengeni" }],
2771
2779
  runtime: {
2772
2780
  available: true,
2773
- notes: `The person sets up their machine from the chat card. The Chrome browser extension (${OPENGENI_BROWSER_EXTENSION_URL}) works only after the machine is connected.`
2781
+ notes: `The person sets up their machine from the chat card. The Chrome browser extension (${extensionUrl}) works only after the machine is connected.`
2774
2782
  },
2775
2783
  lifecycle: {
2776
2784
  status: "available",
@@ -2787,7 +2795,7 @@ function nativeConnectionCapabilityRecommendations(options = {}) {
2787
2795
  "connected_machine_enroll_token",
2788
2796
  "connected_machine_enable_screen_control"
2789
2797
  ],
2790
- browserExtensionUrl: OPENGENI_BROWSER_EXTENSION_URL,
2798
+ browserExtensionUrl: extensionUrl,
2791
2799
  recommendationOnly: true
2792
2800
  }
2793
2801
  })
@@ -2795,6 +2803,30 @@ function nativeConnectionCapabilityRecommendations(options = {}) {
2795
2803
  }
2796
2804
  return items;
2797
2805
  }
2806
+ function userSetupCardPayload(blocker, options) {
2807
+ const item = nativeConnectionCapabilityRecommendations({ connectedMachines: true }).find(
2808
+ (candidate) => candidate.id === blocker.capabilityId
2809
+ );
2810
+ if (!item) return null;
2811
+ return ToolAuthNeededPayload.parse({
2812
+ serverId: "opengeni",
2813
+ toolName: options.toolName,
2814
+ // Built-in capabilities are Opengeni's own; a blank domain must not fail the card.
2815
+ providerDomain: item.providerDomain?.trim() || "opengeni.local",
2816
+ reason: "missing_connection",
2817
+ capability: {
2818
+ id: item.id,
2819
+ name: item.name,
2820
+ kind: item.kind,
2821
+ source: item.source,
2822
+ action: "connect",
2823
+ rationale: blocker.rationale,
2824
+ requiredVariables: []
2825
+ },
2826
+ ...options.requestedSandboxId ? { requestedSandboxId: options.requestedSandboxId } : {},
2827
+ ...blocker.purpose ? { purpose: blocker.purpose } : {}
2828
+ });
2829
+ }
2798
2830
  function socialConnectionCounts(connections, provider) {
2799
2831
  const matching = connections.filter((connection) => connection.provider === provider);
2800
2832
  return {
@@ -30765,6 +30797,7 @@ export {
30765
30797
  availableMcpAccountBindings,
30766
30798
  availableToolRefs,
30767
30799
  bindVaultProviderAuthority,
30800
+ browserExtension,
30768
30801
  buildApiIntegrationMcpServers,
30769
30802
  buildAutomationAcceptedExecution,
30770
30803
  buildCapabilityCatalog,
@@ -31352,6 +31385,7 @@ export {
31352
31385
  updateSessionSkills,
31353
31386
  updateSessionTitle,
31354
31387
  updateSessionToolPolicy,
31388
+ userSetupCardPayload,
31355
31389
  validateEditableArtifactActor,
31356
31390
  validateEditableArtifactMaterializationJob,
31357
31391
  validateEditableArtifactPinnedVersion,