@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.
Files changed (35) hide show
  1. package/dist/{AgentRuntime-DrQfy4cL.mjs → AgentRuntime-BAExRlgu.mjs} +5 -4
  2. package/dist/AgentRuntime-BAExRlgu.mjs.map +1 -0
  3. package/dist/{DurableAgentRuntime-CWhu1exp.mjs → DurableAgentRuntime-HH2muFrT.mjs} +4 -4
  4. package/dist/{DurableAgentRuntime-CWhu1exp.mjs.map → DurableAgentRuntime-HH2muFrT.mjs.map} +1 -1
  5. package/dist/{Subagent-C7F7c8Op.mjs → Subagent-D68fe7mr.mjs} +2 -2
  6. package/dist/{Subagent-C7F7c8Op.mjs.map → Subagent-D68fe7mr.mjs.map} +1 -1
  7. package/dist/{WorkerAdmission-CtX1HRkm.mjs → WorkerAdmission-DrxDrLII.mjs} +2 -2
  8. package/dist/{WorkerAdmission-CtX1HRkm.mjs.map → WorkerAdmission-DrxDrLII.mjs.map} +1 -1
  9. package/dist/{agent-registration-Dt57NAP6.mjs → agent-registration-BovXT8jc.mjs} +2 -2
  10. package/dist/{agent-registration-Dt57NAP6.mjs.map → agent-registration-BovXT8jc.mjs.map} +1 -1
  11. package/dist/capabilities/BrowserUse.d.mts +9 -3
  12. package/dist/capabilities/BrowserUse.mjs +14 -2
  13. package/dist/capabilities/BrowserUse.mjs.map +1 -1
  14. package/dist/capabilities/Subagent.mjs +1 -1
  15. package/dist/durable/AgentRegistration.mjs +1 -1
  16. package/dist/durable/DurableAgentRuntime.mjs +2 -2
  17. package/dist/durable/RecordFormat.mjs +1 -2
  18. package/dist/durable/RecordFormat.mjs.map +1 -1
  19. package/dist/durable/SqlMemoryStore.d.mts +2 -15
  20. package/dist/durable/SqlMemoryStore.mjs +1 -1
  21. package/dist/durable/SqlMemoryStore.mjs.map +1 -1
  22. package/dist/durable/SqlStorageOwner.d.mts +20 -0
  23. package/dist/durable/SqlStorageOwner.mjs +7 -0
  24. package/dist/durable/SqlStorageOwner.mjs.map +1 -0
  25. package/dist/durable/SubscriptionInput.mjs +1 -1
  26. package/dist/durable/WorkerAdmission.mjs +1 -1
  27. package/dist/engine/AgentRuntime.mjs +1 -1
  28. package/dist/index.mjs +4 -4
  29. package/package.json +1 -1
  30. package/src/capabilities/BrowserUse.ts +26 -3
  31. package/src/durable/RecordFormat.ts +2 -2
  32. package/src/durable/SqlMemoryStore.ts +3 -21
  33. package/src/durable/SqlStorageOwner.ts +24 -0
  34. package/src/engine/internal/agent-runtime.ts +13 -2
  35. 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 (observer !== undefined && result.isFailure && rejection === undefined)
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,