@yielded/agent 0.1.0-beta.179 → 0.1.0-beta.181
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/{AgentRuntime-DrQfy4cL.mjs → AgentRuntime-BAExRlgu.mjs} +5 -4
- package/dist/AgentRuntime-BAExRlgu.mjs.map +1 -0
- package/dist/{DurableAgentRuntime-CWhu1exp.mjs → DurableAgentRuntime-HH2muFrT.mjs} +4 -4
- package/dist/{DurableAgentRuntime-CWhu1exp.mjs.map → DurableAgentRuntime-HH2muFrT.mjs.map} +1 -1
- package/dist/{Subagent-C7F7c8Op.mjs → Subagent-D68fe7mr.mjs} +2 -2
- package/dist/{Subagent-C7F7c8Op.mjs.map → Subagent-D68fe7mr.mjs.map} +1 -1
- package/dist/{WorkerAdmission-CtX1HRkm.mjs → WorkerAdmission-DrxDrLII.mjs} +2 -2
- package/dist/{WorkerAdmission-CtX1HRkm.mjs.map → WorkerAdmission-DrxDrLII.mjs.map} +1 -1
- package/dist/{agent-registration-Dt57NAP6.mjs → agent-registration-BovXT8jc.mjs} +2 -2
- package/dist/{agent-registration-Dt57NAP6.mjs.map → agent-registration-BovXT8jc.mjs.map} +1 -1
- package/dist/capabilities/BrowserUse.d.mts +9 -3
- package/dist/capabilities/BrowserUse.mjs +14 -2
- package/dist/capabilities/BrowserUse.mjs.map +1 -1
- package/dist/capabilities/Subagent.mjs +1 -1
- package/dist/durable/AgentRegistration.mjs +1 -1
- package/dist/durable/DurableAgentRuntime.mjs +2 -2
- package/dist/durable/RecordFormat.mjs +1 -2
- package/dist/durable/RecordFormat.mjs.map +1 -1
- package/dist/durable/SqlMemoryStore.d.mts +2 -15
- package/dist/durable/SqlMemoryStore.mjs +1 -1
- package/dist/durable/SqlMemoryStore.mjs.map +1 -1
- package/dist/durable/SqlStorageOwner.d.mts +20 -0
- package/dist/durable/SqlStorageOwner.mjs +7 -0
- package/dist/durable/SqlStorageOwner.mjs.map +1 -0
- package/dist/durable/SubscriptionInput.mjs +1 -1
- package/dist/durable/WorkerAdmission.mjs +1 -1
- package/dist/engine/AgentRuntime.mjs +1 -1
- package/dist/index.mjs +4 -4
- package/package.json +1 -1
- package/src/capabilities/BrowserUse.ts +26 -3
- package/src/durable/RecordFormat.ts +2 -2
- package/src/durable/SqlMemoryStore.ts +3 -21
- package/src/durable/SqlStorageOwner.ts +24 -0
- package/src/engine/internal/agent-runtime.ts +13 -2
- package/dist/AgentRuntime-DrQfy4cL.mjs.map +0 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Context, type Effect } from "effect";
|
|
2
|
+
import type * as SqlClientService from "effect/sql/SqlClient";
|
|
3
|
+
import type { SqlError } from "effect/sql/SqlError";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* An exclusive database owner's transaction gate. All cached services over that database
|
|
7
|
+
* must share this identity, and every failed transaction must run its invalidators before
|
|
8
|
+
* releasing readers. Hosts with independent database writers must leave this unset.
|
|
9
|
+
*/
|
|
10
|
+
export interface SqlStorageOwner {
|
|
11
|
+
/** Cache identity for transaction decorators; omission uses the owner itself.
|
|
12
|
+
* Shared identities must name the same database, reader gate and invalidator set. */
|
|
13
|
+
readonly identity?: object;
|
|
14
|
+
readonly read: <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
|
|
15
|
+
readonly transaction: <A, E, R>(
|
|
16
|
+
effect: Effect.Effect<A, E, R>,
|
|
17
|
+
) => Effect.Effect<A, E | SqlError, R | SqlClientService.SqlClient>;
|
|
18
|
+
readonly invalidators: Set<() => void>;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export const SqlStorageOwner = Context.Reference<SqlStorageOwner | undefined>(
|
|
22
|
+
"@effect-agent/thread/SqlStorageOwner",
|
|
23
|
+
{ defaultValue: () => undefined },
|
|
24
|
+
);
|
|
@@ -17,6 +17,7 @@ import * as Deferred from "effect/Deferred";
|
|
|
17
17
|
import * as Duration from "effect/Duration";
|
|
18
18
|
import * as Effect from "effect/Effect";
|
|
19
19
|
import * as Equal from "effect/Equal";
|
|
20
|
+
import * as ErrorReporter from "effect/ErrorReporter";
|
|
20
21
|
import * as Exit from "effect/Exit";
|
|
21
22
|
import * as Fiber from "effect/Fiber";
|
|
22
23
|
import * as Layer from "effect/Layer";
|
|
@@ -2349,7 +2350,12 @@ const executePreparedToolCall = Effect.fnUntraced(function* <
|
|
|
2349
2350
|
result.isFailure ? "returned-to-model" : undefined,
|
|
2350
2351
|
);
|
|
2351
2352
|
// Derivatives finish before optional publication, under the same call permit.
|
|
2352
|
-
if (
|
|
2353
|
+
if (
|
|
2354
|
+
observer !== undefined &&
|
|
2355
|
+
result.isFailure &&
|
|
2356
|
+
rejection === undefined &&
|
|
2357
|
+
!ErrorReporter.isIgnored(result.result)
|
|
2358
|
+
)
|
|
2353
2359
|
yield* prepareWithinDeadline(
|
|
2354
2360
|
context,
|
|
2355
2361
|
deliverToolFailure(observer, {
|
|
@@ -10321,6 +10327,7 @@ const makeToolBrokerService = Effect.fnUntraced(function* <HookError, HookRequir
|
|
|
10321
10327
|
| {
|
|
10322
10328
|
readonly encodedResult: unknown;
|
|
10323
10329
|
readonly isFailure: boolean;
|
|
10330
|
+
readonly ignored: boolean;
|
|
10324
10331
|
readonly tag: string | undefined;
|
|
10325
10332
|
}
|
|
10326
10333
|
| undefined;
|
|
@@ -10346,6 +10353,10 @@ const makeToolBrokerService = Effect.fnUntraced(function* <HookError, HookRequir
|
|
|
10346
10353
|
terminal = {
|
|
10347
10354
|
encodedResult: toolResultForJson(tool, result),
|
|
10348
10355
|
isFailure: result.isFailure,
|
|
10356
|
+
ignored:
|
|
10357
|
+
observer !== undefined &&
|
|
10358
|
+
result.isFailure &&
|
|
10359
|
+
ErrorReporter.isIgnored(result.result),
|
|
10349
10360
|
tag:
|
|
10350
10361
|
observer === undefined || !result.isFailure
|
|
10351
10362
|
? undefined
|
|
@@ -10398,7 +10409,7 @@ const makeToolBrokerService = Effect.fnUntraced(function* <HookError, HookRequir
|
|
|
10398
10409
|
);
|
|
10399
10410
|
}
|
|
10400
10411
|
if (terminal.isFailure) {
|
|
10401
|
-
if (observer !== undefined) {
|
|
10412
|
+
if (observer !== undefined && !terminal.ignored) {
|
|
10402
10413
|
failureObservation = {
|
|
10403
10414
|
_tag: "ProgrammaticToolFailure",
|
|
10404
10415
|
agentId: binding.context.agentId,
|