@finalai/final-agent-provider 0.12.0 → 0.14.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.
- package/README.md +0 -6
- package/dist/modules/integrations.d.mts +0 -1
- package/dist/modules/integrations.mjs +0 -2
- package/dist/modules/integrations.mjs.map +2 -2
- package/dist/modules/sandboxes/computer.d.mts +2 -4
- package/dist/modules/sandboxes/computer.mjs +110 -480
- package/dist/modules/sandboxes/computer.mjs.map +2 -2
- package/dist/modules/sandboxes/computers-api.d.mts +6 -1
- package/dist/modules/sandboxes/computers-api.mjs.map +2 -2
- package/dist/modules/sandboxes/device-api.d.mts +8 -48
- package/dist/modules/sandboxes/device-api.mjs +2 -92
- package/dist/modules/sandboxes/device-api.mjs.map +2 -2
- package/dist/modules/sandboxes/device.d.mts +1 -1
- package/dist/modules/sandboxes/device.mjs.map +2 -2
- package/dist/modules/sandboxes/environment.d.mts +4 -0
- package/dist/modules/sandboxes/environment.mjs.map +2 -2
- package/dist/modules/sandboxes/session.mjs +0 -1
- package/dist/modules/sandboxes/session.mjs.map +2 -2
- package/package.json +4 -20
- package/WORKSPACE-EGRESS.md +0 -184
- package/dist/modules/sandboxes/access.d.mts +0 -34
- package/dist/modules/sandboxes/access.mjs +0 -15
- package/dist/modules/sandboxes/access.mjs.map +0 -7
- package/dist/modules/sandboxes/egress-bootstrap.d.mts +0 -3
- package/dist/modules/sandboxes/egress-bootstrap.mjs +0 -929
- package/dist/modules/sandboxes/egress-bootstrap.mjs.map +0 -7
- package/dist/modules/sandboxes/egress.d.mts +0 -94
- package/dist/modules/sandboxes/egress.mjs +0 -1561
- package/dist/modules/sandboxes/egress.mjs.map +0 -7
package/README.md
CHANGED
|
@@ -139,11 +139,5 @@ is enforced by the computer or Device itself.
|
|
|
139
139
|
`stderrOffset` say where). A process whose output was read to the end after it exited
|
|
140
140
|
may be retired, and then attaches to nothing.
|
|
141
141
|
|
|
142
|
-
## Workspace Device egress
|
|
143
|
-
|
|
144
|
-
`/sandboxes/egress` supplies provider-neutral Linux TCP/UDP/DNS routing through approved Final Devices. Hosts compose `createWorkspaceDeviceNetworking({ api, access, needed })` through the generic provider `networking` option. A sandbox's id is its workspace identity; hosts supply durable networking registration, the current actor, and the raw privileged sandbox session. Preserve the direct policy before boot fencing; restore it on Disable. Configure and Disable ask for consent by default.
|
|
145
|
-
|
|
146
|
-
The [integration reference](WORKSPACE-EGRESS.md) specifies required hooks, boot/resume fallback, grant authority, teardown, MCP transports, failure behavior, prerequisites, and provider acceptance. Read it before enabling this capability. Final Computer and Daytona use their public APIs; custom providers can compose the same controller and manager.
|
|
147
|
-
|
|
148
142
|
A passive attach serves a read-only viewer and never boots or changes the
|
|
149
143
|
computer; use an ordinary attach for execution.
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { type CreateIntegrationRequestIface } from '@finalai/agent-protocol/agent-platform/integrations';
|
|
2
|
-
export declare const FINAL_GATEWAY_URL = "final://mcp";
|
|
3
2
|
export declare const FINAL_GATEWAY_SCOPES: Record<string, string[]>;
|
|
4
3
|
export interface FinalGatewayInputIface {
|
|
5
4
|
url: string;
|
|
@@ -2,7 +2,6 @@ import {
|
|
|
2
2
|
createIntegrationRequestSchema,
|
|
3
3
|
IntegrationAuthKind
|
|
4
4
|
} from "@finalai/agent-protocol/agent-platform/integrations";
|
|
5
|
-
const FINAL_GATEWAY_URL = "final://mcp";
|
|
6
5
|
const FINAL_GATEWAY_SCOPES = {
|
|
7
6
|
api: [
|
|
8
7
|
"session:requirements",
|
|
@@ -23,7 +22,6 @@ const finalGateway = (input) => createIntegrationRequestSchema.parse({
|
|
|
23
22
|
});
|
|
24
23
|
export {
|
|
25
24
|
FINAL_GATEWAY_SCOPES,
|
|
26
|
-
FINAL_GATEWAY_URL,
|
|
27
25
|
finalGateway
|
|
28
26
|
};
|
|
29
27
|
//# sourceMappingURL=integrations.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/integrations.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n createIntegrationRequestSchema,\n IntegrationAuthKind,\n type CreateIntegrationRequestIface,\n} from '@finalai/agent-protocol/agent-platform/integrations';\n\n// Final's MCP gateway as an ordinary integration:\n// `project.integrations.create(finalGateway({ url }))` returns the id a caller\n// provides for an agent's slot. It authenticates with the platform's identity\n// assertion for the calling session, which any server can verify; nothing\n// about it is first-party only, and the platform resolves no special URL.\n\n//
|
|
5
|
-
"mappings": "AAAA;AAAA,EACE;AAAA,EACA;AAAA,OAEK;
|
|
4
|
+
"sourcesContent": ["import {\n createIntegrationRequestSchema,\n IntegrationAuthKind,\n type CreateIntegrationRequestIface,\n} from '@finalai/agent-protocol/agent-platform/integrations';\n\n// Final's MCP gateway as an ordinary integration:\n// `project.integrations.create(finalGateway({ url }))` returns the id a caller\n// provides for an agent's slot. It authenticates with the platform's identity\n// assertion for the calling session, which any server can verify; nothing\n// about it is first-party only, and the platform resolves no special URL.\n\n// What the gateway's assertion lets it do as the calling session on the\n// platform API (`api`): read the session's requirements and ask for an\n// optional one, read and run agents, and read and write conversations. `reach`\n// confines it to the session's own conversation and its linked children.\nexport const FINAL_GATEWAY_SCOPES: Record<string, string[]> = {\n api: [\n 'session:requirements',\n 'agents:read',\n 'agents:execute',\n 'conversations:read',\n 'conversations:write',\n ],\n reach: ['session'],\n};\n\nexport interface FinalGatewayInputIface {\n // The gateway's MCP endpoint (https).\n url: string;\n // The integration's name in the project; `final` by default.\n name?: string;\n scopes?: Record<string, string[]>;\n}\n\nexport const finalGateway = (input: FinalGatewayInputIface): CreateIntegrationRequestIface =>\n createIntegrationRequestSchema.parse({\n name: input.name ?? 'final',\n mcp: { url: input.url },\n auth: {\n kind: IntegrationAuthKind.PlatformIdentity,\n scopes: input.scopes ?? FINAL_GATEWAY_SCOPES,\n },\n });\n"],
|
|
5
|
+
"mappings": "AAAA;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AAYA,MAAM,uBAAiD;AAAA,EAC5D,KAAK;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,OAAO,CAAC,SAAS;AACnB;AAUO,MAAM,eAAe,CAAC,UAC3B,+BAA+B,MAAM;AAAA,EACnC,MAAM,MAAM,QAAQ;AAAA,EACpB,KAAK,EAAE,KAAK,MAAM,IAAI;AAAA,EACtB,MAAM;AAAA,IACJ,MAAM,oBAAoB;AAAA,IAC1B,QAAQ,MAAM,UAAU;AAAA,EAC1B;AACF,CAAC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { NetworkPolicy, type JsonValue } from '@finalai/agent-provider';
|
|
2
|
-
import { SandboxCapability, type NetworkPolicyIface, type NetworkSandboxSessionIface, type
|
|
2
|
+
import { SandboxCapability, type NetworkPolicyIface, type NetworkSandboxSessionIface, type SandboxProviderIface, type SandboxSetupIface } from '@finalai/agent-provider/sandbox';
|
|
3
3
|
import * as z from 'zod';
|
|
4
4
|
import { type ComputersApiConfigIface } from "./computers-api.mjs";
|
|
5
5
|
import { type ComputerBuildIface } from "./environment.mjs";
|
|
6
6
|
export type { ComputersApiConfigIface } from "./computers-api.mjs";
|
|
7
|
-
export type { FinalPlatformAccessIface } from "./
|
|
7
|
+
export type { FinalPlatformAccessIface } from "./environment.mjs";
|
|
8
8
|
export { COMPUTER_PROVIDER } from "./environment.mjs";
|
|
9
9
|
export declare const WORKSPACE_ROOT = "/workspaces";
|
|
10
10
|
export interface ComputerSandboxLogIface {
|
|
@@ -13,7 +13,6 @@ export interface ComputerSandboxLogIface {
|
|
|
13
13
|
export interface ComputerSandboxProviderConfigIface {
|
|
14
14
|
computersApiUrl: string;
|
|
15
15
|
computersApi?: ComputersApiConfigIface;
|
|
16
|
-
networking?: SandboxNetworkingExtensionIface;
|
|
17
16
|
registryCredentialId?: string;
|
|
18
17
|
defaultImage?: string;
|
|
19
18
|
regionSlug?: string;
|
|
@@ -61,7 +60,6 @@ declare const computerStateSchema: z.ZodObject<{
|
|
|
61
60
|
allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
62
61
|
}, z.core.$strip>;
|
|
63
62
|
ports: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
|
|
64
|
-
networkPolicySaved: z.ZodDefault<z.ZodBoolean>;
|
|
65
63
|
}, z.core.$strip>;
|
|
66
64
|
export type ComputerSandboxArtifact = z.infer<typeof computerArtifactSchema>;
|
|
67
65
|
export type ComputerSandboxState = z.infer<typeof computerStateSchema>;
|