@effect-agent/testing 0.1.0-beta.84 → 0.1.0-beta.85

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/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@effect-agent/testing","version":"0.1.0-beta.84","dependencies":{"@effect-agent/capabilities":"0.1.0-beta.84","@effect-agent/core":"0.1.0-beta.84","@effect-agent/engine":"0.1.0-beta.84","@effect-agent/sandbox":"0.1.0-beta.84","@effect-agent/thread":"0.1.0-beta.84"},"devDependencies":{"@effect-agent/platform-node":"0.1.0-beta.84","@effect-agent/storage-memory":"0.1.0-beta.84","@effect-agent/storage-sqlite":"0.1.0-beta.84","@effect/platform-node":"4.0.0-rc.112","@effect/sql-sqlite-node":"4.0.0-rc.112","@effect/vitest":"4.0.0-rc.112","effect":"4.0.0-rc.112","typescript":"7.0.2","vite-plus":"0.3.0"},"peerDependencies":{"effect":"^4.0.0-rc.112"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"./Certification":{"types":"./dist/Certification.d.mts","default":"./dist/Certification.mjs"},"./Chaos":{"types":"./dist/Chaos.d.mts","default":"./dist/Chaos.mjs"},"./CodeExecutorConformance":{"types":"./dist/CodeExecutorConformance.d.mts","default":"./dist/CodeExecutorConformance.mjs"},"./CodeExecutorSubstitute":{"types":"./dist/CodeExecutorSubstitute.d.mts","default":"./dist/CodeExecutorSubstitute.mjs"},"./DocsResearcher":{"types":"./dist/DocsResearcher.d.mts","default":"./dist/DocsResearcher.mjs"},"./ScriptedModel":{"types":"./dist/ScriptedModel.d.mts","default":"./dist/ScriptedModel.mjs"},"./TravelPlanner":{"types":"./dist/TravelPlanner.d.mts","default":"./dist/TravelPlanner.mjs"}},"description":"Scripted models, deterministic fixtures, and adapter conformance kits for testing Effect Agent applications.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/danieljvdm/effect-agent.git","directory":"packages/testing"},"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/testing","version":"0.1.0-beta.85","dependencies":{"@effect-agent/capabilities":"0.1.0-beta.85","@effect-agent/core":"0.1.0-beta.85","@effect-agent/engine":"0.1.0-beta.85","@effect-agent/sandbox":"0.1.0-beta.85","@effect-agent/thread":"0.1.0-beta.85"},"devDependencies":{"@effect-agent/platform-node":"0.1.0-beta.85","@effect-agent/storage-memory":"0.1.0-beta.85","@effect-agent/storage-sqlite":"0.1.0-beta.85","@effect/platform-node":"4.0.0-rc.112","@effect/sql-sqlite-node":"4.0.0-rc.112","@effect/vitest":"4.0.0-rc.112","effect":"4.0.0-rc.112","typescript":"7.0.2","vite-plus":"0.3.0"},"peerDependencies":{"effect":"^4.0.0-rc.112"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"./Certification":{"types":"./dist/Certification.d.mts","default":"./dist/Certification.mjs"},"./Chaos":{"types":"./dist/Chaos.d.mts","default":"./dist/Chaos.mjs"},"./CodeExecutorConformance":{"types":"./dist/CodeExecutorConformance.d.mts","default":"./dist/CodeExecutorConformance.mjs"},"./CodeExecutorSubstitute":{"types":"./dist/CodeExecutorSubstitute.d.mts","default":"./dist/CodeExecutorSubstitute.mjs"},"./DocsResearcher":{"types":"./dist/DocsResearcher.d.mts","default":"./dist/DocsResearcher.mjs"},"./ScriptedModel":{"types":"./dist/ScriptedModel.d.mts","default":"./dist/ScriptedModel.mjs"},"./TravelPlanner":{"types":"./dist/TravelPlanner.d.mts","default":"./dist/TravelPlanner.mjs"}},"description":"Scripted models, deterministic fixtures, and adapter conformance kits for testing Effect Agent applications.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/danieljvdm/effect-agent.git","directory":"packages/testing"},"files":["dist","src"],"type":"module","sideEffects":[],"publishConfig":{"access":"public"},"scripts":{"build":"vp pack","check":"tsc --noEmit -p tsconfig.json","test":"vp test --passWithNoTests"}}
@@ -161,9 +161,9 @@ export const CERTIFICATION_SCENARIOS: ReadonlyArray<CertificationScenario> = [
161
161
 
162
162
  /**
163
163
  * Coordinator failpoint locations that none of the six scenario shapes can reach, recorded
164
- * honestly instead of silently claimed. These require operator, compaction, reservation, or
165
- * background-worker paths the shapes do not take. They are pinned in-process by the P5/S2 suites
166
- * (`packages/testing/test/durable-tools.test.ts` "resolveUnknown is idempotent across the
164
+ * honestly instead of silently claimed. These require operator, compaction, reservation,
165
+ * background-worker, or Agent-update paths the shapes do not take. They are pinned in-process
166
+ * by the P5/S2 suites (`packages/testing/test/durable-tools.test.ts` "resolveUnknown is idempotent across the
167
167
  * intent failpoint", `durable-runtime.test.ts` abort rows,
168
168
  * `durable-subagents.test.ts` abort propagation) and by the process-kill/eviction crash
169
169
  * matrices. Runner tests assert the observed never-fired set equals EXACTLY this list, so a
@@ -204,6 +204,15 @@ export const TIER2_UNREACHED_LOCATIONS: ReadonlyArray<DurableRuntimeFailpointLoc
204
204
  "worker:after-report-append",
205
205
  "worker:before-report-delivery",
206
206
  "worker:after-report-delivery",
207
+ // None of the six shapes emits Agent updates. All four boundaries are exercised separately
208
+ // by packages/thread/test/worker-host.test.ts ("repairs an accepted parent update after ...").
209
+ // Node restart/lost-ack coverage is in packages/platform-node/test/worker-updates.test.ts;
210
+ // Cloudflare eviction/alarm recovery is in packages/platform-cloudflare/test/background-workers.test.ts.
211
+ // These suites are not executed by this certification runner; its update rows remain not-triggered.
212
+ "update:before-canonical-append",
213
+ "update:after-canonical-append",
214
+ "update:before-delivery-insert",
215
+ "update:after-delivery-insert",
207
216
  ];
208
217
 
209
218
  /** Locations of `tier2` rows whose armed fault never fired in ANY scenario, sorted. */
@@ -169,10 +169,9 @@ const takeTurn = Effect.fn("ScriptedModel.takeTurn")(
169
169
  },
170
170
  ] as const;
171
171
  }).pipe(
172
- Effect.flatMap((turn) =>
173
- turn === undefined
174
- ? Effect.fail(scriptedError(kind, `Script exhausted before the ${kind} request`))
175
- : Effect.succeed(turn),
172
+ Effect.filterOrFail(
173
+ (turn) => turn !== undefined,
174
+ () => scriptedError(kind, `Script exhausted before the ${kind} request`),
176
175
  ),
177
176
  ),
178
177
  );
@@ -282,7 +282,7 @@ const gateMarkerFromPrompt = (promptJson: string): string =>
282
282
 
283
283
  /** A trip whose request text carries the gate marker the gated model waits on. */
284
284
  export const phase6GatedTrip = (marker: string): TripRequest =>
285
- Schema.decodeUnknownSync(TripRequest)({
285
+ Schema.decodeSync(TripRequest)({
286
286
  request: `Plan a review-only London trip, but wait for the concierge. [gate:${marker}]`,
287
287
  origin: "SFO",
288
288
  destination: "LHR",
@@ -365,7 +365,7 @@ export const phase6BookingRef = (marker: string): string =>
365
365
 
366
366
  /** A trip whose request text carries the per-lane booking case marker. */
367
367
  export const phase6BookingTrip = (marker: string): TripRequest =>
368
- Schema.decodeUnknownSync(TripRequest)({
368
+ Schema.decodeSync(TripRequest)({
369
369
  request: `Book the approved London flight for the traveler. [case:${marker}]`,
370
370
  origin: "SFO",
371
371
  destination: "LHR",
@@ -444,7 +444,7 @@ const countingGuideLayer = Layer.succeed(
444
444
  );
445
445
 
446
446
  /** The one-candidate research mission of the DC delegation slice. */
447
- export const phase6ResearchMission = Schema.decodeUnknownSync(ResearchMission)({
447
+ export const phase6ResearchMission = Schema.decodeSync(ResearchMission)({
448
448
  request: "Shortlist one September culture city for the DC delegation slice.",
449
449
  candidates: ["LHR"],
450
450
  });