effect-agent 0.1.0-beta.110 → 0.1.0-beta.111
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.
|
@@ -2,7 +2,7 @@ import { p as SandboxImplementation } from "../Sandbox-CEsDWBLq.mjs";
|
|
|
2
2
|
import { s as PageScreenshotResult } from "../PageScreenshot-BpgZKAxl.mjs";
|
|
3
3
|
import { Context, Effect, Schema, Scope } from "effect";
|
|
4
4
|
declare namespace InteractiveBrowser_d_exports {
|
|
5
|
-
export { BrowserActionResult, BrowserClickRequest, BrowserFileSelectionResult, BrowserFillRequest, BrowserHandle, BrowserNavigateRequest, BrowserNavigationResult, BrowserReadTextRequest, BrowserScreenshotRequest, BrowserScrollRequest, BrowserSelectFileRequest, BrowserTextResult, InteractiveBrowser, InteractiveBrowserActionError, InteractiveBrowserBusyError, InteractiveBrowserCapacityError, InteractiveBrowserError, InteractiveBrowserExpiredError, InteractiveBrowserHost, InteractiveBrowserLimitError, InteractiveBrowserNetworkPolicy, InteractiveBrowserPolicy, InteractiveBrowserPolicyDeniedError, InteractiveBrowserProtocolError, InteractiveBrowserTargetUrl, InteractiveBrowserUnsupportedError };
|
|
5
|
+
export { BrowserActionResult, BrowserClickRequest, BrowserExpectedTarget, BrowserExpectedTargetState, BrowserFileSelectionResult, BrowserFillRequest, BrowserHandle, BrowserNavigateRequest, BrowserNavigationResult, BrowserReadTextRequest, BrowserScreenshotRequest, BrowserScrollRequest, BrowserSelectFileRequest, BrowserTextResult, InteractiveBrowser, InteractiveBrowserActionError, InteractiveBrowserBusyError, InteractiveBrowserCapacityError, InteractiveBrowserError, InteractiveBrowserExpiredError, InteractiveBrowserFailureEvidence, InteractiveBrowserHost, InteractiveBrowserLimitError, InteractiveBrowserNetworkPolicy, InteractiveBrowserPolicy, InteractiveBrowserPolicyDeniedError, InteractiveBrowserProtocolError, InteractiveBrowserTargetUrl, InteractiveBrowserUnsupportedError };
|
|
6
6
|
}
|
|
7
7
|
/** Absolute, bounded HTTP(S) navigation URL without embedded credentials. */
|
|
8
8
|
export declare const InteractiveBrowserTargetUrl: Schema.NonEmptyString;
|
|
@@ -39,13 +39,76 @@ declare const BrowserReadTextRequest_base: Schema.Class<BrowserReadTextRequest,
|
|
|
39
39
|
readonly selector: Schema.optionalKey<Schema.NonEmptyString>;
|
|
40
40
|
}>, {}>;
|
|
41
41
|
export declare class BrowserReadTextRequest extends BrowserReadTextRequest_base {}
|
|
42
|
+
/** Observed control state, without an input value. Absence is part of the snapshot. */
|
|
43
|
+
export declare const BrowserExpectedTargetState: Schema.Struct<{
|
|
44
|
+
readonly kind: Schema.String;
|
|
45
|
+
readonly inputType: Schema.optionalKey<Schema.String>;
|
|
46
|
+
readonly label: Schema.optionalKey<Schema.String>;
|
|
47
|
+
readonly checked: Schema.optionalKey<Schema.Boolean>;
|
|
48
|
+
readonly selected: Schema.optionalKey<Schema.Boolean>;
|
|
49
|
+
readonly disabled: Schema.optionalKey<Schema.Boolean>;
|
|
50
|
+
readonly required: Schema.optionalKey<Schema.Boolean>;
|
|
51
|
+
readonly valid: Schema.optionalKey<Schema.Boolean>;
|
|
52
|
+
readonly formValid: Schema.optionalKey<Schema.Boolean>;
|
|
53
|
+
}>;
|
|
54
|
+
export type BrowserExpectedTargetState = typeof BrowserExpectedTargetState.Type;
|
|
55
|
+
/** Exact observed document/node identity. A replacement node is refused before input dispatch. */
|
|
56
|
+
export declare const BrowserExpectedTarget: Schema.Struct<{
|
|
57
|
+
readonly documentId: Schema.NonEmptyString;
|
|
58
|
+
readonly nodeId: Schema.NonEmptyString;
|
|
59
|
+
readonly state: Schema.optionalKey<Schema.Struct<{
|
|
60
|
+
readonly kind: Schema.String;
|
|
61
|
+
readonly inputType: Schema.optionalKey<Schema.String>;
|
|
62
|
+
readonly label: Schema.optionalKey<Schema.String>;
|
|
63
|
+
readonly checked: Schema.optionalKey<Schema.Boolean>;
|
|
64
|
+
readonly selected: Schema.optionalKey<Schema.Boolean>;
|
|
65
|
+
readonly disabled: Schema.optionalKey<Schema.Boolean>;
|
|
66
|
+
readonly required: Schema.optionalKey<Schema.Boolean>;
|
|
67
|
+
readonly valid: Schema.optionalKey<Schema.Boolean>;
|
|
68
|
+
readonly formValid: Schema.optionalKey<Schema.Boolean>;
|
|
69
|
+
}>>;
|
|
70
|
+
readonly scopeSelector: Schema.optionalKey<Schema.NonEmptyString>;
|
|
71
|
+
}>;
|
|
72
|
+
export type BrowserExpectedTarget = typeof BrowserExpectedTarget.Type;
|
|
42
73
|
declare const BrowserFillRequest_base: Schema.Class<BrowserFillRequest, Schema.Struct<{
|
|
43
74
|
readonly selector: Schema.NonEmptyString;
|
|
44
75
|
readonly value: Schema.String;
|
|
76
|
+
readonly expectedTarget: Schema.optionalKey<Schema.Struct<{
|
|
77
|
+
readonly documentId: Schema.NonEmptyString;
|
|
78
|
+
readonly nodeId: Schema.NonEmptyString;
|
|
79
|
+
readonly state: Schema.optionalKey<Schema.Struct<{
|
|
80
|
+
readonly kind: Schema.String;
|
|
81
|
+
readonly inputType: Schema.optionalKey<Schema.String>;
|
|
82
|
+
readonly label: Schema.optionalKey<Schema.String>;
|
|
83
|
+
readonly checked: Schema.optionalKey<Schema.Boolean>;
|
|
84
|
+
readonly selected: Schema.optionalKey<Schema.Boolean>;
|
|
85
|
+
readonly disabled: Schema.optionalKey<Schema.Boolean>;
|
|
86
|
+
readonly required: Schema.optionalKey<Schema.Boolean>;
|
|
87
|
+
readonly valid: Schema.optionalKey<Schema.Boolean>;
|
|
88
|
+
readonly formValid: Schema.optionalKey<Schema.Boolean>;
|
|
89
|
+
}>>;
|
|
90
|
+
readonly scopeSelector: Schema.optionalKey<Schema.NonEmptyString>;
|
|
91
|
+
}>>;
|
|
45
92
|
}>, {}>;
|
|
46
93
|
export declare class BrowserFillRequest extends BrowserFillRequest_base {}
|
|
47
94
|
declare const BrowserClickRequest_base: Schema.Class<BrowserClickRequest, Schema.Struct<{
|
|
48
95
|
readonly selector: Schema.NonEmptyString;
|
|
96
|
+
readonly expectedTarget: Schema.optionalKey<Schema.Struct<{
|
|
97
|
+
readonly documentId: Schema.NonEmptyString;
|
|
98
|
+
readonly nodeId: Schema.NonEmptyString;
|
|
99
|
+
readonly state: Schema.optionalKey<Schema.Struct<{
|
|
100
|
+
readonly kind: Schema.String;
|
|
101
|
+
readonly inputType: Schema.optionalKey<Schema.String>;
|
|
102
|
+
readonly label: Schema.optionalKey<Schema.String>;
|
|
103
|
+
readonly checked: Schema.optionalKey<Schema.Boolean>;
|
|
104
|
+
readonly selected: Schema.optionalKey<Schema.Boolean>;
|
|
105
|
+
readonly disabled: Schema.optionalKey<Schema.Boolean>;
|
|
106
|
+
readonly required: Schema.optionalKey<Schema.Boolean>;
|
|
107
|
+
readonly valid: Schema.optionalKey<Schema.Boolean>;
|
|
108
|
+
readonly formValid: Schema.optionalKey<Schema.Boolean>;
|
|
109
|
+
}>>;
|
|
110
|
+
readonly scopeSelector: Schema.optionalKey<Schema.NonEmptyString>;
|
|
111
|
+
}>>;
|
|
49
112
|
}>, {}>;
|
|
50
113
|
export declare class BrowserClickRequest extends BrowserClickRequest_base {}
|
|
51
114
|
declare const BrowserSelectFileRequest_base: Schema.Class<BrowserSelectFileRequest, Schema.Struct<{
|
|
@@ -89,9 +152,23 @@ declare const BrowserActionResult_base: Schema.Class<BrowserActionResult, Schema
|
|
|
89
152
|
}>, {}>;
|
|
90
153
|
/** Post-action URL observation; no provider session state crosses this boundary. */
|
|
91
154
|
export declare class BrowserActionResult extends BrowserActionResult_base {}
|
|
155
|
+
/** Safe execution evidence, independent of provider messages and application receipts.
|
|
156
|
+
* completed proves SDK input completion, never website acceptance or durable settlement.
|
|
157
|
+
*/
|
|
158
|
+
export declare const InteractiveBrowserFailureEvidence: Schema.Struct<{
|
|
159
|
+
readonly stage: Schema.Literals<readonly ["preparation", "input", "observation"]>;
|
|
160
|
+
readonly dispatch: Schema.Literals<readonly ["not-dispatched", "completed", "unknown", "running"]>;
|
|
161
|
+
readonly session: Schema.Literals<readonly ["attached", "disconnected", "lost"]>;
|
|
162
|
+
}>;
|
|
163
|
+
export type InteractiveBrowserFailureEvidence = typeof InteractiveBrowserFailureEvidence.Type;
|
|
92
164
|
declare const InteractiveBrowserPolicyDeniedError_base: Schema.Class<InteractiveBrowserPolicyDeniedError, Schema.TaggedStruct<"InteractiveBrowserPolicyDeniedError", {
|
|
93
165
|
readonly implementation: typeof SandboxImplementation;
|
|
94
166
|
readonly message: Schema.String;
|
|
167
|
+
readonly evidence: Schema.optionalKey<Schema.Struct<{
|
|
168
|
+
readonly stage: Schema.Literals<readonly ["preparation", "input", "observation"]>;
|
|
169
|
+
readonly dispatch: Schema.Literals<readonly ["not-dispatched", "completed", "unknown", "running"]>;
|
|
170
|
+
readonly session: Schema.Literals<readonly ["attached", "disconnected", "lost"]>;
|
|
171
|
+
}>>;
|
|
95
172
|
}>, import("effect/Cause").YieldableError>;
|
|
96
173
|
export declare class InteractiveBrowserPolicyDeniedError extends InteractiveBrowserPolicyDeniedError_base {}
|
|
97
174
|
declare const InteractiveBrowserBusyError_base: Schema.Class<InteractiveBrowserBusyError, Schema.TaggedStruct<"InteractiveBrowserBusyError", {
|
|
@@ -107,23 +184,43 @@ export declare class InteractiveBrowserCapacityError extends InteractiveBrowserC
|
|
|
107
184
|
declare const InteractiveBrowserExpiredError_base: Schema.Class<InteractiveBrowserExpiredError, Schema.TaggedStruct<"InteractiveBrowserExpiredError", {
|
|
108
185
|
readonly implementation: typeof SandboxImplementation;
|
|
109
186
|
readonly message: Schema.String;
|
|
187
|
+
readonly evidence: Schema.optionalKey<Schema.Struct<{
|
|
188
|
+
readonly stage: Schema.Literals<readonly ["preparation", "input", "observation"]>;
|
|
189
|
+
readonly dispatch: Schema.Literals<readonly ["not-dispatched", "completed", "unknown", "running"]>;
|
|
190
|
+
readonly session: Schema.Literals<readonly ["attached", "disconnected", "lost"]>;
|
|
191
|
+
}>>;
|
|
110
192
|
}>, import("effect/Cause").YieldableError>;
|
|
111
193
|
export declare class InteractiveBrowserExpiredError extends InteractiveBrowserExpiredError_base {}
|
|
112
194
|
declare const InteractiveBrowserActionError_base: Schema.Class<InteractiveBrowserActionError, Schema.TaggedStruct<"InteractiveBrowserActionError", {
|
|
113
195
|
readonly implementation: typeof SandboxImplementation;
|
|
114
196
|
readonly operation: Schema.Literals<readonly ["navigate", "read-text", "fill", "click", "select-file", "screenshot", "scroll", "close"]>;
|
|
115
197
|
readonly message: Schema.String;
|
|
198
|
+
readonly evidence: Schema.optionalKey<Schema.Struct<{
|
|
199
|
+
readonly stage: Schema.Literals<readonly ["preparation", "input", "observation"]>;
|
|
200
|
+
readonly dispatch: Schema.Literals<readonly ["not-dispatched", "completed", "unknown", "running"]>;
|
|
201
|
+
readonly session: Schema.Literals<readonly ["attached", "disconnected", "lost"]>;
|
|
202
|
+
}>>;
|
|
116
203
|
readonly cause: Schema.optionalKey<Schema.Defect>;
|
|
117
204
|
}>, import("effect/Cause").YieldableError>;
|
|
118
205
|
export declare class InteractiveBrowserActionError extends InteractiveBrowserActionError_base {}
|
|
119
206
|
declare const InteractiveBrowserProtocolError_base: Schema.Class<InteractiveBrowserProtocolError, Schema.TaggedStruct<"InteractiveBrowserProtocolError", {
|
|
120
207
|
readonly implementation: typeof SandboxImplementation;
|
|
121
208
|
readonly message: Schema.String;
|
|
209
|
+
readonly evidence: Schema.optionalKey<Schema.Struct<{
|
|
210
|
+
readonly stage: Schema.Literals<readonly ["preparation", "input", "observation"]>;
|
|
211
|
+
readonly dispatch: Schema.Literals<readonly ["not-dispatched", "completed", "unknown", "running"]>;
|
|
212
|
+
readonly session: Schema.Literals<readonly ["attached", "disconnected", "lost"]>;
|
|
213
|
+
}>>;
|
|
122
214
|
readonly cause: Schema.optionalKey<Schema.Defect>;
|
|
123
215
|
}>, import("effect/Cause").YieldableError>;
|
|
124
216
|
export declare class InteractiveBrowserProtocolError extends InteractiveBrowserProtocolError_base {}
|
|
125
217
|
declare const InteractiveBrowserLimitError_base: Schema.Class<InteractiveBrowserLimitError, Schema.TaggedStruct<"InteractiveBrowserLimitError", {
|
|
126
218
|
readonly implementation: typeof SandboxImplementation;
|
|
219
|
+
readonly evidence: Schema.optionalKey<Schema.Struct<{
|
|
220
|
+
readonly stage: Schema.Literals<readonly ["preparation", "input", "observation"]>;
|
|
221
|
+
readonly dispatch: Schema.Literals<readonly ["not-dispatched", "completed", "unknown", "running"]>;
|
|
222
|
+
readonly session: Schema.Literals<readonly ["attached", "disconnected", "lost"]>;
|
|
223
|
+
}>>;
|
|
127
224
|
readonly limit: Schema.Literals<readonly ["actions", "elapsed", "returned-bytes"]>;
|
|
128
225
|
readonly maximum: Schema.Int;
|
|
129
226
|
readonly observed: Schema.Natural;
|
|
@@ -5,6 +5,8 @@ import { Context, Option, Schema } from "effect";
|
|
|
5
5
|
var InteractiveBrowser_exports = /* @__PURE__ */ __exportAll({
|
|
6
6
|
BrowserActionResult: () => BrowserActionResult,
|
|
7
7
|
BrowserClickRequest: () => BrowserClickRequest,
|
|
8
|
+
BrowserExpectedTarget: () => BrowserExpectedTarget,
|
|
9
|
+
BrowserExpectedTargetState: () => BrowserExpectedTargetState,
|
|
8
10
|
BrowserFileSelectionResult: () => BrowserFileSelectionResult,
|
|
9
11
|
BrowserFillRequest: () => BrowserFillRequest,
|
|
10
12
|
BrowserNavigateRequest: () => BrowserNavigateRequest,
|
|
@@ -20,6 +22,7 @@ var InteractiveBrowser_exports = /* @__PURE__ */ __exportAll({
|
|
|
20
22
|
InteractiveBrowserCapacityError: () => InteractiveBrowserCapacityError,
|
|
21
23
|
InteractiveBrowserError: () => InteractiveBrowserError,
|
|
22
24
|
InteractiveBrowserExpiredError: () => InteractiveBrowserExpiredError,
|
|
25
|
+
InteractiveBrowserFailureEvidence: () => InteractiveBrowserFailureEvidence,
|
|
23
26
|
InteractiveBrowserHost: () => InteractiveBrowserHost,
|
|
24
27
|
InteractiveBrowserLimitError: () => InteractiveBrowserLimitError,
|
|
25
28
|
InteractiveBrowserNetworkPolicy: () => InteractiveBrowserNetworkPolicy,
|
|
@@ -75,11 +78,34 @@ var InteractiveBrowserPolicy = class extends Schema.Class("InteractiveBrowserPol
|
|
|
75
78
|
})) {};
|
|
76
79
|
var BrowserNavigateRequest = class extends Schema.Class("BrowserNavigateRequest")({ url: InteractiveBrowserTargetUrl }) {};
|
|
77
80
|
var BrowserReadTextRequest = class extends Schema.Class("BrowserReadTextRequest")({ selector: Schema.optionalKey(Selector) }) {};
|
|
81
|
+
/** Observed control state, without an input value. Absence is part of the snapshot. */
|
|
82
|
+
const BrowserExpectedTargetState = Schema.Struct({
|
|
83
|
+
kind: Schema.String.check(Schema.isMaxLength(128)),
|
|
84
|
+
inputType: Schema.optionalKey(Schema.String.check(Schema.isMaxLength(64))),
|
|
85
|
+
label: Schema.optionalKey(Schema.String.check(Schema.isMaxLength(200))),
|
|
86
|
+
checked: Schema.optionalKey(Schema.Boolean),
|
|
87
|
+
selected: Schema.optionalKey(Schema.Boolean),
|
|
88
|
+
disabled: Schema.optionalKey(Schema.Boolean),
|
|
89
|
+
required: Schema.optionalKey(Schema.Boolean),
|
|
90
|
+
valid: Schema.optionalKey(Schema.Boolean),
|
|
91
|
+
formValid: Schema.optionalKey(Schema.Boolean)
|
|
92
|
+
});
|
|
93
|
+
/** Exact observed document/node identity. A replacement node is refused before input dispatch. */
|
|
94
|
+
const BrowserExpectedTarget = Schema.Struct({
|
|
95
|
+
documentId: Schema.NonEmptyString.check(Schema.isMaxLength(256)),
|
|
96
|
+
nodeId: Schema.NonEmptyString.check(Schema.isMaxLength(256)),
|
|
97
|
+
state: Schema.optionalKey(BrowserExpectedTargetState),
|
|
98
|
+
scopeSelector: Schema.optionalKey(Selector)
|
|
99
|
+
});
|
|
78
100
|
var BrowserFillRequest = class extends Schema.Class("BrowserFillRequest")({
|
|
79
101
|
selector: Selector,
|
|
80
|
-
value: FieldValue
|
|
102
|
+
value: FieldValue,
|
|
103
|
+
expectedTarget: Schema.optionalKey(BrowserExpectedTarget)
|
|
104
|
+
}) {};
|
|
105
|
+
var BrowserClickRequest = class extends Schema.Class("BrowserClickRequest")({
|
|
106
|
+
selector: Selector,
|
|
107
|
+
expectedTarget: Schema.optionalKey(BrowserExpectedTarget)
|
|
81
108
|
}) {};
|
|
82
|
-
var BrowserClickRequest = class extends Schema.Class("BrowserClickRequest")({ selector: Selector }) {};
|
|
83
109
|
/** Caller-owned bytes; no host filesystem paths or model-supplied script crosses this port. */
|
|
84
110
|
var BrowserSelectFileRequest = class extends Schema.Class("BrowserSelectFileRequest")({
|
|
85
111
|
selector: Selector,
|
|
@@ -106,9 +132,31 @@ var BrowserNavigationResult = class extends Schema.Class("BrowserNavigationResul
|
|
|
106
132
|
var BrowserTextResult = class extends Schema.Class("BrowserTextResult")({ text: BoundedText }) {};
|
|
107
133
|
/** Post-action URL observation; no provider session state crosses this boundary. */
|
|
108
134
|
var BrowserActionResult = class extends Schema.Class("BrowserActionResult")({ url: InteractiveBrowserTargetUrl }) {};
|
|
135
|
+
/** Safe execution evidence, independent of provider messages and application receipts.
|
|
136
|
+
* completed proves SDK input completion, never website acceptance or durable settlement.
|
|
137
|
+
*/
|
|
138
|
+
const InteractiveBrowserFailureEvidence = Schema.Struct({
|
|
139
|
+
stage: Schema.Literals([
|
|
140
|
+
"preparation",
|
|
141
|
+
"input",
|
|
142
|
+
"observation"
|
|
143
|
+
]),
|
|
144
|
+
dispatch: Schema.Literals([
|
|
145
|
+
"not-dispatched",
|
|
146
|
+
"completed",
|
|
147
|
+
"unknown",
|
|
148
|
+
"running"
|
|
149
|
+
]),
|
|
150
|
+
session: Schema.Literals([
|
|
151
|
+
"attached",
|
|
152
|
+
"disconnected",
|
|
153
|
+
"lost"
|
|
154
|
+
])
|
|
155
|
+
});
|
|
109
156
|
var InteractiveBrowserPolicyDeniedError = class extends Schema.TaggedError()("InteractiveBrowserPolicyDeniedError", {
|
|
110
157
|
implementation: SandboxImplementation,
|
|
111
|
-
message: BoundedMessage
|
|
158
|
+
message: BoundedMessage,
|
|
159
|
+
evidence: Schema.optionalKey(InteractiveBrowserFailureEvidence)
|
|
112
160
|
}) {};
|
|
113
161
|
var InteractiveBrowserBusyError = class extends Schema.TaggedError()("InteractiveBrowserBusyError", {
|
|
114
162
|
implementation: SandboxImplementation,
|
|
@@ -120,7 +168,8 @@ var InteractiveBrowserCapacityError = class extends Schema.TaggedError()("Intera
|
|
|
120
168
|
}) {};
|
|
121
169
|
var InteractiveBrowserExpiredError = class extends Schema.TaggedError()("InteractiveBrowserExpiredError", {
|
|
122
170
|
implementation: SandboxImplementation,
|
|
123
|
-
message: BoundedMessage
|
|
171
|
+
message: BoundedMessage,
|
|
172
|
+
evidence: Schema.optionalKey(InteractiveBrowserFailureEvidence)
|
|
124
173
|
}) {};
|
|
125
174
|
var InteractiveBrowserActionError = class extends Schema.TaggedError()("InteractiveBrowserActionError", {
|
|
126
175
|
implementation: SandboxImplementation,
|
|
@@ -135,15 +184,18 @@ var InteractiveBrowserActionError = class extends Schema.TaggedError()("Interact
|
|
|
135
184
|
"close"
|
|
136
185
|
]),
|
|
137
186
|
message: BoundedMessage,
|
|
187
|
+
evidence: Schema.optionalKey(InteractiveBrowserFailureEvidence),
|
|
138
188
|
cause: Schema.optionalKey(Schema.Defect())
|
|
139
189
|
}) {};
|
|
140
190
|
var InteractiveBrowserProtocolError = class extends Schema.TaggedError()("InteractiveBrowserProtocolError", {
|
|
141
191
|
implementation: SandboxImplementation,
|
|
142
192
|
message: BoundedMessage,
|
|
193
|
+
evidence: Schema.optionalKey(InteractiveBrowserFailureEvidence),
|
|
143
194
|
cause: Schema.optionalKey(Schema.Defect())
|
|
144
195
|
}) {};
|
|
145
196
|
var InteractiveBrowserLimitError = class extends Schema.TaggedError()("InteractiveBrowserLimitError", {
|
|
146
197
|
implementation: SandboxImplementation,
|
|
198
|
+
evidence: Schema.optionalKey(InteractiveBrowserFailureEvidence),
|
|
147
199
|
limit: Schema.Literals([
|
|
148
200
|
"actions",
|
|
149
201
|
"elapsed",
|
|
@@ -179,6 +231,6 @@ const InteractiveBrowserError = Schema.Union([
|
|
|
179
231
|
]);
|
|
180
232
|
var InteractiveBrowser = class extends Context.Service()("@effect-agent/sandbox/InteractiveBrowser") {};
|
|
181
233
|
//#endregion
|
|
182
|
-
export { BrowserActionResult, BrowserClickRequest, BrowserFileSelectionResult, BrowserFillRequest, BrowserNavigateRequest, BrowserNavigationResult, BrowserReadTextRequest, BrowserScreenshotRequest, BrowserScrollRequest, BrowserSelectFileRequest, BrowserTextResult, InteractiveBrowser, InteractiveBrowserActionError, InteractiveBrowserBusyError, InteractiveBrowserCapacityError, InteractiveBrowserError, InteractiveBrowserExpiredError, InteractiveBrowserHost, InteractiveBrowserLimitError, InteractiveBrowserNetworkPolicy, InteractiveBrowserPolicy, InteractiveBrowserPolicyDeniedError, InteractiveBrowserProtocolError, InteractiveBrowserTargetUrl, InteractiveBrowserUnsupportedError, InteractiveBrowser_exports as t };
|
|
234
|
+
export { BrowserActionResult, BrowserClickRequest, BrowserExpectedTarget, BrowserExpectedTargetState, BrowserFileSelectionResult, BrowserFillRequest, BrowserNavigateRequest, BrowserNavigationResult, BrowserReadTextRequest, BrowserScreenshotRequest, BrowserScrollRequest, BrowserSelectFileRequest, BrowserTextResult, InteractiveBrowser, InteractiveBrowserActionError, InteractiveBrowserBusyError, InteractiveBrowserCapacityError, InteractiveBrowserError, InteractiveBrowserExpiredError, InteractiveBrowserFailureEvidence, InteractiveBrowserHost, InteractiveBrowserLimitError, InteractiveBrowserNetworkPolicy, InteractiveBrowserPolicy, InteractiveBrowserPolicyDeniedError, InteractiveBrowserProtocolError, InteractiveBrowserTargetUrl, InteractiveBrowserUnsupportedError, InteractiveBrowser_exports as t };
|
|
183
235
|
|
|
184
236
|
//# sourceMappingURL=InteractiveBrowser.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InteractiveBrowser.mjs","names":[],"sources":["../../src/sandbox/InteractiveBrowser.ts"],"sourcesContent":["import { Context, Option, Schema, type Effect, type Scope } from \"effect\";\n\nimport type { PageScreenshotResult } from \"./PageScreenshot.ts\";\nimport { SandboxImplementation } from \"./Sandbox.ts\";\n\nconst PositiveInt = Schema.Int.check(Schema.isGreaterThan(0));\nconst BoundedText = Schema.String.check(Schema.isMaxLength(8 * 1024 * 1024));\nconst BoundedMessage = Schema.String.check(Schema.isMaxLength(8 * 1024));\nconst Selector = Schema.NonEmptyString.check(Schema.isMaxLength(1_024));\nconst FieldValue = Schema.String.check(Schema.isMaxLength(64 * 1024));\nconst ScrollDelta = Schema.Int.check(Schema.isBetween({ minimum: -100_000, maximum: 100_000 }));\nconst decodeUrl = Schema.decodeUnknownOption(Schema.URLFromString);\n\n/** Absolute, bounded HTTP(S) navigation URL without embedded credentials. */\nexport const InteractiveBrowserTargetUrl = Schema.NonEmptyString.check(\n Schema.isMaxLength(8 * 1024),\n Schema.makeFilter(\n (value) => {\n const parsed = decodeUrl(value);\n\n if (Option.isNone(parsed)) return false;\n const url = parsed.value;\n\n return (\n (url.protocol === \"http:\" || url.protocol === \"https:\") &&\n url.hostname !== \"\" &&\n url.username === \"\" &&\n url.password === \"\"\n );\n },\n { title: \"an absolute HTTP or HTTPS URL without embedded credentials\" },\n ),\n);\n\nexport type InteractiveBrowserTargetUrl = typeof InteractiveBrowserTargetUrl.Type;\n\n/** Canonical HTTPS host authority, optionally carrying a non-default port. */\nexport const InteractiveBrowserHost = Schema.NonEmptyString.check(\n Schema.isMaxLength(255),\n Schema.makeFilter(\n (value) => {\n if (value.includes(\"*\")) return false;\n const parsed = decodeUrl(`https://${value}/`);\n\n if (Option.isNone(parsed)) return false;\n const url = parsed.value;\n\n return (\n url.protocol === \"https:\" &&\n url.username === \"\" &&\n url.password === \"\" &&\n url.host === value\n );\n },\n { title: \"a canonical credential-free HTTPS host authority\" },\n ),\n);\n\nexport type InteractiveBrowserHost = typeof InteractiveBrowserHost.Type;\n\n/**\n * ExactHosts retains the page-request URL allowlist, not a public-network boundary.\n * PublicWeb requires connection-time public-address enforcement for all session\n * traffic, including human navigation. Adapters that cannot enforce it must fail\n * with InteractiveBrowserUnsupportedError before acquiring a browser.\n * Unrestricted explicitly opts out of URL/host and private-network containment.\n */\nexport const InteractiveBrowserNetworkPolicy = Schema.Union([\n Schema.TaggedStruct(\"ExactHosts\", {\n allowedHosts: Schema.Array(InteractiveBrowserHost).check(\n Schema.isMinLength(1),\n Schema.isMaxLength(64),\n Schema.isUnique(),\n ),\n }),\n Schema.TaggedStruct(\"PublicWeb\", {}),\n Schema.TaggedStruct(\"Unrestricted\", {}),\n]);\n\nexport type InteractiveBrowserNetworkPolicy = typeof InteractiveBrowserNetworkPolicy.Type;\n\n/** Finite per-pass budgets. The elapsed ceiling is one hour; provider idle limits may be shorter. */\nexport class InteractiveBrowserPolicy extends Schema.Class<InteractiveBrowserPolicy>(\n \"InteractiveBrowserPolicy\",\n)(\n Schema.Struct({\n network: InteractiveBrowserNetworkPolicy,\n maxActions: PositiveInt.check(Schema.isLessThanOrEqualTo(1_000)),\n maxElapsedMillis: PositiveInt.check(Schema.isLessThanOrEqualTo(60 * 60_000)),\n maxReturnedBytes: PositiveInt.check(Schema.isLessThanOrEqualTo(8 * 1024 * 1024)),\n }),\n) {}\n\nexport class BrowserNavigateRequest extends Schema.Class<BrowserNavigateRequest>(\n \"BrowserNavigateRequest\",\n)({ url: InteractiveBrowserTargetUrl }) {}\n\nexport class BrowserReadTextRequest extends Schema.Class<BrowserReadTextRequest>(\n \"BrowserReadTextRequest\",\n)({ selector: Schema.optionalKey(Selector) }) {}\n\nexport class BrowserFillRequest extends Schema.Class<BrowserFillRequest>(\"BrowserFillRequest\")({\n selector: Selector,\n value: FieldValue,\n}) {}\n\nexport class BrowserClickRequest extends Schema.Class<BrowserClickRequest>(\"BrowserClickRequest\")({\n selector: Selector,\n}) {}\n\n/** Caller-owned bytes; no host filesystem paths or model-supplied script crosses this port. */\nexport class BrowserSelectFileRequest extends Schema.Class<BrowserSelectFileRequest>(\n \"BrowserSelectFileRequest\",\n)({\n selector: Selector,\n target: Schema.Literals([\"input\", \"chooser\"]),\n fileName: Schema.NonEmptyString.check(\n Schema.isMaxLength(200),\n // oxlint-disable-next-line no-control-regex -- File names cannot contain control characters or paths.\n Schema.isPattern(/^[^/\\\\\\x00-\\x1f\\x7f]+$/),\n ),\n mediaType: Schema.NonEmptyString.check(\n Schema.isMaxLength(127),\n Schema.isPattern(/^[a-z0-9!#$&^_.+-]+\\/[a-z0-9!#$&^_.+-]+$/),\n ),\n bytes: Schema.Uint8Array.check(Schema.isMinLength(1), Schema.isMaxLength(8 * 1024 * 1024)),\n}) {}\n\n/** Confirms selection in the input. It does not confirm a website received or submitted the file. */\nexport class BrowserFileSelectionResult extends Schema.Class<BrowserFileSelectionResult>(\n \"BrowserFileSelectionResult\",\n)({\n url: InteractiveBrowserTargetUrl,\n fileName: BrowserSelectFileRequest.fields.fileName,\n mediaType: BrowserSelectFileRequest.fields.mediaType,\n size: PositiveInt.check(Schema.isLessThanOrEqualTo(8 * 1024 * 1024)),\n}) {}\n\n/** Capture the current page without navigating or opening another browser. */\nexport class BrowserScreenshotRequest extends Schema.Class<BrowserScreenshotRequest>(\n \"BrowserScreenshotRequest\",\n)({ fullPage: Schema.Boolean }) {}\n\n/** Scroll the current viewport by signed CSS pixel deltas. */\nexport class BrowserScrollRequest extends Schema.Class<BrowserScrollRequest>(\n \"BrowserScrollRequest\",\n)({\n deltaX: ScrollDelta,\n deltaY: ScrollDelta,\n}) {}\n\nexport class BrowserNavigationResult extends Schema.Class<BrowserNavigationResult>(\n \"BrowserNavigationResult\",\n)({ url: InteractiveBrowserTargetUrl }) {}\n\nexport class BrowserTextResult extends Schema.Class<BrowserTextResult>(\"BrowserTextResult\")({\n text: BoundedText,\n}) {}\n\n/** Post-action URL observation; no provider session state crosses this boundary. */\nexport class BrowserActionResult extends Schema.Class<BrowserActionResult>(\"BrowserActionResult\")({\n url: InteractiveBrowserTargetUrl,\n}) {}\n\nexport class InteractiveBrowserPolicyDeniedError extends Schema.TaggedError<InteractiveBrowserPolicyDeniedError>()(\n \"InteractiveBrowserPolicyDeniedError\",\n { implementation: SandboxImplementation, message: BoundedMessage },\n) {}\n\nexport class InteractiveBrowserBusyError extends Schema.TaggedError<InteractiveBrowserBusyError>()(\n \"InteractiveBrowserBusyError\",\n { implementation: SandboxImplementation, message: BoundedMessage },\n) {}\n\nexport class InteractiveBrowserCapacityError extends Schema.TaggedError<InteractiveBrowserCapacityError>()(\n \"InteractiveBrowserCapacityError\",\n { implementation: SandboxImplementation, message: BoundedMessage },\n) {}\n\nexport class InteractiveBrowserExpiredError extends Schema.TaggedError<InteractiveBrowserExpiredError>()(\n \"InteractiveBrowserExpiredError\",\n { implementation: SandboxImplementation, message: BoundedMessage },\n) {}\n\nexport class InteractiveBrowserActionError extends Schema.TaggedError<InteractiveBrowserActionError>()(\n \"InteractiveBrowserActionError\",\n {\n implementation: SandboxImplementation,\n operation: Schema.Literals([\n \"navigate\",\n \"read-text\",\n \"fill\",\n \"click\",\n \"select-file\",\n \"screenshot\",\n \"scroll\",\n \"close\",\n ]),\n message: BoundedMessage,\n cause: Schema.optionalKey(Schema.Defect()),\n },\n) {}\n\nexport class InteractiveBrowserProtocolError extends Schema.TaggedError<InteractiveBrowserProtocolError>()(\n \"InteractiveBrowserProtocolError\",\n {\n implementation: SandboxImplementation,\n message: BoundedMessage,\n cause: Schema.optionalKey(Schema.Defect()),\n },\n) {}\n\nexport class InteractiveBrowserLimitError extends Schema.TaggedError<InteractiveBrowserLimitError>()(\n \"InteractiveBrowserLimitError\",\n {\n implementation: SandboxImplementation,\n limit: Schema.Literals([\"actions\", \"elapsed\", \"returned-bytes\"]),\n maximum: PositiveInt,\n observed: Schema.Natural,\n message: BoundedMessage,\n },\n) {}\n\nexport class InteractiveBrowserUnsupportedError extends Schema.TaggedError<InteractiveBrowserUnsupportedError>()(\n \"InteractiveBrowserUnsupportedError\",\n {\n implementation: SandboxImplementation,\n feature: Schema.Literals([\n \"navigation\",\n \"read-text\",\n \"fill\",\n \"click\",\n \"select-file\",\n \"screenshot\",\n \"scroll\",\n \"policy\",\n ]),\n message: BoundedMessage,\n },\n) {}\n\nexport const InteractiveBrowserError = Schema.Union([\n InteractiveBrowserPolicyDeniedError,\n InteractiveBrowserBusyError,\n InteractiveBrowserCapacityError,\n InteractiveBrowserExpiredError,\n InteractiveBrowserActionError,\n InteractiveBrowserProtocolError,\n InteractiveBrowserLimitError,\n InteractiveBrowserUnsupportedError,\n]);\n\nexport type InteractiveBrowserError = typeof InteractiveBrowserError.Type;\n\n/** A live handle is intentionally not a Schema value and cannot cross persistence/transport boundaries. */\nexport interface BrowserHandle {\n readonly navigate: (\n request: BrowserNavigateRequest,\n ) => Effect.Effect<BrowserNavigationResult, InteractiveBrowserError>;\n readonly readText: (\n request: BrowserReadTextRequest,\n ) => Effect.Effect<BrowserTextResult, InteractiveBrowserError>;\n readonly fill: (\n request: BrowserFillRequest,\n ) => Effect.Effect<BrowserActionResult, InteractiveBrowserError>;\n readonly click: (\n request: BrowserClickRequest,\n ) => Effect.Effect<BrowserActionResult, InteractiveBrowserError>;\n readonly selectFile: (\n request: BrowserSelectFileRequest,\n ) => Effect.Effect<BrowserFileSelectionResult, InteractiveBrowserError>;\n /** PNG bytes are caller-owned and bounded by the pass's per-result byte limit. */\n readonly screenshot: (\n request: BrowserScreenshotRequest,\n ) => Effect.Effect<PageScreenshotResult, InteractiveBrowserError>;\n readonly scroll: (\n request: BrowserScrollRequest,\n ) => Effect.Effect<BrowserActionResult, InteractiveBrowserError>;\n /** Invalidate the handle and close its resources early, including after an interrupted action. */\n readonly close: Effect.Effect<void, InteractiveBrowserError>;\n}\n\nexport class InteractiveBrowser extends Context.Service<\n InteractiveBrowser,\n {\n readonly open: (\n policy: InteractiveBrowserPolicy,\n ) => Effect.Effect<BrowserHandle, InteractiveBrowserError, Scope.Scope>;\n }\n>()(\"@effect-agent/sandbox/InteractiveBrowser\") {}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InteractiveBrowser.mjs","names":[],"sources":["../../src/sandbox/InteractiveBrowser.ts"],"sourcesContent":["import { Context, Option, Schema, type Effect, type Scope } from \"effect\";\n\nimport type { PageScreenshotResult } from \"./PageScreenshot.ts\";\nimport { SandboxImplementation } from \"./Sandbox.ts\";\n\nconst PositiveInt = Schema.Int.check(Schema.isGreaterThan(0));\nconst BoundedText = Schema.String.check(Schema.isMaxLength(8 * 1024 * 1024));\nconst BoundedMessage = Schema.String.check(Schema.isMaxLength(8 * 1024));\nconst Selector = Schema.NonEmptyString.check(Schema.isMaxLength(1_024));\nconst FieldValue = Schema.String.check(Schema.isMaxLength(64 * 1024));\nconst ScrollDelta = Schema.Int.check(Schema.isBetween({ minimum: -100_000, maximum: 100_000 }));\nconst decodeUrl = Schema.decodeUnknownOption(Schema.URLFromString);\n\n/** Absolute, bounded HTTP(S) navigation URL without embedded credentials. */\nexport const InteractiveBrowserTargetUrl = Schema.NonEmptyString.check(\n Schema.isMaxLength(8 * 1024),\n Schema.makeFilter(\n (value) => {\n const parsed = decodeUrl(value);\n\n if (Option.isNone(parsed)) return false;\n const url = parsed.value;\n\n return (\n (url.protocol === \"http:\" || url.protocol === \"https:\") &&\n url.hostname !== \"\" &&\n url.username === \"\" &&\n url.password === \"\"\n );\n },\n { title: \"an absolute HTTP or HTTPS URL without embedded credentials\" },\n ),\n);\n\nexport type InteractiveBrowserTargetUrl = typeof InteractiveBrowserTargetUrl.Type;\n\n/** Canonical HTTPS host authority, optionally carrying a non-default port. */\nexport const InteractiveBrowserHost = Schema.NonEmptyString.check(\n Schema.isMaxLength(255),\n Schema.makeFilter(\n (value) => {\n if (value.includes(\"*\")) return false;\n const parsed = decodeUrl(`https://${value}/`);\n\n if (Option.isNone(parsed)) return false;\n const url = parsed.value;\n\n return (\n url.protocol === \"https:\" &&\n url.username === \"\" &&\n url.password === \"\" &&\n url.host === value\n );\n },\n { title: \"a canonical credential-free HTTPS host authority\" },\n ),\n);\n\nexport type InteractiveBrowserHost = typeof InteractiveBrowserHost.Type;\n\n/**\n * ExactHosts retains the page-request URL allowlist, not a public-network boundary.\n * PublicWeb requires connection-time public-address enforcement for all session\n * traffic, including human navigation. Adapters that cannot enforce it must fail\n * with InteractiveBrowserUnsupportedError before acquiring a browser.\n * Unrestricted explicitly opts out of URL/host and private-network containment.\n */\nexport const InteractiveBrowserNetworkPolicy = Schema.Union([\n Schema.TaggedStruct(\"ExactHosts\", {\n allowedHosts: Schema.Array(InteractiveBrowserHost).check(\n Schema.isMinLength(1),\n Schema.isMaxLength(64),\n Schema.isUnique(),\n ),\n }),\n Schema.TaggedStruct(\"PublicWeb\", {}),\n Schema.TaggedStruct(\"Unrestricted\", {}),\n]);\n\nexport type InteractiveBrowserNetworkPolicy = typeof InteractiveBrowserNetworkPolicy.Type;\n\n/** Finite per-pass budgets. The elapsed ceiling is one hour; provider idle limits may be shorter. */\nexport class InteractiveBrowserPolicy extends Schema.Class<InteractiveBrowserPolicy>(\n \"InteractiveBrowserPolicy\",\n)(\n Schema.Struct({\n network: InteractiveBrowserNetworkPolicy,\n maxActions: PositiveInt.check(Schema.isLessThanOrEqualTo(1_000)),\n maxElapsedMillis: PositiveInt.check(Schema.isLessThanOrEqualTo(60 * 60_000)),\n maxReturnedBytes: PositiveInt.check(Schema.isLessThanOrEqualTo(8 * 1024 * 1024)),\n }),\n) {}\n\nexport class BrowserNavigateRequest extends Schema.Class<BrowserNavigateRequest>(\n \"BrowserNavigateRequest\",\n)({ url: InteractiveBrowserTargetUrl }) {}\n\nexport class BrowserReadTextRequest extends Schema.Class<BrowserReadTextRequest>(\n \"BrowserReadTextRequest\",\n)({ selector: Schema.optionalKey(Selector) }) {}\n\n/** Observed control state, without an input value. Absence is part of the snapshot. */\nexport const BrowserExpectedTargetState = Schema.Struct({\n kind: Schema.String.check(Schema.isMaxLength(128)),\n inputType: Schema.optionalKey(Schema.String.check(Schema.isMaxLength(64))),\n label: Schema.optionalKey(Schema.String.check(Schema.isMaxLength(200))),\n checked: Schema.optionalKey(Schema.Boolean),\n selected: Schema.optionalKey(Schema.Boolean),\n disabled: Schema.optionalKey(Schema.Boolean),\n required: Schema.optionalKey(Schema.Boolean),\n valid: Schema.optionalKey(Schema.Boolean),\n formValid: Schema.optionalKey(Schema.Boolean),\n});\n\nexport type BrowserExpectedTargetState = typeof BrowserExpectedTargetState.Type;\n\n/** Exact observed document/node identity. A replacement node is refused before input dispatch. */\nexport const BrowserExpectedTarget = Schema.Struct({\n documentId: Schema.NonEmptyString.check(Schema.isMaxLength(256)),\n nodeId: Schema.NonEmptyString.check(Schema.isMaxLength(256)),\n state: Schema.optionalKey(BrowserExpectedTargetState),\n scopeSelector: Schema.optionalKey(Selector),\n});\n\nexport type BrowserExpectedTarget = typeof BrowserExpectedTarget.Type;\n\nexport class BrowserFillRequest extends Schema.Class<BrowserFillRequest>(\"BrowserFillRequest\")({\n selector: Selector,\n value: FieldValue,\n expectedTarget: Schema.optionalKey(BrowserExpectedTarget),\n}) {}\n\nexport class BrowserClickRequest extends Schema.Class<BrowserClickRequest>(\"BrowserClickRequest\")({\n selector: Selector,\n expectedTarget: Schema.optionalKey(BrowserExpectedTarget),\n}) {}\n\n/** Caller-owned bytes; no host filesystem paths or model-supplied script crosses this port. */\nexport class BrowserSelectFileRequest extends Schema.Class<BrowserSelectFileRequest>(\n \"BrowserSelectFileRequest\",\n)({\n selector: Selector,\n target: Schema.Literals([\"input\", \"chooser\"]),\n fileName: Schema.NonEmptyString.check(\n Schema.isMaxLength(200),\n // oxlint-disable-next-line no-control-regex -- File names cannot contain control characters or paths.\n Schema.isPattern(/^[^/\\\\\\x00-\\x1f\\x7f]+$/),\n ),\n mediaType: Schema.NonEmptyString.check(\n Schema.isMaxLength(127),\n Schema.isPattern(/^[a-z0-9!#$&^_.+-]+\\/[a-z0-9!#$&^_.+-]+$/),\n ),\n bytes: Schema.Uint8Array.check(Schema.isMinLength(1), Schema.isMaxLength(8 * 1024 * 1024)),\n}) {}\n\n/** Confirms selection in the input. It does not confirm a website received or submitted the file. */\nexport class BrowserFileSelectionResult extends Schema.Class<BrowserFileSelectionResult>(\n \"BrowserFileSelectionResult\",\n)({\n url: InteractiveBrowserTargetUrl,\n fileName: BrowserSelectFileRequest.fields.fileName,\n mediaType: BrowserSelectFileRequest.fields.mediaType,\n size: PositiveInt.check(Schema.isLessThanOrEqualTo(8 * 1024 * 1024)),\n}) {}\n\n/** Capture the current page without navigating or opening another browser. */\nexport class BrowserScreenshotRequest extends Schema.Class<BrowserScreenshotRequest>(\n \"BrowserScreenshotRequest\",\n)({ fullPage: Schema.Boolean }) {}\n\n/** Scroll the current viewport by signed CSS pixel deltas. */\nexport class BrowserScrollRequest extends Schema.Class<BrowserScrollRequest>(\n \"BrowserScrollRequest\",\n)({\n deltaX: ScrollDelta,\n deltaY: ScrollDelta,\n}) {}\n\nexport class BrowserNavigationResult extends Schema.Class<BrowserNavigationResult>(\n \"BrowserNavigationResult\",\n)({ url: InteractiveBrowserTargetUrl }) {}\n\nexport class BrowserTextResult extends Schema.Class<BrowserTextResult>(\"BrowserTextResult\")({\n text: BoundedText,\n}) {}\n\n/** Post-action URL observation; no provider session state crosses this boundary. */\nexport class BrowserActionResult extends Schema.Class<BrowserActionResult>(\"BrowserActionResult\")({\n url: InteractiveBrowserTargetUrl,\n}) {}\n\n/** Safe execution evidence, independent of provider messages and application receipts.\n * completed proves SDK input completion, never website acceptance or durable settlement.\n */\nexport const InteractiveBrowserFailureEvidence = Schema.Struct({\n stage: Schema.Literals([\"preparation\", \"input\", \"observation\"]),\n dispatch: Schema.Literals([\"not-dispatched\", \"completed\", \"unknown\", \"running\"]),\n session: Schema.Literals([\"attached\", \"disconnected\", \"lost\"]),\n});\n\nexport type InteractiveBrowserFailureEvidence = typeof InteractiveBrowserFailureEvidence.Type;\n\nexport class InteractiveBrowserPolicyDeniedError extends Schema.TaggedError<InteractiveBrowserPolicyDeniedError>()(\n \"InteractiveBrowserPolicyDeniedError\",\n {\n implementation: SandboxImplementation,\n message: BoundedMessage,\n evidence: Schema.optionalKey(InteractiveBrowserFailureEvidence),\n },\n) {}\n\nexport class InteractiveBrowserBusyError extends Schema.TaggedError<InteractiveBrowserBusyError>()(\n \"InteractiveBrowserBusyError\",\n { implementation: SandboxImplementation, message: BoundedMessage },\n) {}\n\nexport class InteractiveBrowserCapacityError extends Schema.TaggedError<InteractiveBrowserCapacityError>()(\n \"InteractiveBrowserCapacityError\",\n { implementation: SandboxImplementation, message: BoundedMessage },\n) {}\n\nexport class InteractiveBrowserExpiredError extends Schema.TaggedError<InteractiveBrowserExpiredError>()(\n \"InteractiveBrowserExpiredError\",\n {\n implementation: SandboxImplementation,\n message: BoundedMessage,\n evidence: Schema.optionalKey(InteractiveBrowserFailureEvidence),\n },\n) {}\n\nexport class InteractiveBrowserActionError extends Schema.TaggedError<InteractiveBrowserActionError>()(\n \"InteractiveBrowserActionError\",\n {\n implementation: SandboxImplementation,\n operation: Schema.Literals([\n \"navigate\",\n \"read-text\",\n \"fill\",\n \"click\",\n \"select-file\",\n \"screenshot\",\n \"scroll\",\n \"close\",\n ]),\n message: BoundedMessage,\n evidence: Schema.optionalKey(InteractiveBrowserFailureEvidence),\n cause: Schema.optionalKey(Schema.Defect()),\n },\n) {}\n\nexport class InteractiveBrowserProtocolError extends Schema.TaggedError<InteractiveBrowserProtocolError>()(\n \"InteractiveBrowserProtocolError\",\n {\n implementation: SandboxImplementation,\n message: BoundedMessage,\n evidence: Schema.optionalKey(InteractiveBrowserFailureEvidence),\n cause: Schema.optionalKey(Schema.Defect()),\n },\n) {}\n\nexport class InteractiveBrowserLimitError extends Schema.TaggedError<InteractiveBrowserLimitError>()(\n \"InteractiveBrowserLimitError\",\n {\n implementation: SandboxImplementation,\n evidence: Schema.optionalKey(InteractiveBrowserFailureEvidence),\n limit: Schema.Literals([\"actions\", \"elapsed\", \"returned-bytes\"]),\n maximum: PositiveInt,\n observed: Schema.Natural,\n message: BoundedMessage,\n },\n) {}\n\nexport class InteractiveBrowserUnsupportedError extends Schema.TaggedError<InteractiveBrowserUnsupportedError>()(\n \"InteractiveBrowserUnsupportedError\",\n {\n implementation: SandboxImplementation,\n feature: Schema.Literals([\n \"navigation\",\n \"read-text\",\n \"fill\",\n \"click\",\n \"select-file\",\n \"screenshot\",\n \"scroll\",\n \"policy\",\n ]),\n message: BoundedMessage,\n },\n) {}\n\nexport const InteractiveBrowserError = Schema.Union([\n InteractiveBrowserPolicyDeniedError,\n InteractiveBrowserBusyError,\n InteractiveBrowserCapacityError,\n InteractiveBrowserExpiredError,\n InteractiveBrowserActionError,\n InteractiveBrowserProtocolError,\n InteractiveBrowserLimitError,\n InteractiveBrowserUnsupportedError,\n]);\n\nexport type InteractiveBrowserError = typeof InteractiveBrowserError.Type;\n\n/** A live handle is intentionally not a Schema value and cannot cross persistence/transport boundaries. */\nexport interface BrowserHandle {\n readonly navigate: (\n request: BrowserNavigateRequest,\n ) => Effect.Effect<BrowserNavigationResult, InteractiveBrowserError>;\n readonly readText: (\n request: BrowserReadTextRequest,\n ) => Effect.Effect<BrowserTextResult, InteractiveBrowserError>;\n readonly fill: (\n request: BrowserFillRequest,\n ) => Effect.Effect<BrowserActionResult, InteractiveBrowserError>;\n readonly click: (\n request: BrowserClickRequest,\n ) => Effect.Effect<BrowserActionResult, InteractiveBrowserError>;\n readonly selectFile: (\n request: BrowserSelectFileRequest,\n ) => Effect.Effect<BrowserFileSelectionResult, InteractiveBrowserError>;\n /** PNG bytes are caller-owned and bounded by the pass's per-result byte limit. */\n readonly screenshot: (\n request: BrowserScreenshotRequest,\n ) => Effect.Effect<PageScreenshotResult, InteractiveBrowserError>;\n readonly scroll: (\n request: BrowserScrollRequest,\n ) => Effect.Effect<BrowserActionResult, InteractiveBrowserError>;\n /** Invalidate the handle and close its resources early, including after an interrupted action. */\n readonly close: Effect.Effect<void, InteractiveBrowserError>;\n}\n\nexport class InteractiveBrowser extends Context.Service<\n InteractiveBrowser,\n {\n readonly open: (\n policy: InteractiveBrowserPolicy,\n ) => Effect.Effect<BrowserHandle, InteractiveBrowserError, Scope.Scope>;\n }\n>()(\"@effect-agent/sandbox/InteractiveBrowser\") {}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"effect-agent","version":"0.1.0-beta.110","devDependencies":{"@effect/platform-node":"4.0.0-rc.115","@effect/vitest":"4.0.0-rc.115","effect":"4.0.0-rc.115","typescript":"7.0.2","vite-plus":"0.3.2"},"peerDependencies":{"effect":"^4.0.0-rc.115"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"./activity-store":{"types":"./dist/durable/ActivityStore.d.mts","default":"./dist/durable/ActivityStore.mjs"},"./admin":{"types":"./dist/durable/Admin.d.mts","default":"./dist/durable/Admin.mjs"},"./agent":{"types":"./dist/core/Agent.d.mts","default":"./dist/core/Agent.mjs"},"./agent-error":{"types":"./dist/core/AgentError.d.mts","default":"./dist/core/AgentError.mjs"},"./agent-policy":{"types":"./dist/core/AgentPolicy.d.mts","default":"./dist/core/AgentPolicy.mjs"},"./agent-registration":{"types":"./dist/durable/AgentRegistration.d.mts","default":"./dist/durable/AgentRegistration.mjs"},"./agent-runtime":{"types":"./dist/engine/AgentRuntime.d.mts","default":"./dist/engine/AgentRuntime.mjs"},"./agent-updates":{"types":"./dist/core/AgentUpdates.d.mts","default":"./dist/core/AgentUpdates.mjs"},"./approval":{"types":"./dist/capabilities/Approval.d.mts","default":"./dist/capabilities/Approval.mjs"},"./budget":{"types":"./dist/capabilities/Budget.d.mts","default":"./dist/capabilities/Budget.mjs"},"./code-executor":{"types":"./dist/sandbox/CodeExecutor.d.mts","default":"./dist/sandbox/CodeExecutor.mjs"},"./code-mode":{"types":"./dist/capabilities/CodeMode.d.mts","default":"./dist/capabilities/CodeMode.mjs"},"./commands":{"types":"./dist/capabilities/Commands.d.mts","default":"./dist/capabilities/Commands.mjs"},"./committed-activity":{"types":"./dist/durable/CommittedActivity.d.mts","default":"./dist/durable/CommittedActivity.mjs"},"./compaction":{"types":"./dist/engine/Compaction.d.mts","default":"./dist/engine/Compaction.mjs"},"./context-compactor":{"types":"./dist/engine/ContextCompactor.d.mts","default":"./dist/engine/ContextCompactor.mjs"},"./context-history":{"types":"./dist/engine/ContextHistory.d.mts","default":"./dist/engine/ContextHistory.mjs"},"./context-tools":{"types":"./dist/capabilities/ContextTools.d.mts","default":"./dist/capabilities/ContextTools.mjs"},"./context-window":{"types":"./dist/engine/ContextWindow.d.mts","default":"./dist/engine/ContextWindow.mjs"},"./digest":{"types":"./dist/durable/Digest.d.mts","default":"./dist/durable/Digest.mjs"},"./durable-agent-runtime":{"types":"./dist/durable/DurableAgentRuntime.d.mts","default":"./dist/durable/DurableAgentRuntime.mjs"},"./durable-failpoint":{"types":"./dist/durable/DurableFailpoint.d.mts","default":"./dist/durable/DurableFailpoint.mjs"},"./durable-step":{"types":"./dist/engine/DurableStep.d.mts","default":"./dist/engine/DurableStep.mjs"},"./event-source":{"types":"./dist/durable/EventSource.d.mts","default":"./dist/durable/EventSource.mjs"},"./failure-diagnostic":{"types":"./dist/core/FailureDiagnostic.d.mts","default":"./dist/core/FailureDiagnostic.mjs"},"./git-hub-workflow-source":{"types":"./dist/durable/GitHubWorkflowSource.d.mts","default":"./dist/durable/GitHubWorkflowSource.mjs"},"./id-generator":{"types":"./dist/core/IdGenerator.d.mts","default":"./dist/core/IdGenerator.mjs"},"./identifiers":{"types":"./dist/core/Identifiers.d.mts","default":"./dist/core/Identifiers.mjs"},"./in-memory":{"types":"./dist/InMemory.d.mts","default":"./dist/InMemory.mjs"},"./interactive-browser":{"types":"./dist/sandbox/InteractiveBrowser.d.mts","default":"./dist/sandbox/InteractiveBrowser.mjs"},"./mcp":{"types":"./dist/capabilities/Mcp.d.mts","default":"./dist/capabilities/Mcp.mjs"},"./mcp-client":{"types":"./dist/capabilities/McpClient.d.mts","default":"./dist/capabilities/McpClient.mjs"},"./memory":{"types":"./dist/core/Memory.d.mts","default":"./dist/core/Memory.mjs"},"./memory-namespace":{"types":"./dist/core/MemoryNamespace.d.mts","default":"./dist/core/MemoryNamespace.mjs"},"./memory-notes":{"types":"./dist/capabilities/MemoryNotes.d.mts","default":"./dist/capabilities/MemoryNotes.mjs"},"./memory-reference":{"types":"./dist/core/MemoryReference.d.mts","default":"./dist/core/MemoryReference.mjs"},"./memory-revalidation":{"types":"./dist/core/MemoryRevalidation.d.mts","default":"./dist/core/MemoryRevalidation.mjs"},"./memory-store":{"types":"./dist/core/MemoryStore.d.mts","default":"./dist/core/MemoryStore.mjs"},"./message-delivery":{"types":"./dist/durable/MessageDelivery.d.mts","default":"./dist/durable/MessageDelivery.mjs"},"./messaging":{"types":"./dist/capabilities/Messaging.d.mts","default":"./dist/capabilities/Messaging.mjs"},"./messaging-host":{"types":"./dist/engine/MessagingHost.d.mts","default":"./dist/engine/MessagingHost.mjs"},"./model-context":{"types":"./dist/capabilities/ModelContext.d.mts","default":"./dist/capabilities/ModelContext.mjs"},"./operation-authorizer":{"types":"./dist/durable/OperationAuthorizer.d.mts","default":"./dist/durable/OperationAuthorizer.mjs"},"./output":{"types":"./dist/engine/Output.d.mts","default":"./dist/engine/Output.mjs"},"./page-capture":{"types":"./dist/sandbox/PageCapture.d.mts","default":"./dist/sandbox/PageCapture.mjs"},"./page-crawl":{"types":"./dist/sandbox/PageCrawl.d.mts","default":"./dist/sandbox/PageCrawl.mjs"},"./page-screenshot":{"types":"./dist/sandbox/PageScreenshot.d.mts","default":"./dist/sandbox/PageScreenshot.mjs"},"./persistent-history":{"types":"./dist/durable/PersistentHistory.d.mts","default":"./dist/durable/PersistentHistory.mjs"},"./prepared-input-admission":{"types":"./dist/durable/PreparedInputAdmission.d.mts","default":"./dist/durable/PreparedInputAdmission.mjs"},"./protected-browser":{"types":"./dist/sandbox/ProtectedBrowser.d.mts","default":"./dist/sandbox/ProtectedBrowser.mjs"},"./receipt":{"types":"./dist/core/Receipt.d.mts","default":"./dist/core/Receipt.mjs"},"./records":{"types":"./dist/durable/Records.d.mts","default":"./dist/durable/Records.mjs"},"./recovery":{"types":"./dist/durable/Recovery.d.mts","default":"./dist/durable/Recovery.mjs"},"./redaction":{"types":"./dist/capabilities/Redaction.d.mts","default":"./dist/capabilities/Redaction.mjs"},"./remembering":{"types":"./dist/capabilities/Remembering.d.mts","default":"./dist/capabilities/Remembering.mjs"},"./remembering-store":{"types":"./dist/core/RememberingStore.d.mts","default":"./dist/core/RememberingStore.mjs"},"./run-event":{"types":"./dist/core/RunEvent.d.mts","default":"./dist/core/RunEvent.mjs"},"./run-event-sink":{"types":"./dist/engine/RunEventSink.d.mts","default":"./dist/engine/RunEventSink.mjs"},"./run-hooks":{"types":"./dist/capabilities/RunHooks.d.mts","default":"./dist/capabilities/RunHooks.mjs"},"./run-journal":{"types":"./dist/durable/RunJournal.d.mts","default":"./dist/durable/RunJournal.mjs"},"./run-options":{"types":"./dist/engine/RunOptions.d.mts","default":"./dist/engine/RunOptions.mjs"},"./run-policy-usage":{"types":"./dist/core/RunPolicyUsage.d.mts","default":"./dist/core/RunPolicyUsage.mjs"},"./sandbox":{"types":"./dist/sandbox/Sandbox.d.mts","default":"./dist/sandbox/Sandbox.mjs"},"./schedule":{"types":"./dist/durable/Schedule.d.mts","default":"./dist/durable/Schedule.mjs"},"./schedule-transition":{"types":"./dist/durable/ScheduleTransition.d.mts","default":"./dist/durable/ScheduleTransition.mjs"},"./scheduling":{"types":"./dist/durable/Scheduling.d.mts","default":"./dist/durable/Scheduling.mjs"},"./semantic-memory":{"types":"./dist/capabilities/SemanticMemory.d.mts","default":"./dist/capabilities/SemanticMemory.mjs"},"./semantic-memory-index":{"types":"./dist/core/SemanticMemoryIndex.d.mts","default":"./dist/core/SemanticMemoryIndex.mjs"},"./semantic-memory-revalidation":{"types":"./dist/core/SemanticMemoryRevalidation.d.mts","default":"./dist/core/SemanticMemoryRevalidation.mjs"},"./sql-thread-native-reads":{"types":"./dist/durable/SqlThreadNativeReads.d.mts","default":"./dist/durable/SqlThreadNativeReads.mjs"},"./sql-memory-store":{"types":"./dist/durable/SqlMemoryStore.d.mts","default":"./dist/durable/SqlMemoryStore.mjs"},"./sql-message-delivery-store":{"types":"./dist/durable/SqlMessageDeliveryStore.d.mts","default":"./dist/durable/SqlMessageDeliveryStore.mjs"},"./sql-storage-v2-upgrade":{"types":"./dist/durable/SqlStorageV2Upgrade.d.mts","default":"./dist/durable/SqlStorageV2Upgrade.mjs"},"./sql-subscription-store":{"types":"./dist/durable/SqlSubscriptionStore.d.mts","default":"./dist/durable/SqlSubscriptionStore.mjs"},"./subagent":{"types":"./dist/capabilities/Subagent.d.mts","default":"./dist/capabilities/Subagent.mjs"},"./subagent-contract":{"types":"./dist/core/SubagentContract.d.mts","default":"./dist/core/SubagentContract.mjs"},"./subagent-host":{"types":"./dist/engine/SubagentHost.d.mts","default":"./dist/engine/SubagentHost.mjs"},"./subagent-reservations":{"types":"./dist/capabilities/SubagentReservations.d.mts","default":"./dist/capabilities/SubagentReservations.mjs"},"./submission-ledger":{"types":"./dist/durable/SubmissionLedger.d.mts","default":"./dist/durable/SubmissionLedger.mjs"},"./submission-status":{"types":"./dist/durable/SubmissionStatus.d.mts","default":"./dist/durable/SubmissionStatus.mjs"},"./subscription":{"types":"./dist/durable/Subscription.d.mts","default":"./dist/durable/Subscription.mjs"},"./subscription-input":{"types":"./dist/durable/SubscriptionInput.d.mts","default":"./dist/durable/SubscriptionInput.mjs"},"./subscription-tools":{"types":"./dist/durable/SubscriptionTools.d.mts","default":"./dist/durable/SubscriptionTools.mjs"},"./subscription-transition":{"types":"./dist/durable/SubscriptionTransition.d.mts","default":"./dist/durable/SubscriptionTransition.mjs"},"./subscriptions":{"types":"./dist/durable/Subscriptions.d.mts","default":"./dist/durable/Subscriptions.mjs"},"./testing/certification":{"types":"./dist/durable/Certification.d.mts","default":"./dist/durable/Certification.mjs"},"./testing/durable-failpoint-test-control":{"types":"./dist/durable/DurableFailpointTestControl.d.mts","default":"./dist/durable/DurableFailpointTestControl.mjs"},"./testing/message-delivery-store-conformance":{"types":"./dist/durable/MessageDeliveryStoreConformance.d.mts","default":"./dist/durable/MessageDeliveryStoreConformance.mjs"},"./testing/schedule-store-conformance":{"types":"./dist/durable/ScheduleStoreConformance.d.mts","default":"./dist/durable/ScheduleStoreConformance.mjs"},"./testing/submission-ledger-conformance":{"types":"./dist/durable/SubmissionLedgerConformance.d.mts","default":"./dist/durable/SubmissionLedgerConformance.mjs"},"./testing/subscription-store-conformance":{"types":"./dist/durable/SubscriptionStoreConformance.d.mts","default":"./dist/durable/SubscriptionStoreConformance.mjs"},"./testing/thread-store-conformance":{"types":"./dist/durable/ThreadStoreConformance.d.mts","default":"./dist/durable/ThreadStoreConformance.mjs"},"./thread":{"types":"./dist/core/Thread.d.mts","default":"./dist/core/Thread.mjs"},"./thread-context-history":{"types":"./dist/durable/ThreadContextHistory.d.mts","default":"./dist/durable/ThreadContextHistory.mjs"},"./thread-context-history-projection":{"types":"./dist/durable/ThreadContextHistoryProjection.d.mts","default":"./dist/durable/ThreadContextHistoryProjection.mjs"},"./thread-history":{"types":"./dist/engine/ThreadHistory.d.mts","default":"./dist/engine/ThreadHistory.mjs"},"./thread-invariants":{"types":"./dist/durable/ThreadInvariants.d.mts","default":"./dist/durable/ThreadInvariants.mjs"},"./thread-projection":{"types":"./dist/durable/ThreadProjection.d.mts","default":"./dist/durable/ThreadProjection.mjs"},"./thread-projection-maintenance":{"types":"./dist/durable/ThreadProjectionMaintenance.d.mts","default":"./dist/durable/ThreadProjectionMaintenance.mjs"},"./thread-store":{"types":"./dist/durable/ThreadStore.d.mts","default":"./dist/durable/ThreadStore.mjs"},"./tool-broker":{"types":"./dist/engine/ToolBroker.d.mts","default":"./dist/engine/ToolBroker.mjs"},"./tool-discovery":{"types":"./dist/capabilities/ToolDiscovery.d.mts","default":"./dist/capabilities/ToolDiscovery.mjs"},"./tool-exposure":{"types":"./dist/ToolExposure.d.mts","default":"./dist/ToolExposure.mjs"},"./tool-reconciler":{"types":"./dist/durable/ToolReconciler.d.mts","default":"./dist/durable/ToolReconciler.mjs"},"./tool-result":{"types":"./dist/core/ToolResult.d.mts","default":"./dist/core/ToolResult.mjs"},"./usage":{"types":"./dist/core/Usage.d.mts","default":"./dist/core/Usage.mjs"},"./wake-scheduler":{"types":"./dist/durable/WakeScheduler.d.mts","default":"./dist/durable/WakeScheduler.mjs"},"./web-capture":{"types":"./dist/capabilities/WebCapture.d.mts","default":"./dist/capabilities/WebCapture.mjs"},"./web-search":{"types":"./dist/capabilities/WebSearch.d.mts","default":"./dist/capabilities/WebSearch.mjs"},"./worker":{"types":"./dist/core/Worker.d.mts","default":"./dist/core/Worker.mjs"},"./worker-host":{"types":"./dist/durable/WorkerHost.d.mts","default":"./dist/durable/WorkerHost.mjs"}},"description":"Effect-native agents, execution, subagents, and sandbox contracts in one tree-shakeable package.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/danieljvdm/effect-agent.git","directory":"packages/effect-agent"},"files":["dist","src"],"type":"module","sideEffects":[],"publishConfig":{"access":"public"},"scripts":{"build":"vp pack","check":"tsc --noEmit -p tsconfig.json","test":"vp test --passWithNoTests"}}
|
|
1
|
+
{"name":"effect-agent","version":"0.1.0-beta.111","devDependencies":{"@effect/platform-node":"4.0.0-rc.115","@effect/vitest":"4.0.0-rc.115","effect":"4.0.0-rc.115","typescript":"7.0.2","vite-plus":"0.3.2"},"peerDependencies":{"effect":"^4.0.0-rc.115"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"./activity-store":{"types":"./dist/durable/ActivityStore.d.mts","default":"./dist/durable/ActivityStore.mjs"},"./admin":{"types":"./dist/durable/Admin.d.mts","default":"./dist/durable/Admin.mjs"},"./agent":{"types":"./dist/core/Agent.d.mts","default":"./dist/core/Agent.mjs"},"./agent-error":{"types":"./dist/core/AgentError.d.mts","default":"./dist/core/AgentError.mjs"},"./agent-policy":{"types":"./dist/core/AgentPolicy.d.mts","default":"./dist/core/AgentPolicy.mjs"},"./agent-registration":{"types":"./dist/durable/AgentRegistration.d.mts","default":"./dist/durable/AgentRegistration.mjs"},"./agent-runtime":{"types":"./dist/engine/AgentRuntime.d.mts","default":"./dist/engine/AgentRuntime.mjs"},"./agent-updates":{"types":"./dist/core/AgentUpdates.d.mts","default":"./dist/core/AgentUpdates.mjs"},"./approval":{"types":"./dist/capabilities/Approval.d.mts","default":"./dist/capabilities/Approval.mjs"},"./budget":{"types":"./dist/capabilities/Budget.d.mts","default":"./dist/capabilities/Budget.mjs"},"./code-executor":{"types":"./dist/sandbox/CodeExecutor.d.mts","default":"./dist/sandbox/CodeExecutor.mjs"},"./code-mode":{"types":"./dist/capabilities/CodeMode.d.mts","default":"./dist/capabilities/CodeMode.mjs"},"./commands":{"types":"./dist/capabilities/Commands.d.mts","default":"./dist/capabilities/Commands.mjs"},"./committed-activity":{"types":"./dist/durable/CommittedActivity.d.mts","default":"./dist/durable/CommittedActivity.mjs"},"./compaction":{"types":"./dist/engine/Compaction.d.mts","default":"./dist/engine/Compaction.mjs"},"./context-compactor":{"types":"./dist/engine/ContextCompactor.d.mts","default":"./dist/engine/ContextCompactor.mjs"},"./context-history":{"types":"./dist/engine/ContextHistory.d.mts","default":"./dist/engine/ContextHistory.mjs"},"./context-tools":{"types":"./dist/capabilities/ContextTools.d.mts","default":"./dist/capabilities/ContextTools.mjs"},"./context-window":{"types":"./dist/engine/ContextWindow.d.mts","default":"./dist/engine/ContextWindow.mjs"},"./digest":{"types":"./dist/durable/Digest.d.mts","default":"./dist/durable/Digest.mjs"},"./durable-agent-runtime":{"types":"./dist/durable/DurableAgentRuntime.d.mts","default":"./dist/durable/DurableAgentRuntime.mjs"},"./durable-failpoint":{"types":"./dist/durable/DurableFailpoint.d.mts","default":"./dist/durable/DurableFailpoint.mjs"},"./durable-step":{"types":"./dist/engine/DurableStep.d.mts","default":"./dist/engine/DurableStep.mjs"},"./event-source":{"types":"./dist/durable/EventSource.d.mts","default":"./dist/durable/EventSource.mjs"},"./failure-diagnostic":{"types":"./dist/core/FailureDiagnostic.d.mts","default":"./dist/core/FailureDiagnostic.mjs"},"./git-hub-workflow-source":{"types":"./dist/durable/GitHubWorkflowSource.d.mts","default":"./dist/durable/GitHubWorkflowSource.mjs"},"./id-generator":{"types":"./dist/core/IdGenerator.d.mts","default":"./dist/core/IdGenerator.mjs"},"./identifiers":{"types":"./dist/core/Identifiers.d.mts","default":"./dist/core/Identifiers.mjs"},"./in-memory":{"types":"./dist/InMemory.d.mts","default":"./dist/InMemory.mjs"},"./interactive-browser":{"types":"./dist/sandbox/InteractiveBrowser.d.mts","default":"./dist/sandbox/InteractiveBrowser.mjs"},"./mcp":{"types":"./dist/capabilities/Mcp.d.mts","default":"./dist/capabilities/Mcp.mjs"},"./mcp-client":{"types":"./dist/capabilities/McpClient.d.mts","default":"./dist/capabilities/McpClient.mjs"},"./memory":{"types":"./dist/core/Memory.d.mts","default":"./dist/core/Memory.mjs"},"./memory-namespace":{"types":"./dist/core/MemoryNamespace.d.mts","default":"./dist/core/MemoryNamespace.mjs"},"./memory-notes":{"types":"./dist/capabilities/MemoryNotes.d.mts","default":"./dist/capabilities/MemoryNotes.mjs"},"./memory-reference":{"types":"./dist/core/MemoryReference.d.mts","default":"./dist/core/MemoryReference.mjs"},"./memory-revalidation":{"types":"./dist/core/MemoryRevalidation.d.mts","default":"./dist/core/MemoryRevalidation.mjs"},"./memory-store":{"types":"./dist/core/MemoryStore.d.mts","default":"./dist/core/MemoryStore.mjs"},"./message-delivery":{"types":"./dist/durable/MessageDelivery.d.mts","default":"./dist/durable/MessageDelivery.mjs"},"./messaging":{"types":"./dist/capabilities/Messaging.d.mts","default":"./dist/capabilities/Messaging.mjs"},"./messaging-host":{"types":"./dist/engine/MessagingHost.d.mts","default":"./dist/engine/MessagingHost.mjs"},"./model-context":{"types":"./dist/capabilities/ModelContext.d.mts","default":"./dist/capabilities/ModelContext.mjs"},"./operation-authorizer":{"types":"./dist/durable/OperationAuthorizer.d.mts","default":"./dist/durable/OperationAuthorizer.mjs"},"./output":{"types":"./dist/engine/Output.d.mts","default":"./dist/engine/Output.mjs"},"./page-capture":{"types":"./dist/sandbox/PageCapture.d.mts","default":"./dist/sandbox/PageCapture.mjs"},"./page-crawl":{"types":"./dist/sandbox/PageCrawl.d.mts","default":"./dist/sandbox/PageCrawl.mjs"},"./page-screenshot":{"types":"./dist/sandbox/PageScreenshot.d.mts","default":"./dist/sandbox/PageScreenshot.mjs"},"./persistent-history":{"types":"./dist/durable/PersistentHistory.d.mts","default":"./dist/durable/PersistentHistory.mjs"},"./prepared-input-admission":{"types":"./dist/durable/PreparedInputAdmission.d.mts","default":"./dist/durable/PreparedInputAdmission.mjs"},"./protected-browser":{"types":"./dist/sandbox/ProtectedBrowser.d.mts","default":"./dist/sandbox/ProtectedBrowser.mjs"},"./receipt":{"types":"./dist/core/Receipt.d.mts","default":"./dist/core/Receipt.mjs"},"./records":{"types":"./dist/durable/Records.d.mts","default":"./dist/durable/Records.mjs"},"./recovery":{"types":"./dist/durable/Recovery.d.mts","default":"./dist/durable/Recovery.mjs"},"./redaction":{"types":"./dist/capabilities/Redaction.d.mts","default":"./dist/capabilities/Redaction.mjs"},"./remembering":{"types":"./dist/capabilities/Remembering.d.mts","default":"./dist/capabilities/Remembering.mjs"},"./remembering-store":{"types":"./dist/core/RememberingStore.d.mts","default":"./dist/core/RememberingStore.mjs"},"./run-event":{"types":"./dist/core/RunEvent.d.mts","default":"./dist/core/RunEvent.mjs"},"./run-event-sink":{"types":"./dist/engine/RunEventSink.d.mts","default":"./dist/engine/RunEventSink.mjs"},"./run-hooks":{"types":"./dist/capabilities/RunHooks.d.mts","default":"./dist/capabilities/RunHooks.mjs"},"./run-journal":{"types":"./dist/durable/RunJournal.d.mts","default":"./dist/durable/RunJournal.mjs"},"./run-options":{"types":"./dist/engine/RunOptions.d.mts","default":"./dist/engine/RunOptions.mjs"},"./run-policy-usage":{"types":"./dist/core/RunPolicyUsage.d.mts","default":"./dist/core/RunPolicyUsage.mjs"},"./sandbox":{"types":"./dist/sandbox/Sandbox.d.mts","default":"./dist/sandbox/Sandbox.mjs"},"./schedule":{"types":"./dist/durable/Schedule.d.mts","default":"./dist/durable/Schedule.mjs"},"./schedule-transition":{"types":"./dist/durable/ScheduleTransition.d.mts","default":"./dist/durable/ScheduleTransition.mjs"},"./scheduling":{"types":"./dist/durable/Scheduling.d.mts","default":"./dist/durable/Scheduling.mjs"},"./semantic-memory":{"types":"./dist/capabilities/SemanticMemory.d.mts","default":"./dist/capabilities/SemanticMemory.mjs"},"./semantic-memory-index":{"types":"./dist/core/SemanticMemoryIndex.d.mts","default":"./dist/core/SemanticMemoryIndex.mjs"},"./semantic-memory-revalidation":{"types":"./dist/core/SemanticMemoryRevalidation.d.mts","default":"./dist/core/SemanticMemoryRevalidation.mjs"},"./sql-thread-native-reads":{"types":"./dist/durable/SqlThreadNativeReads.d.mts","default":"./dist/durable/SqlThreadNativeReads.mjs"},"./sql-memory-store":{"types":"./dist/durable/SqlMemoryStore.d.mts","default":"./dist/durable/SqlMemoryStore.mjs"},"./sql-message-delivery-store":{"types":"./dist/durable/SqlMessageDeliveryStore.d.mts","default":"./dist/durable/SqlMessageDeliveryStore.mjs"},"./sql-storage-v2-upgrade":{"types":"./dist/durable/SqlStorageV2Upgrade.d.mts","default":"./dist/durable/SqlStorageV2Upgrade.mjs"},"./sql-subscription-store":{"types":"./dist/durable/SqlSubscriptionStore.d.mts","default":"./dist/durable/SqlSubscriptionStore.mjs"},"./subagent":{"types":"./dist/capabilities/Subagent.d.mts","default":"./dist/capabilities/Subagent.mjs"},"./subagent-contract":{"types":"./dist/core/SubagentContract.d.mts","default":"./dist/core/SubagentContract.mjs"},"./subagent-host":{"types":"./dist/engine/SubagentHost.d.mts","default":"./dist/engine/SubagentHost.mjs"},"./subagent-reservations":{"types":"./dist/capabilities/SubagentReservations.d.mts","default":"./dist/capabilities/SubagentReservations.mjs"},"./submission-ledger":{"types":"./dist/durable/SubmissionLedger.d.mts","default":"./dist/durable/SubmissionLedger.mjs"},"./submission-status":{"types":"./dist/durable/SubmissionStatus.d.mts","default":"./dist/durable/SubmissionStatus.mjs"},"./subscription":{"types":"./dist/durable/Subscription.d.mts","default":"./dist/durable/Subscription.mjs"},"./subscription-input":{"types":"./dist/durable/SubscriptionInput.d.mts","default":"./dist/durable/SubscriptionInput.mjs"},"./subscription-tools":{"types":"./dist/durable/SubscriptionTools.d.mts","default":"./dist/durable/SubscriptionTools.mjs"},"./subscription-transition":{"types":"./dist/durable/SubscriptionTransition.d.mts","default":"./dist/durable/SubscriptionTransition.mjs"},"./subscriptions":{"types":"./dist/durable/Subscriptions.d.mts","default":"./dist/durable/Subscriptions.mjs"},"./testing/certification":{"types":"./dist/durable/Certification.d.mts","default":"./dist/durable/Certification.mjs"},"./testing/durable-failpoint-test-control":{"types":"./dist/durable/DurableFailpointTestControl.d.mts","default":"./dist/durable/DurableFailpointTestControl.mjs"},"./testing/message-delivery-store-conformance":{"types":"./dist/durable/MessageDeliveryStoreConformance.d.mts","default":"./dist/durable/MessageDeliveryStoreConformance.mjs"},"./testing/schedule-store-conformance":{"types":"./dist/durable/ScheduleStoreConformance.d.mts","default":"./dist/durable/ScheduleStoreConformance.mjs"},"./testing/submission-ledger-conformance":{"types":"./dist/durable/SubmissionLedgerConformance.d.mts","default":"./dist/durable/SubmissionLedgerConformance.mjs"},"./testing/subscription-store-conformance":{"types":"./dist/durable/SubscriptionStoreConformance.d.mts","default":"./dist/durable/SubscriptionStoreConformance.mjs"},"./testing/thread-store-conformance":{"types":"./dist/durable/ThreadStoreConformance.d.mts","default":"./dist/durable/ThreadStoreConformance.mjs"},"./thread":{"types":"./dist/core/Thread.d.mts","default":"./dist/core/Thread.mjs"},"./thread-context-history":{"types":"./dist/durable/ThreadContextHistory.d.mts","default":"./dist/durable/ThreadContextHistory.mjs"},"./thread-context-history-projection":{"types":"./dist/durable/ThreadContextHistoryProjection.d.mts","default":"./dist/durable/ThreadContextHistoryProjection.mjs"},"./thread-history":{"types":"./dist/engine/ThreadHistory.d.mts","default":"./dist/engine/ThreadHistory.mjs"},"./thread-invariants":{"types":"./dist/durable/ThreadInvariants.d.mts","default":"./dist/durable/ThreadInvariants.mjs"},"./thread-projection":{"types":"./dist/durable/ThreadProjection.d.mts","default":"./dist/durable/ThreadProjection.mjs"},"./thread-projection-maintenance":{"types":"./dist/durable/ThreadProjectionMaintenance.d.mts","default":"./dist/durable/ThreadProjectionMaintenance.mjs"},"./thread-store":{"types":"./dist/durable/ThreadStore.d.mts","default":"./dist/durable/ThreadStore.mjs"},"./tool-broker":{"types":"./dist/engine/ToolBroker.d.mts","default":"./dist/engine/ToolBroker.mjs"},"./tool-discovery":{"types":"./dist/capabilities/ToolDiscovery.d.mts","default":"./dist/capabilities/ToolDiscovery.mjs"},"./tool-exposure":{"types":"./dist/ToolExposure.d.mts","default":"./dist/ToolExposure.mjs"},"./tool-reconciler":{"types":"./dist/durable/ToolReconciler.d.mts","default":"./dist/durable/ToolReconciler.mjs"},"./tool-result":{"types":"./dist/core/ToolResult.d.mts","default":"./dist/core/ToolResult.mjs"},"./usage":{"types":"./dist/core/Usage.d.mts","default":"./dist/core/Usage.mjs"},"./wake-scheduler":{"types":"./dist/durable/WakeScheduler.d.mts","default":"./dist/durable/WakeScheduler.mjs"},"./web-capture":{"types":"./dist/capabilities/WebCapture.d.mts","default":"./dist/capabilities/WebCapture.mjs"},"./web-search":{"types":"./dist/capabilities/WebSearch.d.mts","default":"./dist/capabilities/WebSearch.mjs"},"./worker":{"types":"./dist/core/Worker.d.mts","default":"./dist/core/Worker.mjs"},"./worker-host":{"types":"./dist/durable/WorkerHost.d.mts","default":"./dist/durable/WorkerHost.mjs"}},"description":"Effect-native agents, execution, subagents, and sandbox contracts in one tree-shakeable package.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/danieljvdm/effect-agent.git","directory":"packages/effect-agent"},"files":["dist","src"],"type":"module","sideEffects":[],"publishConfig":{"access":"public"},"scripts":{"build":"vp pack","check":"tsc --noEmit -p tsconfig.json","test":"vp test --passWithNoTests"}}
|
|
@@ -99,13 +99,40 @@ export class BrowserReadTextRequest extends Schema.Class<BrowserReadTextRequest>
|
|
|
99
99
|
"BrowserReadTextRequest",
|
|
100
100
|
)({ selector: Schema.optionalKey(Selector) }) {}
|
|
101
101
|
|
|
102
|
+
/** Observed control state, without an input value. Absence is part of the snapshot. */
|
|
103
|
+
export const BrowserExpectedTargetState = Schema.Struct({
|
|
104
|
+
kind: Schema.String.check(Schema.isMaxLength(128)),
|
|
105
|
+
inputType: Schema.optionalKey(Schema.String.check(Schema.isMaxLength(64))),
|
|
106
|
+
label: Schema.optionalKey(Schema.String.check(Schema.isMaxLength(200))),
|
|
107
|
+
checked: Schema.optionalKey(Schema.Boolean),
|
|
108
|
+
selected: Schema.optionalKey(Schema.Boolean),
|
|
109
|
+
disabled: Schema.optionalKey(Schema.Boolean),
|
|
110
|
+
required: Schema.optionalKey(Schema.Boolean),
|
|
111
|
+
valid: Schema.optionalKey(Schema.Boolean),
|
|
112
|
+
formValid: Schema.optionalKey(Schema.Boolean),
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
export type BrowserExpectedTargetState = typeof BrowserExpectedTargetState.Type;
|
|
116
|
+
|
|
117
|
+
/** Exact observed document/node identity. A replacement node is refused before input dispatch. */
|
|
118
|
+
export const BrowserExpectedTarget = Schema.Struct({
|
|
119
|
+
documentId: Schema.NonEmptyString.check(Schema.isMaxLength(256)),
|
|
120
|
+
nodeId: Schema.NonEmptyString.check(Schema.isMaxLength(256)),
|
|
121
|
+
state: Schema.optionalKey(BrowserExpectedTargetState),
|
|
122
|
+
scopeSelector: Schema.optionalKey(Selector),
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
export type BrowserExpectedTarget = typeof BrowserExpectedTarget.Type;
|
|
126
|
+
|
|
102
127
|
export class BrowserFillRequest extends Schema.Class<BrowserFillRequest>("BrowserFillRequest")({
|
|
103
128
|
selector: Selector,
|
|
104
129
|
value: FieldValue,
|
|
130
|
+
expectedTarget: Schema.optionalKey(BrowserExpectedTarget),
|
|
105
131
|
}) {}
|
|
106
132
|
|
|
107
133
|
export class BrowserClickRequest extends Schema.Class<BrowserClickRequest>("BrowserClickRequest")({
|
|
108
134
|
selector: Selector,
|
|
135
|
+
expectedTarget: Schema.optionalKey(BrowserExpectedTarget),
|
|
109
136
|
}) {}
|
|
110
137
|
|
|
111
138
|
/** Caller-owned bytes; no host filesystem paths or model-supplied script crosses this port. */
|
|
@@ -162,9 +189,24 @@ export class BrowserActionResult extends Schema.Class<BrowserActionResult>("Brow
|
|
|
162
189
|
url: InteractiveBrowserTargetUrl,
|
|
163
190
|
}) {}
|
|
164
191
|
|
|
192
|
+
/** Safe execution evidence, independent of provider messages and application receipts.
|
|
193
|
+
* completed proves SDK input completion, never website acceptance or durable settlement.
|
|
194
|
+
*/
|
|
195
|
+
export const InteractiveBrowserFailureEvidence = Schema.Struct({
|
|
196
|
+
stage: Schema.Literals(["preparation", "input", "observation"]),
|
|
197
|
+
dispatch: Schema.Literals(["not-dispatched", "completed", "unknown", "running"]),
|
|
198
|
+
session: Schema.Literals(["attached", "disconnected", "lost"]),
|
|
199
|
+
});
|
|
200
|
+
|
|
201
|
+
export type InteractiveBrowserFailureEvidence = typeof InteractiveBrowserFailureEvidence.Type;
|
|
202
|
+
|
|
165
203
|
export class InteractiveBrowserPolicyDeniedError extends Schema.TaggedError<InteractiveBrowserPolicyDeniedError>()(
|
|
166
204
|
"InteractiveBrowserPolicyDeniedError",
|
|
167
|
-
{
|
|
205
|
+
{
|
|
206
|
+
implementation: SandboxImplementation,
|
|
207
|
+
message: BoundedMessage,
|
|
208
|
+
evidence: Schema.optionalKey(InteractiveBrowserFailureEvidence),
|
|
209
|
+
},
|
|
168
210
|
) {}
|
|
169
211
|
|
|
170
212
|
export class InteractiveBrowserBusyError extends Schema.TaggedError<InteractiveBrowserBusyError>()(
|
|
@@ -179,7 +221,11 @@ export class InteractiveBrowserCapacityError extends Schema.TaggedError<Interact
|
|
|
179
221
|
|
|
180
222
|
export class InteractiveBrowserExpiredError extends Schema.TaggedError<InteractiveBrowserExpiredError>()(
|
|
181
223
|
"InteractiveBrowserExpiredError",
|
|
182
|
-
{
|
|
224
|
+
{
|
|
225
|
+
implementation: SandboxImplementation,
|
|
226
|
+
message: BoundedMessage,
|
|
227
|
+
evidence: Schema.optionalKey(InteractiveBrowserFailureEvidence),
|
|
228
|
+
},
|
|
183
229
|
) {}
|
|
184
230
|
|
|
185
231
|
export class InteractiveBrowserActionError extends Schema.TaggedError<InteractiveBrowserActionError>()(
|
|
@@ -197,6 +243,7 @@ export class InteractiveBrowserActionError extends Schema.TaggedError<Interactiv
|
|
|
197
243
|
"close",
|
|
198
244
|
]),
|
|
199
245
|
message: BoundedMessage,
|
|
246
|
+
evidence: Schema.optionalKey(InteractiveBrowserFailureEvidence),
|
|
200
247
|
cause: Schema.optionalKey(Schema.Defect()),
|
|
201
248
|
},
|
|
202
249
|
) {}
|
|
@@ -206,6 +253,7 @@ export class InteractiveBrowserProtocolError extends Schema.TaggedError<Interact
|
|
|
206
253
|
{
|
|
207
254
|
implementation: SandboxImplementation,
|
|
208
255
|
message: BoundedMessage,
|
|
256
|
+
evidence: Schema.optionalKey(InteractiveBrowserFailureEvidence),
|
|
209
257
|
cause: Schema.optionalKey(Schema.Defect()),
|
|
210
258
|
},
|
|
211
259
|
) {}
|
|
@@ -214,6 +262,7 @@ export class InteractiveBrowserLimitError extends Schema.TaggedError<Interactive
|
|
|
214
262
|
"InteractiveBrowserLimitError",
|
|
215
263
|
{
|
|
216
264
|
implementation: SandboxImplementation,
|
|
265
|
+
evidence: Schema.optionalKey(InteractiveBrowserFailureEvidence),
|
|
217
266
|
limit: Schema.Literals(["actions", "elapsed", "returned-bytes"]),
|
|
218
267
|
maximum: PositiveInt,
|
|
219
268
|
observed: Schema.Natural,
|