@opengeni/runtime 3.3.0 → 3.4.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/dist/agent-LJT5NPWT.js +9 -0
- package/dist/assets/codemode-client.json +1 -1
- package/dist/browser-current-tab.d.ts +46 -0
- package/dist/browser-model-text.d.ts +126 -0
- package/dist/{chunk-XRX57ZQO.js → chunk-3DFH3ZHU.js} +784 -121
- package/dist/chunk-3DFH3ZHU.js.map +1 -0
- 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-EK7IW2FR.js → chunk-ETTCGPBT.js} +224 -6
- package/dist/chunk-ETTCGPBT.js.map +1 -0
- package/dist/{chunk-7OUG7WBV.js → chunk-GWRBALGQ.js} +181 -13
- package/dist/chunk-GWRBALGQ.js.map +1 -0
- 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-Z5U6WE22.js → chunk-PRZPGRIK.js} +2 -2
- package/dist/{chunk-KCPW4K7L.js → chunk-PZQUUBEB.js} +2 -2
- package/dist/{chunk-5WJOPANS.js → chunk-Y5THZH5N.js} +7 -7
- package/dist/codex-tool-search.d.ts +9 -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 +27 -0
- package/dist/{lazy-manifest-AJ6XPJ4F.js → lazy-manifest-BLZ3UZLX.js} +4 -4
- package/dist/lazy-tool-transport.d.ts +10 -0
- 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 +77 -0
- package/dist/sandbox/index.d.ts +1 -1
- package/dist/sandbox/index.js +7 -7
- package/dist/sandbox/selfhosted/session.d.ts +3 -0
- package/dist/slack-rest-mcp.js +8 -8
- package/dist/workspace-tool-gateway.js +12 -12
- package/package.json +14 -14
- package/src/browser-current-tab.ts +139 -0
- package/src/browser-model-text.ts +378 -0
- package/src/codex-tool-search.ts +53 -0
- package/src/index.ts +39 -1
- package/src/interaction-tool-json-schema.ts +281 -0
- package/src/interaction-tools.ts +425 -235
- package/src/lazy-tool-transport.ts +229 -10
- package/src/model-input.ts +12 -1
- package/src/sandbox/browser-control-client.ts +336 -0
- package/src/sandbox/index.ts +4 -0
- package/src/sandbox/selfhosted/session.ts +38 -0
- package/dist/agent-CTPLA3HP.js +0 -9
- package/dist/browser-action-json-schema.d.ts +0 -4
- package/dist/chunk-7OUG7WBV.js.map +0 -1
- package/dist/chunk-EK7IW2FR.js.map +0 -1
- package/dist/chunk-XRX57ZQO.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-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
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
shellQuote,
|
|
19
19
|
tool,
|
|
20
20
|
withSandboxSpan
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-ERD4ICVB.js";
|
|
22
22
|
|
|
23
23
|
// ../../node_modules/.bun/@openai+agents-core@0.14.3+933c5e7db4cd33c2/node_modules/@openai/agents-core/dist/sandbox/capabilities/transport.mjs
|
|
24
24
|
function supportsResponsesCompactionTransport(modelInstance) {
|
|
@@ -999,4 +999,4 @@ export {
|
|
|
999
999
|
probeSandboxPathExists,
|
|
1000
1000
|
SandboxAgent
|
|
1001
1001
|
};
|
|
1002
|
-
//# sourceMappingURL=chunk-
|
|
1002
|
+
//# sourceMappingURL=chunk-4XDJ4TJA.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
connectorAttachmentFileName
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-PRZPGRIK.js";
|
|
4
4
|
import {
|
|
5
5
|
isRoutingMutationOutcomeUnknownError
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-Y5THZH5N.js";
|
|
7
7
|
|
|
8
8
|
// src/gmail-rest-mcp.ts
|
|
9
9
|
import {
|
|
@@ -2258,4 +2258,4 @@ export {
|
|
|
2258
2258
|
gmailRestToolIsMutation,
|
|
2259
2259
|
gmailRestResultOutcome
|
|
2260
2260
|
};
|
|
2261
|
-
//# sourceMappingURL=chunk-
|
|
2261
|
+
//# sourceMappingURL=chunk-6FQ6KEII.js.map
|
|
@@ -27556,7 +27556,7 @@ var SandboxMemoryGenerationManager = class {
|
|
|
27556
27556
|
if (!transcript) {
|
|
27557
27557
|
throw new UserError(`Memory rollout transcript was not found: ${transcriptPath}`);
|
|
27558
27558
|
}
|
|
27559
|
-
const { SandboxAgent } = await import("./agent-
|
|
27559
|
+
const { SandboxAgent } = await import("./agent-LJT5NPWT.js");
|
|
27560
27560
|
const phaseOneAgent = new SandboxAgent({
|
|
27561
27561
|
name: "sandbox-memory-phase-one",
|
|
27562
27562
|
instructions: renderRolloutExtractionInstructions(generate.extraPrompt),
|
|
@@ -27617,7 +27617,7 @@ var SandboxMemoryGenerationManager = class {
|
|
|
27617
27617
|
})) {
|
|
27618
27618
|
return;
|
|
27619
27619
|
}
|
|
27620
|
-
const { SandboxAgent } = await import("./agent-
|
|
27620
|
+
const { SandboxAgent } = await import("./agent-LJT5NPWT.js");
|
|
27621
27621
|
const phaseTwoAgent = new SandboxAgent({
|
|
27622
27622
|
name: "sandbox-memory-phase-two",
|
|
27623
27623
|
model: generate.phaseTwoModel,
|
|
@@ -43273,6 +43273,7 @@ export {
|
|
|
43273
43273
|
setTraceProcessors,
|
|
43274
43274
|
setTracingDisabled,
|
|
43275
43275
|
normalizeHostedMcpRequireApproval,
|
|
43276
|
+
defineToolInputGuardrail,
|
|
43276
43277
|
ToolGuardrailFunctionOutputFactory,
|
|
43277
43278
|
applyPatchTool,
|
|
43278
43279
|
attachClientToolSearchExecutor,
|
|
@@ -43358,4 +43359,4 @@ export {
|
|
|
43358
43359
|
Runner,
|
|
43359
43360
|
Agent
|
|
43360
43361
|
};
|
|
43361
|
-
//# sourceMappingURL=chunk-
|
|
43362
|
+
//# sourceMappingURL=chunk-ERD4ICVB.js.map
|
|
@@ -107,7 +107,7 @@ import {
|
|
|
107
107
|
withNativeSynchronousCommandCollection,
|
|
108
108
|
withProviderError,
|
|
109
109
|
withSandboxProviderCapture
|
|
110
|
-
} from "./chunk-
|
|
110
|
+
} from "./chunk-Y5THZH5N.js";
|
|
111
111
|
import {
|
|
112
112
|
applyLocalSourceManifestEntryToState,
|
|
113
113
|
applyLocalSourceManifestToState,
|
|
@@ -122,13 +122,13 @@ import {
|
|
|
122
122
|
truncateOutput,
|
|
123
123
|
validateCredentialPair,
|
|
124
124
|
validateRemoteSandboxPathForManifest
|
|
125
|
-
} from "./chunk-
|
|
125
|
+
} from "./chunk-JYDG2A7H.js";
|
|
126
126
|
import {
|
|
127
127
|
NoopSnapshotSpec,
|
|
128
128
|
normalizeSandboxClientCreateArgs,
|
|
129
129
|
resolveSandboxArchiveLimits,
|
|
130
130
|
validateSandboxArchiveLimits
|
|
131
|
-
} from "./chunk-
|
|
131
|
+
} from "./chunk-MIAL5I4O.js";
|
|
132
132
|
import {
|
|
133
133
|
Manifest,
|
|
134
134
|
Permissions,
|
|
@@ -160,7 +160,7 @@ import {
|
|
|
160
160
|
serializeRuntimeEnvironmentForPersistence,
|
|
161
161
|
shellQuote,
|
|
162
162
|
withSandboxSpan
|
|
163
|
-
} from "./chunk-
|
|
163
|
+
} from "./chunk-ERD4ICVB.js";
|
|
164
164
|
|
|
165
165
|
// src/sandbox/index.ts
|
|
166
166
|
import { collectSandboxEnvironment, parseExposedPorts } from "@opengeni/config";
|
|
@@ -11572,6 +11572,23 @@ var SelfhostedSession = class {
|
|
|
11572
11572
|
reason: null,
|
|
11573
11573
|
retryable: false
|
|
11574
11574
|
});
|
|
11575
|
+
if (!terminalProof && !adoptedCommandId && !controlError.neverSent && machineStoppedAnswering(controlError) && this.adoptBackgroundCommand) {
|
|
11576
|
+
try {
|
|
11577
|
+
notifyDurableOpOwnershipTransferStarted(opId);
|
|
11578
|
+
const abandoned = await this.adoptBackgroundCommand({
|
|
11579
|
+
controlWorkspaceId: admission.controlWorkspaceId,
|
|
11580
|
+
enrollmentId: this.agentId,
|
|
11581
|
+
connectionInstanceId: admission.connectionInstanceId,
|
|
11582
|
+
opId,
|
|
11583
|
+
command,
|
|
11584
|
+
abandoned: true
|
|
11585
|
+
});
|
|
11586
|
+
adoptedCommandId = abandoned.commandId;
|
|
11587
|
+
notifyDurableOpOwnershipTransferred(opId);
|
|
11588
|
+
} catch {
|
|
11589
|
+
notifyDurableOpOwnershipTransferFailed(opId);
|
|
11590
|
+
}
|
|
11591
|
+
}
|
|
11575
11592
|
this.emitOp({
|
|
11576
11593
|
op: "exec",
|
|
11577
11594
|
outcome: "failed",
|
|
@@ -12540,6 +12557,10 @@ function mediaTypeFromPath(path) {
|
|
|
12540
12557
|
if (p.endsWith(".svg") || p.endsWith(".svgz")) return "image/svg+xml";
|
|
12541
12558
|
return void 0;
|
|
12542
12559
|
}
|
|
12560
|
+
function machineStoppedAnswering(error) {
|
|
12561
|
+
const faultClass = selfhostedFaultClass(error);
|
|
12562
|
+
return faultClass === "offline" || faultClass === "reconnecting" || faultClass === "draining";
|
|
12563
|
+
}
|
|
12543
12564
|
function randomNonce() {
|
|
12544
12565
|
return String(Math.floor(Math.random() * Number.MAX_SAFE_INTEGER));
|
|
12545
12566
|
}
|
|
@@ -14562,6 +14583,28 @@ function placementControllerWorkdir(session) {
|
|
|
14562
14583
|
if (!session.ensureBrowserControl) return MANAGED_PLACEMENT_CONTROLLER_WORKDIR;
|
|
14563
14584
|
return session.controllerHostOs?.() === "windows" ? "." : NATIVE_PLACEMENT_CONTROLLER_WORKDIR;
|
|
14564
14585
|
}
|
|
14586
|
+
var BROWSER_WORKING_COPY_REFUSALS = [
|
|
14587
|
+
"unsupported_platform",
|
|
14588
|
+
"browser_running",
|
|
14589
|
+
"working_copy_invalid",
|
|
14590
|
+
"receipt_not_adoptable",
|
|
14591
|
+
"authority_changed",
|
|
14592
|
+
"process_state_unknown",
|
|
14593
|
+
"adoption_not_needed",
|
|
14594
|
+
"adoption_unresolved"
|
|
14595
|
+
];
|
|
14596
|
+
var BROWSER_WORKING_COPY_ADOPTION_PHASES = [
|
|
14597
|
+
"intent",
|
|
14598
|
+
"copied",
|
|
14599
|
+
"receipt",
|
|
14600
|
+
"source_preserved",
|
|
14601
|
+
"adopted",
|
|
14602
|
+
"interrupted",
|
|
14603
|
+
"failed",
|
|
14604
|
+
"collision",
|
|
14605
|
+
"reverting",
|
|
14606
|
+
"reverted"
|
|
14607
|
+
];
|
|
14565
14608
|
var BrowserControlTransportError = class extends Error {
|
|
14566
14609
|
name = "BrowserControlTransportError";
|
|
14567
14610
|
retryable = true;
|
|
@@ -14743,7 +14786,8 @@ var BrowserControlClient = class {
|
|
|
14743
14786
|
}
|
|
14744
14787
|
return {
|
|
14745
14788
|
...returnedReference,
|
|
14746
|
-
observation: BrowserObservation.parse(data.observation)
|
|
14789
|
+
observation: BrowserObservation.parse(data.observation),
|
|
14790
|
+
...creationTargets(data.targets, returnedReference)
|
|
14747
14791
|
};
|
|
14748
14792
|
}
|
|
14749
14793
|
async createComputerSession(input) {
|
|
@@ -14926,6 +14970,86 @@ var BrowserControlClient = class {
|
|
|
14926
14970
|
}
|
|
14927
14971
|
return receipt;
|
|
14928
14972
|
}
|
|
14973
|
+
/** Read-only evidence about a preserved working copy whose controller
|
|
14974
|
+
* memory was lost: the exact digest of its bytes and whether it can be
|
|
14975
|
+
* adopted. Hashing a large profile can take minutes. */
|
|
14976
|
+
async inspectWorkingCopy(input) {
|
|
14977
|
+
const reference = parseReference(input);
|
|
14978
|
+
const data = await this.requestJson({
|
|
14979
|
+
method: "POST",
|
|
14980
|
+
path: `/v1/browser-sessions/${reference.browserSessionId}/working-copy/inspection`,
|
|
14981
|
+
token: this.adminToken,
|
|
14982
|
+
body: workingCopyAuthorityBody(reference, input),
|
|
14983
|
+
timeoutMs: BROWSER_STATE_TRANSFER_TIMEOUT_MS
|
|
14984
|
+
});
|
|
14985
|
+
return parseWorkingCopyInspection(data, reference);
|
|
14986
|
+
}
|
|
14987
|
+
/** Adopt the exact inspected bytes of a preserved working copy. A lost reply
|
|
14988
|
+
* is checked with {@link workingCopyAdoption}. Sending the same operation id
|
|
14989
|
+
* again never repeats a side effect: it only settles what that operation
|
|
14990
|
+
* already did, under the authority that approved it. */
|
|
14991
|
+
async adoptWorkingCopy(input) {
|
|
14992
|
+
const reference = parseReference(input);
|
|
14993
|
+
const operationId = requireUuid(input.operationId, "working copy adoption id");
|
|
14994
|
+
const data = await this.requestJson({
|
|
14995
|
+
method: "POST",
|
|
14996
|
+
path: `/v1/browser-sessions/${reference.browserSessionId}/working-copy/adoptions`,
|
|
14997
|
+
token: this.adminToken,
|
|
14998
|
+
body: {
|
|
14999
|
+
...workingCopyAuthorityBody(reference, input),
|
|
15000
|
+
operationId,
|
|
15001
|
+
manifestDigest: sha2563(input.manifestDigest, "working copy manifest digest")
|
|
15002
|
+
},
|
|
15003
|
+
timeoutMs: BROWSER_STATE_TRANSFER_TIMEOUT_MS
|
|
15004
|
+
});
|
|
15005
|
+
const adoption = parseWorkingCopyAdoption(data, reference, "current");
|
|
15006
|
+
if (adoption.operationId !== operationId) {
|
|
15007
|
+
throw new BrowserControlProtocolError("browser controller returned another adoption");
|
|
15008
|
+
}
|
|
15009
|
+
return adoption;
|
|
15010
|
+
}
|
|
15011
|
+
/** The recorded state of one adoption, read without changing it. */
|
|
15012
|
+
async workingCopyAdoption(reference, operationId) {
|
|
15013
|
+
const binding2 = parseReference(reference);
|
|
15014
|
+
const id = requireUuid(operationId, "working copy adoption id");
|
|
15015
|
+
const data = await this.requestJson({
|
|
15016
|
+
method: "GET",
|
|
15017
|
+
path: `/v1/browser-sessions/${binding2.browserSessionId}/working-copy/adoptions/${id}`,
|
|
15018
|
+
token: this.adminToken
|
|
15019
|
+
});
|
|
15020
|
+
if (!isRecord2(data) || typeof data.inFlight !== "boolean") {
|
|
15021
|
+
throw new BrowserControlProtocolError(
|
|
15022
|
+
"browser controller returned malformed adoption status"
|
|
15023
|
+
);
|
|
15024
|
+
}
|
|
15025
|
+
const adoption = data.adoption === null ? null : parseWorkingCopyAdoption(data.adoption, binding2, "recorded");
|
|
15026
|
+
if (adoption && adoption.operationId !== id) {
|
|
15027
|
+
throw new BrowserControlProtocolError("browser controller returned another adoption");
|
|
15028
|
+
}
|
|
15029
|
+
return { inFlight: data.inFlight, adoption };
|
|
15030
|
+
}
|
|
15031
|
+
/** Revert one unfinished adoption under the browser's current authority:
|
|
15032
|
+
* its own directory goes back to the live path and the staged copy is
|
|
15033
|
+
* kept. Retrying the same revert finishes one that stopped part way. */
|
|
15034
|
+
async revertWorkingCopyAdoption(input) {
|
|
15035
|
+
const reference = parseReference(input);
|
|
15036
|
+
const id = requireUuid(input.operationId, "working copy adoption id");
|
|
15037
|
+
const data = await this.requestJson({
|
|
15038
|
+
method: "POST",
|
|
15039
|
+
path: `/v1/browser-sessions/${reference.browserSessionId}/working-copy/adoptions/${id}/revert`,
|
|
15040
|
+
token: this.adminToken,
|
|
15041
|
+
body: workingCopyAuthorityBody(reference, input),
|
|
15042
|
+
timeoutMs: BROWSER_STATE_TRANSFER_TIMEOUT_MS
|
|
15043
|
+
});
|
|
15044
|
+
if (!isRecord2(data) || typeof data.inFlight !== "boolean") {
|
|
15045
|
+
throw new BrowserControlProtocolError("browser controller returned malformed revert status");
|
|
15046
|
+
}
|
|
15047
|
+
const adoption = data.adoption === null ? null : parseWorkingCopyAdoption(data.adoption, reference, "recorded");
|
|
15048
|
+
if (adoption && adoption.operationId !== id) {
|
|
15049
|
+
throw new BrowserControlProtocolError("browser controller returned another adoption");
|
|
15050
|
+
}
|
|
15051
|
+
return { inFlight: data.inFlight, adoption };
|
|
15052
|
+
}
|
|
14929
15053
|
sessionClient(input) {
|
|
14930
15054
|
return new BrowserControlSessionClient(this, input);
|
|
14931
15055
|
}
|
|
@@ -16291,6 +16415,17 @@ function parseReference(value) {
|
|
|
16291
16415
|
controllerGeneration: requireGeneration(value.controllerGeneration)
|
|
16292
16416
|
};
|
|
16293
16417
|
}
|
|
16418
|
+
function creationTargets(value, reference) {
|
|
16419
|
+
if (!Array.isArray(value) || value.length > 1e4) return {};
|
|
16420
|
+
const targets = [];
|
|
16421
|
+
for (const entry of value) {
|
|
16422
|
+
const parsed = BrowserTarget.safeParse(entry);
|
|
16423
|
+
if (!parsed.success || parsed.data.browserSessionId !== reference.browserSessionId || parsed.data.controllerGeneration !== reference.controllerGeneration)
|
|
16424
|
+
return {};
|
|
16425
|
+
targets.push(parsed.data);
|
|
16426
|
+
}
|
|
16427
|
+
return { targets };
|
|
16428
|
+
}
|
|
16294
16429
|
function parseComputerReference(value) {
|
|
16295
16430
|
if (!isRecord2(value)) {
|
|
16296
16431
|
throw new BrowserControlProtocolError("computer session binding is invalid");
|
|
@@ -16427,6 +16562,81 @@ function boundedProxyUrl(value) {
|
|
|
16427
16562
|
}
|
|
16428
16563
|
return url.toString();
|
|
16429
16564
|
}
|
|
16565
|
+
function workingCopyAuthorityBody(reference, input) {
|
|
16566
|
+
return {
|
|
16567
|
+
controllerGeneration: reference.controllerGeneration,
|
|
16568
|
+
tokenGeneration: positiveSafeInteger(input.tokenGeneration, "token generation"),
|
|
16569
|
+
controlToken: requireToken(input.controlToken, "control token"),
|
|
16570
|
+
viewToken: requireToken(input.viewToken, "view token")
|
|
16571
|
+
};
|
|
16572
|
+
}
|
|
16573
|
+
function parseWorkingCopyAdoption(value, reference, generation) {
|
|
16574
|
+
if (!isRecord2(value) || value.browserSessionId !== reference.browserSessionId || generation === "current" && value.controllerGeneration !== reference.controllerGeneration || !BROWSER_WORKING_COPY_ADOPTION_PHASES.includes(
|
|
16575
|
+
value.phase
|
|
16576
|
+
) || !(value.failureCode === null || typeof value.failureCode === "string") || !Array.isArray(value.retainedDirectories) || value.retainedDirectories.length > 64 || !value.retainedDirectories.every(
|
|
16577
|
+
(name) => typeof name === "string" && /^[A-Za-z0-9][A-Za-z0-9._-]{0,255}$/u.test(name)
|
|
16578
|
+
)) {
|
|
16579
|
+
throw new BrowserControlProtocolError("browser controller returned a malformed adoption");
|
|
16580
|
+
}
|
|
16581
|
+
return {
|
|
16582
|
+
browserSessionId: reference.browserSessionId,
|
|
16583
|
+
controllerGeneration: generation === "current" ? reference.controllerGeneration : requireGeneration(value.controllerGeneration),
|
|
16584
|
+
operationId: requireUuid(value.operationId, "working copy adoption id"),
|
|
16585
|
+
manifestDigest: sha2563(value.manifestDigest, "working copy manifest digest"),
|
|
16586
|
+
phase: value.phase,
|
|
16587
|
+
failureCode: value.failureCode === null ? null : requireOpaqueId(value.failureCode, "failure code"),
|
|
16588
|
+
retainedDirectories: value.retainedDirectories,
|
|
16589
|
+
createdAt: timestamp(value.createdAt, "adoption created at"),
|
|
16590
|
+
updatedAt: timestamp(value.updatedAt, "adoption updated at")
|
|
16591
|
+
};
|
|
16592
|
+
}
|
|
16593
|
+
function parseWorkingCopyInspection(value, reference) {
|
|
16594
|
+
if (!isRecord2(value) || value.browserSessionId !== reference.browserSessionId || value.controllerGeneration !== reference.controllerGeneration || typeof value.platformSupported !== "boolean" || typeof value.profileIdentityMatches !== "boolean" || !(value.profileInUse === null || typeof value.profileInUse === "boolean") || !(value.refusal === null || BROWSER_WORKING_COPY_REFUSALS.includes(value.refusal))) {
|
|
16595
|
+
throw new BrowserControlProtocolError("browser controller returned a malformed inspection");
|
|
16596
|
+
}
|
|
16597
|
+
let manifest = null;
|
|
16598
|
+
if (value.manifest !== null) {
|
|
16599
|
+
if (!isRecord2(value.manifest)) {
|
|
16600
|
+
throw new BrowserControlProtocolError("browser controller returned a malformed manifest");
|
|
16601
|
+
}
|
|
16602
|
+
manifest = {
|
|
16603
|
+
digest: sha2563(value.manifest.digest, "working copy manifest digest"),
|
|
16604
|
+
entries: nonnegativeSafeInteger(value.manifest.entries, "working copy entries"),
|
|
16605
|
+
bytes: nonnegativeSafeInteger(value.manifest.bytes, "working copy bytes"),
|
|
16606
|
+
excluded: excludedWorkingCopyEntries(value.manifest.excluded)
|
|
16607
|
+
};
|
|
16608
|
+
}
|
|
16609
|
+
let receipt = null;
|
|
16610
|
+
if (value.receipt !== null) {
|
|
16611
|
+
const raw = value.receipt;
|
|
16612
|
+
if (!isRecord2(raw) || !["launch", "suspend", "retire", "adopt"].includes(raw.intent) || typeof raw.state !== "string" || typeof raw.directoryLaunchAllowed !== "boolean" || typeof raw.authorityMatches !== "boolean" || !(raw.restoreAuthorityDigest === null || typeof raw.restoreAuthorityDigest === "string") || !(raw.adoption === null || isRecord2(raw.adoption))) {
|
|
16613
|
+
throw new BrowserControlProtocolError("browser controller returned a malformed receipt");
|
|
16614
|
+
}
|
|
16615
|
+
receipt = {
|
|
16616
|
+
operationId: requireUuid(raw.operationId, "working runtime receipt id"),
|
|
16617
|
+
intent: raw.intent,
|
|
16618
|
+
state: requireOpaqueId(raw.state, "working runtime receipt state"),
|
|
16619
|
+
directoryLaunchAllowed: raw.directoryLaunchAllowed,
|
|
16620
|
+
authorityMatches: raw.authorityMatches,
|
|
16621
|
+
launchedFromCheckpoint: raw.restoreAuthorityDigest !== null,
|
|
16622
|
+
adoption: isRecord2(raw.adoption) ? {
|
|
16623
|
+
operationId: requireUuid(raw.adoption.operationId, "working copy adoption id"),
|
|
16624
|
+
manifestDigest: sha2563(raw.adoption.manifestDigest, "working copy manifest digest")
|
|
16625
|
+
} : null
|
|
16626
|
+
};
|
|
16627
|
+
}
|
|
16628
|
+
return {
|
|
16629
|
+
browserSessionId: reference.browserSessionId,
|
|
16630
|
+
controllerGeneration: reference.controllerGeneration,
|
|
16631
|
+
platformSupported: value.platformSupported,
|
|
16632
|
+
refusal: value.refusal,
|
|
16633
|
+
manifest,
|
|
16634
|
+
profileIdentityMatches: value.profileIdentityMatches,
|
|
16635
|
+
profileInUse: value.profileInUse,
|
|
16636
|
+
receipt,
|
|
16637
|
+
activeAdoption: value.activeAdoption === null || value.activeAdoption === void 0 ? null : parseWorkingCopyAdoption(value.activeAdoption, reference, "recorded")
|
|
16638
|
+
};
|
|
16639
|
+
}
|
|
16430
16640
|
function parseStateCaptureReceipt(value) {
|
|
16431
16641
|
if (!isRecord2(value) || !isRecord2(value.manifest)) {
|
|
16432
16642
|
throw new BrowserControlProtocolError(
|
|
@@ -17022,6 +17232,14 @@ function nonnegativeSafeInteger(value, label) {
|
|
|
17022
17232
|
}
|
|
17023
17233
|
return value;
|
|
17024
17234
|
}
|
|
17235
|
+
function excludedWorkingCopyEntries(value) {
|
|
17236
|
+
if (!Array.isArray(value) || value.length > 16 || !value.every((entry) => typeof entry === "string" && entry.length > 0 && entry.length <= 256)) {
|
|
17237
|
+
throw new BrowserControlProtocolError(
|
|
17238
|
+
"browser controller returned malformed working copy exclusions"
|
|
17239
|
+
);
|
|
17240
|
+
}
|
|
17241
|
+
return [...value];
|
|
17242
|
+
}
|
|
17025
17243
|
function parseUnsignedInteger(value, label) {
|
|
17026
17244
|
const trimmed = value.trim();
|
|
17027
17245
|
if (!/^(0|[1-9][0-9]*)$/u.test(trimmed)) {
|
|
@@ -20554,4 +20772,4 @@ export {
|
|
|
20554
20772
|
collectSandboxEnvironment2 as collectSandboxEnvironment,
|
|
20555
20773
|
parseExposedPorts2 as parseExposedPorts
|
|
20556
20774
|
};
|
|
20557
|
-
//# sourceMappingURL=chunk-
|
|
20775
|
+
//# sourceMappingURL=chunk-ETTCGPBT.js.map
|