@opengeni/runtime 3.2.2 → 3.3.1-canary.38922642121001
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.
- package/dist/agent-LJT5NPWT.js +9 -0
- package/dist/assets/codemode-client.json +1 -1
- package/dist/{chunk-HJSIPTFA.js → chunk-4XDJ4TJA.js} +2 -2
- package/dist/{chunk-XQ23VCZ4.js → chunk-6FQ6KEII.js} +3 -3
- package/dist/{chunk-7LJ7KDPI.js → chunk-ERD4ICVB.js} +4 -3
- package/dist/{chunk-YG26XE7B.js → chunk-JYDG2A7H.js} +2 -2
- package/dist/{chunk-RSHQSLEJ.js → chunk-KIL4FGX5.js} +3 -3
- package/dist/{chunk-NWS4HPB7.js → chunk-MIAL5I4O.js} +2 -2
- package/dist/{chunk-7OUG7WBV.js → chunk-N5EB52EH.js} +3 -3
- package/dist/{chunk-Z5U6WE22.js → chunk-PRZPGRIK.js} +2 -2
- package/dist/{chunk-KCPW4K7L.js → chunk-PZQUUBEB.js} +2 -2
- package/dist/{chunk-2AUDDDO2.js → chunk-XJARX6VV.js} +194 -23
- package/dist/chunk-XJARX6VV.js.map +1 -0
- package/dist/{chunk-5WJOPANS.js → chunk-Y5THZH5N.js} +7 -7
- package/dist/{chunk-462CH77G.js → chunk-ZUHGY36R.js} +181 -8
- package/dist/chunk-ZUHGY36R.js.map +1 -0
- package/dist/gmail-rest-mcp.js +8 -8
- package/dist/index.d.ts +3 -0
- package/dist/index.js +14 -12
- package/dist/interaction-tool-json-schema.d.ts +20 -0
- package/dist/{lazy-manifest-AJ6XPJ4F.js → lazy-manifest-BLZ3UZLX.js} +4 -4
- package/dist/{localSources-SSIEH5F5.js → localSources-I6SIQ6CX.js} +6 -6
- package/dist/model-call.js +3 -3
- package/dist/sandbox/browser-control-client.d.ts +10 -0
- package/dist/sandbox/browser-control-http.d.ts +33 -0
- package/dist/sandbox/index.js +7 -7
- package/dist/sandbox/routing/backend-resolver.d.ts +1 -0
- package/dist/sandbox/selfhosted/session.d.ts +19 -0
- package/dist/slack-rest-mcp.js +8 -8
- package/dist/workspace-tool-gateway.js +12 -12
- package/package.json +14 -14
- package/src/bundled_site_skills/opengeni-sites/SKILL.md +46 -12
- package/src/index.ts +39 -1
- package/src/interaction-tool-json-schema.ts +214 -0
- package/src/interaction-tools.ts +6 -6
- package/src/sandbox/browser-control-client.ts +89 -0
- package/src/sandbox/browser-control-http.ts +32 -0
- package/src/sandbox/routing/backend-resolver.ts +2 -0
- package/src/sandbox/selfhosted/session.ts +116 -0
- package/dist/agent-CTPLA3HP.js +0 -9
- package/dist/browser-action-json-schema.d.ts +0 -4
- package/dist/chunk-2AUDDDO2.js.map +0 -1
- package/dist/chunk-462CH77G.js.map +0 -1
- package/src/browser-action-json-schema.ts +0 -10
- /package/dist/{agent-CTPLA3HP.js.map → agent-LJT5NPWT.js.map} +0 -0
- /package/dist/{chunk-HJSIPTFA.js.map → chunk-4XDJ4TJA.js.map} +0 -0
- /package/dist/{chunk-XQ23VCZ4.js.map → chunk-6FQ6KEII.js.map} +0 -0
- /package/dist/{chunk-7LJ7KDPI.js.map → chunk-ERD4ICVB.js.map} +0 -0
- /package/dist/{chunk-YG26XE7B.js.map → chunk-JYDG2A7H.js.map} +0 -0
- /package/dist/{chunk-RSHQSLEJ.js.map → chunk-KIL4FGX5.js.map} +0 -0
- /package/dist/{chunk-NWS4HPB7.js.map → chunk-MIAL5I4O.js.map} +0 -0
- /package/dist/{chunk-7OUG7WBV.js.map → chunk-N5EB52EH.js.map} +0 -0
- /package/dist/{chunk-Z5U6WE22.js.map → chunk-PRZPGRIK.js.map} +0 -0
- /package/dist/{chunk-KCPW4K7L.js.map → chunk-PZQUUBEB.js.map} +0 -0
- /package/dist/{chunk-5WJOPANS.js.map → chunk-Y5THZH5N.js.map} +0 -0
- /package/dist/{lazy-manifest-AJ6XPJ4F.js.map → lazy-manifest-BLZ3UZLX.js.map} +0 -0
- /package/dist/{localSources-SSIEH5F5.js.map → localSources-I6SIQ6CX.js.map} +0 -0
package/dist/gmail-rest-mcp.js
CHANGED
|
@@ -11,15 +11,15 @@ import {
|
|
|
11
11
|
gmailToolAvailableOnDeployment,
|
|
12
12
|
gmailToolSupportsScopes,
|
|
13
13
|
isOfficialGmailMcpConfig
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-6FQ6KEII.js";
|
|
15
|
+
import "./chunk-PRZPGRIK.js";
|
|
16
|
+
import "./chunk-Y5THZH5N.js";
|
|
17
17
|
import "./chunk-4A4XTKKX.js";
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-JYDG2A7H.js";
|
|
19
|
+
import "./chunk-MIAL5I4O.js";
|
|
20
|
+
import "./chunk-4XDJ4TJA.js";
|
|
21
|
+
import "./chunk-PZQUUBEB.js";
|
|
22
|
+
import "./chunk-ERD4ICVB.js";
|
|
23
23
|
import "./chunk-LJNCGUMB.js";
|
|
24
24
|
import "./chunk-PLDDJCW6.js";
|
|
25
25
|
export {
|
package/dist/index.d.ts
CHANGED
|
@@ -708,6 +708,9 @@ export declare function buildOpenGeniAgent(settings: Settings, resources: Resour
|
|
|
708
708
|
* or writes those rules must derive the identity through this function.
|
|
709
709
|
*/
|
|
710
710
|
export declare function sessionMcpApprovalConnectionId(serverId: string, url: string): string;
|
|
711
|
+
/** Why interaction_request_human arguments cannot be recorded as an
|
|
712
|
+
* intervention, in words the model can act on, or null when they can. */
|
|
713
|
+
export declare function interactionRequestArgumentsProblem(serialized: string): string | null;
|
|
711
714
|
/**
|
|
712
715
|
* Codex and reviewed Responses-compatible Gateway routes accept ordinary
|
|
713
716
|
* FUNCTION tools plus `input_image` content inside a function_call_output. The
|
package/dist/index.js
CHANGED
|
@@ -99,6 +99,7 @@ import {
|
|
|
99
99
|
identityFromLegacyTemplate,
|
|
100
100
|
incrementalModelInputProjectionFilter,
|
|
101
101
|
inspectPersistentAgentInstructions,
|
|
102
|
+
interactionRequestArgumentsProblem,
|
|
102
103
|
interactionToolErrorOutput,
|
|
103
104
|
interruptionKindForCallItem,
|
|
104
105
|
invokePreparedAgentTool,
|
|
@@ -187,7 +188,7 @@ import {
|
|
|
187
188
|
workspaceEnvironmentInstructions,
|
|
188
189
|
wrapAttemptToolDefinitions,
|
|
189
190
|
wrapAttemptToolExecute
|
|
190
|
-
} from "./chunk-
|
|
191
|
+
} from "./chunk-XJARX6VV.js";
|
|
191
192
|
import {
|
|
192
193
|
ActiveBackendUnresolvableError,
|
|
193
194
|
BROWSER_CONTROL_ADMIN_TOKEN_FILE,
|
|
@@ -403,7 +404,7 @@ import {
|
|
|
403
404
|
withRunCredentialsSession,
|
|
404
405
|
withoutSandboxProviderIdentity,
|
|
405
406
|
workspaceArchiveDownloadTemporaryDirectory
|
|
406
|
-
} from "./chunk-
|
|
407
|
+
} from "./chunk-ZUHGY36R.js";
|
|
407
408
|
import {
|
|
408
409
|
SKILL_MAX_FILES,
|
|
409
410
|
SKILL_MAX_FILE_BYTES,
|
|
@@ -558,7 +559,7 @@ import {
|
|
|
558
559
|
toolCallIdFromSdkItem,
|
|
559
560
|
vercelGatewayRoutingFetch,
|
|
560
561
|
withClaudeUsageObserver
|
|
561
|
-
} from "./chunk-
|
|
562
|
+
} from "./chunk-N5EB52EH.js";
|
|
562
563
|
import {
|
|
563
564
|
UnsupportedProtocolJsonValueError,
|
|
564
565
|
normalizeProtocolJsonValue
|
|
@@ -572,7 +573,7 @@ import {
|
|
|
572
573
|
gmailToolAvailableOnDeployment,
|
|
573
574
|
gmailToolSupportsScopes,
|
|
574
575
|
isOfficialGmailMcpConfig
|
|
575
|
-
} from "./chunk-
|
|
576
|
+
} from "./chunk-6FQ6KEII.js";
|
|
576
577
|
import {
|
|
577
578
|
OFFICIAL_SLACK_MCP_URL,
|
|
578
579
|
SLACK_REST_API_BASE,
|
|
@@ -580,14 +581,14 @@ import {
|
|
|
580
581
|
SlackRestMcpServer,
|
|
581
582
|
isOfficialSlackMcpConfig,
|
|
582
583
|
slackRestToolIsMutation
|
|
583
|
-
} from "./chunk-
|
|
584
|
+
} from "./chunk-KIL4FGX5.js";
|
|
584
585
|
import {
|
|
585
586
|
CONNECTOR_ATTACHMENT_PROVIDER_RESULT_MAX_BYTES,
|
|
586
587
|
CONNECTOR_ATTACHMENT_SANITIZED_RESULT_MAX_BYTES,
|
|
587
588
|
ConnectorAttachmentTransferError,
|
|
588
589
|
connectorAttachmentSandboxPath,
|
|
589
590
|
projectConnectorAttachmentTransfers
|
|
590
|
-
} from "./chunk-
|
|
591
|
+
} from "./chunk-PRZPGRIK.js";
|
|
591
592
|
import {
|
|
592
593
|
CODE_SEARCH_RG_MAX_BYTES,
|
|
593
594
|
ChannelAConflictError,
|
|
@@ -684,15 +685,15 @@ import {
|
|
|
684
685
|
validateCodeSearchRipgrepArgs,
|
|
685
686
|
withModalCommandStartSignal,
|
|
686
687
|
withRoutingMutationOutputRejectionFence
|
|
687
|
-
} from "./chunk-
|
|
688
|
+
} from "./chunk-Y5THZH5N.js";
|
|
688
689
|
import "./chunk-4A4XTKKX.js";
|
|
689
|
-
import "./chunk-
|
|
690
|
-
import "./chunk-
|
|
691
|
-
import "./chunk-
|
|
692
|
-
import "./chunk-
|
|
690
|
+
import "./chunk-JYDG2A7H.js";
|
|
691
|
+
import "./chunk-MIAL5I4O.js";
|
|
692
|
+
import "./chunk-4XDJ4TJA.js";
|
|
693
|
+
import "./chunk-PZQUUBEB.js";
|
|
693
694
|
import {
|
|
694
695
|
MaxTurnsExceededError
|
|
695
|
-
} from "./chunk-
|
|
696
|
+
} from "./chunk-ERD4ICVB.js";
|
|
696
697
|
import "./chunk-LJNCGUMB.js";
|
|
697
698
|
import "./chunk-PLDDJCW6.js";
|
|
698
699
|
export {
|
|
@@ -1084,6 +1085,7 @@ export {
|
|
|
1084
1085
|
inspectModalSandboxLifecycle,
|
|
1085
1086
|
inspectPersistentAgentInstructions,
|
|
1086
1087
|
inspectRecordingArtifact,
|
|
1088
|
+
interactionRequestArgumentsProblem,
|
|
1087
1089
|
interactionToolErrorOutput,
|
|
1088
1090
|
interruptionKindForCallItem,
|
|
1089
1091
|
invokePreparedAgentTool,
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { AttemptToolJsonSchema } from "@opengeni/contracts";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
/**
|
|
4
|
+
* The JSON Schema an interaction tool shows the model.
|
|
5
|
+
*
|
|
6
|
+
* Model providers expand every `$ref` when they render a tool, so a tagged
|
|
7
|
+
* union such as a browser action, whose locator union repeats in each of its
|
|
8
|
+
* twenty variants, costs several thousand tokens. Each tagged union of objects
|
|
9
|
+
* is shown as one object instead: the tag lists every variant, each field
|
|
10
|
+
* appears once, and one compact line names the fields each variant takes.
|
|
11
|
+
* Validation-only limits are left out. The tool's own Zod schema stays the
|
|
12
|
+
* authority and rejects any invalid combination with the exact field.
|
|
13
|
+
*/
|
|
14
|
+
export declare function interactionToolInputJsonSchema(schema: z.ZodType): AttemptToolJsonSchema;
|
|
15
|
+
/**
|
|
16
|
+
* Name exactly what is wrong with invalid tool arguments. A union failure
|
|
17
|
+
* reports the variant the arguments chose (the one whose tag matched), so a
|
|
18
|
+
* click without a locator role says `action.locator.role`, not only "invalid".
|
|
19
|
+
*/
|
|
20
|
+
export declare function describeInvalidToolArguments(error: z.ZodError): string;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import "./chunk-4A4XTKKX.js";
|
|
2
|
-
import "./chunk-
|
|
3
|
-
import "./chunk-
|
|
2
|
+
import "./chunk-MIAL5I4O.js";
|
|
3
|
+
import "./chunk-4XDJ4TJA.js";
|
|
4
4
|
import {
|
|
5
5
|
Manifest
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-ERD4ICVB.js";
|
|
7
7
|
import "./chunk-PLDDJCW6.js";
|
|
8
8
|
|
|
9
9
|
// src/lazy-manifest.ts
|
|
@@ -43,4 +43,4 @@ async function recordLazyMaterializedDirectories(session, target) {
|
|
|
43
43
|
export {
|
|
44
44
|
recordLazyMaterializedDirectories
|
|
45
45
|
};
|
|
46
|
-
//# sourceMappingURL=lazy-manifest-
|
|
46
|
+
//# sourceMappingURL=lazy-manifest-BLZ3UZLX.js.map
|
|
@@ -3,11 +3,11 @@ import {
|
|
|
3
3
|
applyLocalSourceManifestToState,
|
|
4
4
|
materializeLocalSourceManifest,
|
|
5
5
|
materializeLocalSourceManifestEntry
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-JYDG2A7H.js";
|
|
7
|
+
import "./chunk-MIAL5I4O.js";
|
|
8
|
+
import "./chunk-4XDJ4TJA.js";
|
|
9
|
+
import "./chunk-PZQUUBEB.js";
|
|
10
|
+
import "./chunk-ERD4ICVB.js";
|
|
11
11
|
import "./chunk-PLDDJCW6.js";
|
|
12
12
|
export {
|
|
13
13
|
applyLocalSourceManifestEntryToState,
|
|
@@ -15,4 +15,4 @@ export {
|
|
|
15
15
|
materializeLocalSourceManifest,
|
|
16
16
|
materializeLocalSourceManifestEntry
|
|
17
17
|
};
|
|
18
|
-
//# sourceMappingURL=localSources-
|
|
18
|
+
//# sourceMappingURL=localSources-I6SIQ6CX.js.map
|
package/dist/model-call.js
CHANGED
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
SingleModelCallUnsupportedError,
|
|
5
5
|
normalizeModelCallUsage,
|
|
6
6
|
runSingleModelCall
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-N5EB52EH.js";
|
|
8
8
|
import "./chunk-5ULGMFKR.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-PZQUUBEB.js";
|
|
10
|
+
import "./chunk-ERD4ICVB.js";
|
|
11
11
|
import "./chunk-LJNCGUMB.js";
|
|
12
12
|
import "./chunk-PLDDJCW6.js";
|
|
13
13
|
export {
|
|
@@ -3,6 +3,7 @@ import { type BrowserFrameMetadata } from "@opengeni/sdk";
|
|
|
3
3
|
import { BROWSER_PROFILE_ARTIFACT_FORMAT, type BrowserActionCommand as BrowserActionCommandValue, type BrowserActionReceipt as BrowserActionReceiptValue, type BrowserClipboard as BrowserClipboardValue, type BrowserDiagnosticBatch as BrowserDiagnosticBatchValue, type BrowserDownload as BrowserDownloadValue, type BrowserDownloadExportReceipt as BrowserDownloadExportReceiptValue, type BrowserDownloadExportRequest as BrowserDownloadExportRequestValue, type BrowserDownloadListResponse as BrowserDownloadListResponseValue, type BrowserDomReadRequest as BrowserDomReadRequestValue, type BrowserDomReadResponse as BrowserDomReadResponseValue, type BrowserExternalAuthCommand as BrowserExternalAuthCommandValue, type BrowserExternalAuthResult as BrowserExternalAuthResultValue, type BrowserDiagnosticKind, type BrowserTargetListResponse as BrowserTargetListResponseValue, type BrowserObservation as BrowserObservationValue, type BrowserRevisionMaterialization as BrowserRevisionMaterializationValue, type BrowserTarget as BrowserTargetValue, type BrowserTargetState as BrowserTargetStateValue, type BrowserWorkspaceFileStageRequest as BrowserWorkspaceFileStageRequestValue, type BrowserWorkspaceFileStageResponse as BrowserWorkspaceFileStageResponseValue, type BrowserPasskeySyncRequest as BrowserPasskeySyncRequestValue, type BrowserPasskeySyncResponse as BrowserPasskeySyncResponseValue, type ComputerActionCommand as ComputerActionCommandValue, type ComputerActionReceipt as ComputerActionReceiptValue, type ComputerClipboard as ComputerClipboardValue, type ComputerObservation as ComputerObservationValue, type ComputerSessionCapabilities as ComputerSessionCapabilitiesValue, type ComputerTarget as ComputerTargetValue, type InteractionError as InteractionErrorValue, type NetworkRouteConsistency as NetworkRouteConsistencyValue } from "@opengeni/contracts";
|
|
4
4
|
import type { BrowserControlEnsureRequest, BrowserControlEnsureResponse, BrowserFramesOpenRequest, ComputerFramesOpenRequest, StreamChannel } from "@opengeni/agent-proto";
|
|
5
5
|
import { type EnsureBrowserControlServerResult } from "./browser-control-server.js";
|
|
6
|
+
import type { BrowserControlHttpCall, BrowserControlHttpOutcome } from "./browser-control-http.js";
|
|
6
7
|
import { type ExposedPortEndpoint } from "./stream-port.js";
|
|
7
8
|
export declare const BROWSER_CONTROL_ADMIN_TOKEN_FILE = "/tmp/opengeni-browserd/authority/admin-token";
|
|
8
9
|
type ExecResultLike = {
|
|
@@ -68,6 +69,8 @@ export type BrowserControlPlacementSession = {
|
|
|
68
69
|
}) => void;
|
|
69
70
|
};
|
|
70
71
|
ensureBrowserControl?: (request: BrowserControlEnsureRequest) => Promise<BrowserControlEnsureResponse>;
|
|
72
|
+
/** Agent-native controller transport, addressed by authority scope. */
|
|
73
|
+
browserControlHttp?: (request: BrowserControlHttpCall) => Promise<BrowserControlHttpOutcome>;
|
|
71
74
|
openBrowserFrames?: (request: BrowserFramesOpenRequest) => Promise<{
|
|
72
75
|
channel: StreamChannel;
|
|
73
76
|
endpoint: ExposedPortEndpoint;
|
|
@@ -434,6 +437,13 @@ export declare class BrowserControlClient {
|
|
|
434
437
|
private requestBytes;
|
|
435
438
|
private requestStream;
|
|
436
439
|
private controllerPort;
|
|
440
|
+
/** The agent-native transport: one in-process loopback request on the
|
|
441
|
+
* Connected Machine, addressed by authority scope, with no process started.
|
|
442
|
+
* Null when the placement does not serve it; the caller then keeps its
|
|
443
|
+
* command transport. A controller that is not running receives nothing, so
|
|
444
|
+
* it is ensured and the request sent once more whatever its method. */
|
|
445
|
+
private requestNative;
|
|
446
|
+
private ensureControllerPort;
|
|
437
447
|
}
|
|
438
448
|
export declare class BrowserControlSessionClient {
|
|
439
449
|
readonly reference: PlacementBrowserSessionReference;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/** One request to an agent-owned browser/computer controller, addressed by its
|
|
2
|
+
* exact authority scope rather than a local port. */
|
|
3
|
+
export type BrowserControlHttpCall = {
|
|
4
|
+
scopeId: string;
|
|
5
|
+
scopeGeneration: string;
|
|
6
|
+
method: "GET" | "POST" | "PUT" | "DELETE";
|
|
7
|
+
/** Absolute controller path with optional query. */
|
|
8
|
+
path: string;
|
|
9
|
+
bearerToken: string;
|
|
10
|
+
/** JSON request body bytes, when the request has a body. */
|
|
11
|
+
body?: Uint8Array;
|
|
12
|
+
timeoutMs: number;
|
|
13
|
+
maxResponseBytes: number;
|
|
14
|
+
};
|
|
15
|
+
/** What a placement transport did with one controller request. */
|
|
16
|
+
export type BrowserControlHttpOutcome =
|
|
17
|
+
/** The placement cannot serve it natively; nothing was sent. */
|
|
18
|
+
{
|
|
19
|
+
kind: "unsupported";
|
|
20
|
+
}
|
|
21
|
+
/** No controller for that scope and generation accepted it; nothing was
|
|
22
|
+
* delivered, so the caller may ensure the controller and send again. */
|
|
23
|
+
| {
|
|
24
|
+
kind: "controller_absent";
|
|
25
|
+
} | {
|
|
26
|
+
kind: "response";
|
|
27
|
+
status: number;
|
|
28
|
+
/** Lowercase header names. */
|
|
29
|
+
headers: Map<string, string>;
|
|
30
|
+
body: Uint8Array;
|
|
31
|
+
};
|
|
32
|
+
/** Extra time beyond the request's own deadline for the reply to arrive. */
|
|
33
|
+
export declare const BROWSER_CONTROL_HTTP_REPLY_GRACE_MS = 5000;
|
package/dist/sandbox/index.js
CHANGED
|
@@ -213,7 +213,7 @@ import {
|
|
|
213
213
|
withRunCredentialsSession,
|
|
214
214
|
withoutSandboxProviderIdentity,
|
|
215
215
|
workspaceArchiveDownloadTemporaryDirectory
|
|
216
|
-
} from "../chunk-
|
|
216
|
+
} from "../chunk-ZUHGY36R.js";
|
|
217
217
|
import "../chunk-5ULGMFKR.js";
|
|
218
218
|
import {
|
|
219
219
|
CODE_SEARCH_RG_MAX_BYTES,
|
|
@@ -311,13 +311,13 @@ import {
|
|
|
311
311
|
validateCodeSearchRipgrepArgs,
|
|
312
312
|
withModalCommandStartSignal,
|
|
313
313
|
withRoutingMutationOutputRejectionFence
|
|
314
|
-
} from "../chunk-
|
|
314
|
+
} from "../chunk-Y5THZH5N.js";
|
|
315
315
|
import "../chunk-4A4XTKKX.js";
|
|
316
|
-
import "../chunk-
|
|
317
|
-
import "../chunk-
|
|
318
|
-
import "../chunk-
|
|
319
|
-
import "../chunk-
|
|
320
|
-
import "../chunk-
|
|
316
|
+
import "../chunk-JYDG2A7H.js";
|
|
317
|
+
import "../chunk-MIAL5I4O.js";
|
|
318
|
+
import "../chunk-4XDJ4TJA.js";
|
|
319
|
+
import "../chunk-PZQUUBEB.js";
|
|
320
|
+
import "../chunk-ERD4ICVB.js";
|
|
321
321
|
import "../chunk-PLDDJCW6.js";
|
|
322
322
|
export {
|
|
323
323
|
ActiveBackendUnresolvableError,
|
|
@@ -32,6 +32,7 @@ export interface SelfhostedConnectionBinding {
|
|
|
32
32
|
operationResourcePolicySupported: boolean;
|
|
33
33
|
operationCpuQuotaSupported: boolean;
|
|
34
34
|
transactionalFsWriteSupported?: boolean;
|
|
35
|
+
browserControlHttpSupported?: boolean;
|
|
35
36
|
}
|
|
36
37
|
export interface ActiveBackendResolverDeps {
|
|
37
38
|
/** The workspace the session belongs to (the control-plane subject scope). */
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ControlResponse, type BrowserControlEnsureRequest, type BrowserControlEnsureResponse, type BrowserFramesOpenRequest, type ComputerFramesOpenRequest, type StreamChannel } from "@opengeni/agent-proto";
|
|
2
2
|
import { Manifest } from "@openai/agents/sandbox";
|
|
3
3
|
import type { ExposedPortEndpoint } from "../stream-port.js";
|
|
4
|
+
import { type BrowserControlHttpCall, type BrowserControlHttpOutcome } from "../browser-control-http.js";
|
|
4
5
|
import { type ControlRpc } from "./control-rpc.js";
|
|
5
6
|
import { type SelfhostedRetryClock } from "./retry-policy.js";
|
|
6
7
|
import type { SelfhostedOpObserver } from "./op-observer.js";
|
|
@@ -100,6 +101,8 @@ export interface SelfhostedBackgroundCommandAdoption {
|
|
|
100
101
|
* every exec/Git admission; retries and already-started operations retain it. */
|
|
101
102
|
export interface SelfhostedOperationAdmission {
|
|
102
103
|
transactionalFsWriteSupported?: boolean;
|
|
104
|
+
/** The live runner serves in-process browser/computer controller requests. */
|
|
105
|
+
browserControlHttpSupported?: boolean;
|
|
103
106
|
/** Workspace segment of the physical agent/relay route. Personal machines may
|
|
104
107
|
* originate in a different same-organization workspace than the session. */
|
|
105
108
|
workspaceId?: string;
|
|
@@ -123,6 +126,9 @@ export interface SelfhostedOperationAdmission {
|
|
|
123
126
|
export interface SelfhostedSessionDeps {
|
|
124
127
|
/** Exact live daemon capability; absent preserves legacy small-file writes. */
|
|
125
128
|
transactionalFsWriteSupported?: boolean;
|
|
129
|
+
/** Exact live daemon capability; absent keeps controller requests on the
|
|
130
|
+
* command transport. */
|
|
131
|
+
browserControlHttpSupported?: boolean;
|
|
126
132
|
/** Authorization/session workspace. */
|
|
127
133
|
workspaceId: string;
|
|
128
134
|
/** Physical control-plane workspace. Defaults to workspaceId for legacy and
|
|
@@ -303,6 +309,7 @@ export declare class SelfhostedSession {
|
|
|
303
309
|
private readonly resourcePolicySupported;
|
|
304
310
|
private readonly operationCpuQuotaSupported;
|
|
305
311
|
private readonly transactionalFsWriteSupported;
|
|
312
|
+
private readonly browserControlHttpSupported;
|
|
306
313
|
private readonly defaultOpStream;
|
|
307
314
|
private readonly connectionInstanceId;
|
|
308
315
|
private readonly resolveOperationAdmission;
|
|
@@ -524,6 +531,14 @@ export declare class SelfhostedSession {
|
|
|
524
531
|
/** Ensure the loopback browser controller sidecar owned by this connected
|
|
525
532
|
* machine. The authority scope is supplied by the caller and remains local. */
|
|
526
533
|
ensureBrowserControl(request: BrowserControlEnsureRequest): Promise<BrowserControlEnsureResponse>;
|
|
534
|
+
/** Send one request to the agent-owned controller of an exact authority
|
|
535
|
+
* scope, served inside the runner over loopback without starting a process.
|
|
536
|
+
* `unsupported` means this connection's runner does not serve it and nothing
|
|
537
|
+
* was sent. `controller_absent` means no controller for that scope and
|
|
538
|
+
* generation accepted the request, so it was not delivered and the caller may
|
|
539
|
+
* ensure the controller and send again. A body too large for one reply is
|
|
540
|
+
* drained from the runner's spool; the request is never repeated. */
|
|
541
|
+
browserControlHttp(request: BrowserControlHttpCall): Promise<BrowserControlHttpOutcome>;
|
|
527
542
|
/** Open one browser-native frame producer and return its canonical relay
|
|
528
543
|
* endpoint. This does not route through `resolveExposedPort`: that legacy
|
|
529
544
|
* method allocates PTY/desktop resources based on fixed ports, while this op
|
|
@@ -597,6 +612,7 @@ export declare class SelfhostedSandboxClient {
|
|
|
597
612
|
private readonly operationResourcePolicySupported;
|
|
598
613
|
private readonly operationCpuQuotaSupported;
|
|
599
614
|
private readonly transactionalFsWriteSupported;
|
|
615
|
+
private readonly browserControlHttpSupported;
|
|
600
616
|
private readonly resolveOperationAdmission;
|
|
601
617
|
private readonly adoptBackgroundCommand;
|
|
602
618
|
private readonly settleBackgroundCommand;
|
|
@@ -631,6 +647,7 @@ export declare class SelfhostedSandboxClient {
|
|
|
631
647
|
operationResourcePolicySupported?: boolean;
|
|
632
648
|
operationCpuQuotaSupported?: boolean;
|
|
633
649
|
transactionalFsWriteSupported?: boolean;
|
|
650
|
+
browserControlHttpSupported?: boolean;
|
|
634
651
|
resolveOperationAdmission?: () => Promise<SelfhostedOperationAdmission | null>;
|
|
635
652
|
adoptBackgroundCommand?: SelfhostedSessionDeps["adoptBackgroundCommand"];
|
|
636
653
|
settleBackgroundCommand?: SelfhostedSessionDeps["settleBackgroundCommand"];
|
|
@@ -711,6 +728,8 @@ export interface SelfhostedSessionBuild {
|
|
|
711
728
|
/** Exact live CPU enforcement capability paired with the initial snapshot. */
|
|
712
729
|
operationCpuQuotaSupported?: boolean;
|
|
713
730
|
transactionalFsWriteSupported?: boolean;
|
|
731
|
+
/** Exact live runner capability for in-process controller requests. */
|
|
732
|
+
browserControlHttpSupported?: boolean;
|
|
714
733
|
/** Live last-boundary operation admission resolver; see SelfhostedSessionDeps. */
|
|
715
734
|
resolveOperationAdmission?: () => Promise<SelfhostedOperationAdmission | null>;
|
|
716
735
|
adoptBackgroundCommand?: SelfhostedSessionDeps["adoptBackgroundCommand"];
|
package/dist/slack-rest-mcp.js
CHANGED
|
@@ -8,15 +8,15 @@ import {
|
|
|
8
8
|
SlackRestMcpServer,
|
|
9
9
|
isOfficialSlackMcpConfig,
|
|
10
10
|
slackRestToolIsMutation
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-KIL4FGX5.js";
|
|
12
|
+
import "./chunk-PRZPGRIK.js";
|
|
13
|
+
import "./chunk-Y5THZH5N.js";
|
|
14
14
|
import "./chunk-4A4XTKKX.js";
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-JYDG2A7H.js";
|
|
16
|
+
import "./chunk-MIAL5I4O.js";
|
|
17
|
+
import "./chunk-4XDJ4TJA.js";
|
|
18
|
+
import "./chunk-PZQUUBEB.js";
|
|
19
|
+
import "./chunk-ERD4ICVB.js";
|
|
20
20
|
import "./chunk-LJNCGUMB.js";
|
|
21
21
|
import "./chunk-PLDDJCW6.js";
|
|
22
22
|
export {
|
|
@@ -3,21 +3,21 @@ import {
|
|
|
3
3
|
prepareAgentTools,
|
|
4
4
|
secretArgumentMode,
|
|
5
5
|
sessionMcpApprovalConnectionId
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-XJARX6VV.js";
|
|
7
|
+
import "./chunk-ZUHGY36R.js";
|
|
8
8
|
import "./chunk-4KFT2G3W.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-N5EB52EH.js";
|
|
10
10
|
import "./chunk-5ULGMFKR.js";
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-6FQ6KEII.js";
|
|
12
|
+
import "./chunk-KIL4FGX5.js";
|
|
13
|
+
import "./chunk-PRZPGRIK.js";
|
|
14
|
+
import "./chunk-Y5THZH5N.js";
|
|
15
15
|
import "./chunk-4A4XTKKX.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-JYDG2A7H.js";
|
|
17
|
+
import "./chunk-MIAL5I4O.js";
|
|
18
|
+
import "./chunk-4XDJ4TJA.js";
|
|
19
|
+
import "./chunk-PZQUUBEB.js";
|
|
20
|
+
import "./chunk-ERD4ICVB.js";
|
|
21
21
|
import "./chunk-LJNCGUMB.js";
|
|
22
22
|
import "./chunk-PLDDJCW6.js";
|
|
23
23
|
export {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opengeni/runtime",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.1-canary.38922642121001",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -75,19 +75,19 @@
|
|
|
75
75
|
"@openai/agents": "0.14.3",
|
|
76
76
|
"@openai/agents-core": "0.14.3",
|
|
77
77
|
"@openai/agents-extensions": "0.14.3",
|
|
78
|
-
"@opengeni/agent-proto": "3.
|
|
79
|
-
"@opengeni/capabilities": "3.
|
|
80
|
-
"@opengeni/codemode": "3.
|
|
81
|
-
"@opengeni/codex": "3.
|
|
82
|
-
"@opengeni/config": "3.
|
|
83
|
-
"@opengeni/contracts": "3.
|
|
84
|
-
"@opengeni/interaction": "3.
|
|
85
|
-
"@opengeni/network": "3.
|
|
86
|
-
"@opengeni/observability": "3.
|
|
87
|
-
"@opengeni/sdk": "3.
|
|
88
|
-
"@opengeni/tool-gateway": "3.
|
|
89
|
-
"@opengeni/vaults": "3.
|
|
90
|
-
"@opengeni/xai-subscription": "3.
|
|
78
|
+
"@opengeni/agent-proto": "3.3.1-canary.38922642121001",
|
|
79
|
+
"@opengeni/capabilities": "3.3.1-canary.38922642121001",
|
|
80
|
+
"@opengeni/codemode": "3.3.1-canary.38922642121001",
|
|
81
|
+
"@opengeni/codex": "3.3.1-canary.38922642121001",
|
|
82
|
+
"@opengeni/config": "3.3.1-canary.38922642121001",
|
|
83
|
+
"@opengeni/contracts": "3.3.1-canary.38922642121001",
|
|
84
|
+
"@opengeni/interaction": "3.3.1-canary.38922642121001",
|
|
85
|
+
"@opengeni/network": "3.3.1-canary.38922642121001",
|
|
86
|
+
"@opengeni/observability": "3.3.1-canary.38922642121001",
|
|
87
|
+
"@opengeni/sdk": "3.3.1-canary.38922642121001",
|
|
88
|
+
"@opengeni/tool-gateway": "3.3.1-canary.38922642121001",
|
|
89
|
+
"@opengeni/vaults": "3.3.1-canary.38922642121001",
|
|
90
|
+
"@opengeni/xai-subscription": "3.3.1-canary.38922642121001",
|
|
91
91
|
"debug": "4.4.3",
|
|
92
92
|
"modal": "0.9.0",
|
|
93
93
|
"openai": "6.47.0",
|
|
@@ -18,8 +18,9 @@ Site on the web is built in (see "Publish to the web").
|
|
|
18
18
|
|
|
19
19
|
A Site never needs its own server, API key, or hosting provider to reach
|
|
20
20
|
Opengeni. Model access, agent conversations, and workspace tools all come from
|
|
21
|
-
the host bridge: `createOpenGeniSiteClient` from `@opengeni/sdk/site
|
|
22
|
-
`@opengeni/react/session-ui`
|
|
21
|
+
the host bridge: `createOpenGeniSiteClient` from `@opengeni/sdk/site`. Use its
|
|
22
|
+
`ai.run` helper for inline results, or `@opengeni/react/session-ui` when the app
|
|
23
|
+
needs a conversation surface. The parent page owns the
|
|
23
24
|
credentials and workspace identity; Site code receives neither, so "keep
|
|
24
25
|
credentials server-side" is already satisfied by that bridge.
|
|
25
26
|
|
|
@@ -239,6 +240,33 @@ const client = createOpenGeniSiteClient();
|
|
|
239
240
|
const issues = await client.tools.linear.issues_list({ state: "Todo" });
|
|
240
241
|
```
|
|
241
242
|
|
|
243
|
+
### Inline AI: the app chooses the interaction
|
|
244
|
+
|
|
245
|
+
Use `site.ai.run({ initialMessage: appDefinedPrompt, idempotencyKey: actionId })`
|
|
246
|
+
to return AI output inside the app without mounting chat or displaying history.
|
|
247
|
+
Prompts, context, controls and results are app-designed; Draft, Summarize or
|
|
248
|
+
Classify are merely possible examples, never required buttons or templates.
|
|
249
|
+
Use `onText` for incremental text and `onSession` to retain a native handle before
|
|
250
|
+
waiting. A result has `text`, `sessionId`, `turnId`, `after` and `status`:
|
|
251
|
+
`completed`, `pending` (approval/input needed), or `cancelled`; failures reject.
|
|
252
|
+
Validate any app-defined structured output before using it.
|
|
253
|
+
|
|
254
|
+
This is ordinary native execution with the same model access, subscriptions,
|
|
255
|
+
permissions, tool selection, approvals, metering and outsider caps. Aborting the
|
|
256
|
+
observation does not cancel the task. `site.ai.result(id, { turnId })` replays
|
|
257
|
+
without creating more work. Supplying `after` returns subsequent text only;
|
|
258
|
+
retain earlier text or omit it for a full replay. Keep retry keys stable per
|
|
259
|
+
action and handles in viewer-private state/storage, not shared Site Data.
|
|
260
|
+
|
|
261
|
+
Site AI is private per viewer by default and does not clutter the workspace
|
|
262
|
+
sidebar or ordinary search. Signed-in members use their real human identity;
|
|
263
|
+
guests use existing cookie/visitor continuity, not a shared anonymous chat.
|
|
264
|
+
If organization policy disallows private execution, surface its explicit
|
|
265
|
+
refusal; never fall back to shared sessions. Privacy does not automatically
|
|
266
|
+
extend to separately published artifacts or shared Site Data.
|
|
267
|
+
|
|
268
|
+
### Optional conversation UI
|
|
269
|
+
|
|
242
270
|
For embedded conversations, `site.client` is the ordinary Opengeni SDK client;
|
|
243
271
|
`site.workspaceId` is a host-resolved routing alias. Use the normal React
|
|
244
272
|
complete conversation surface—do not implement session REST or SSE yourself:
|
|
@@ -259,7 +287,7 @@ const site = createOpenGeniSiteClient();
|
|
|
259
287
|
```
|
|
260
288
|
|
|
261
289
|
`sessionId` is the existing session or the id returned by `site.client.createSession`.
|
|
262
|
-
For a normal chat app,
|
|
290
|
+
For a normal chat app, a conversation selector and “New conversation” are optional.
|
|
263
291
|
Create on first Send rather than mounting the page; keep the selected id in React
|
|
264
292
|
state and reopen existing conversations through the SDK.
|
|
265
293
|
Keep first-send creation single-flight; reuse its `idempotencyKey` when retrying,
|
|
@@ -272,14 +300,17 @@ write origin metadata yourself. The local preview has no published identity, so
|
|
|
272
300
|
this filter returns no Site history there; test newly created/current conversations
|
|
273
301
|
locally and the selector after publication.
|
|
274
302
|
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
303
|
+
Do not automatically create a project just to group Site chats. Site execution
|
|
304
|
+
does not appear in ordinary workspace discovery, even for its owner. The host
|
|
305
|
+
Site page provides a viewer-scoped Conversations panel independently of app
|
|
306
|
+
navigation. Opening existing sessions never changes their origin or audience.
|
|
307
|
+
Page code cannot widen the Site boundary by supplying project, visibility,
|
|
308
|
+
tools or credential fields; use ordinary authoring tools for project management.
|
|
309
|
+
|
|
310
|
+
Per-Site AI costs are in Insights: actual credit charges are distinct from
|
|
311
|
+
API-equivalent subscription/own-key estimates and unbilled platform counters.
|
|
312
|
+
Usage is for limits. Do not build private transcript or viewer analytics into
|
|
313
|
+
shared dashboards just because aggregate costs are visible there.
|
|
283
314
|
|
|
284
315
|
`SessionConversation` connects timeline/history, durable composer drafts,
|
|
285
316
|
queue display/edit/delete/steer, pause/resume, and human-input forms. Prefer it
|
|
@@ -667,8 +698,11 @@ workspace first.
|
|
|
667
698
|
`rate_limited`, `site_budget_exhausted` and retryable `site_budget_busy` (429), and
|
|
668
699
|
`site_platform_brake_engaged` (503) as normal UI states.
|
|
669
700
|
- The same Site HTML and Site Data work there; no rebuild is needed.
|
|
670
|
-
-
|
|
701
|
+
- Published-host agents get this Site's `site_data_query` and `site_data_write`,
|
|
671
702
|
plus `site_sql_run` when SQL is enabled; members also get read-only `site_sql_query`.
|
|
703
|
+
Member tools are intersected with live permissions: a member without artifact
|
|
704
|
+
publishing can still use AI without write tools, and without data-read permission
|
|
705
|
+
can use plain AI without data tools. Never request extra permission just to chat.
|
|
672
706
|
The server pins the Site and binds calls to the conversation's viewer, including
|
|
673
707
|
collection ownership and query audiences. No management tools or sandbox are
|
|
674
708
|
supplied; publication settings have no sandbox opt-in. Members get no Site
|