@effect-agent/testing 0.1.0-beta.83 → 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/dist/Certification.d.mts +3 -3
- package/dist/Certification.mjs +8 -4
- package/dist/Certification.mjs.map +1 -1
- package/dist/Chaos.d.mts +1 -1
- package/dist/DocsResearcher.d.mts +11 -5
- package/dist/ScriptedModel.mjs +1 -1
- package/dist/ScriptedModel.mjs.map +1 -1
- package/dist/TravelPlanner.d.mts +27 -11
- package/dist/TravelPlanner.mjs +3 -3
- package/dist/TravelPlanner.mjs.map +1 -1
- package/package.json +1 -1
- package/src/Certification.ts +12 -3
- package/src/ScriptedModel.ts +3 -4
- package/src/fixtures/travel-planner/phase6.ts +3 -3
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@effect-agent/testing","version":"0.1.0-beta.
|
|
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"}}
|
package/src/Certification.ts
CHANGED
|
@@ -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,
|
|
165
|
-
* background-worker paths the shapes do not take. They are pinned in-process
|
|
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. */
|
package/src/ScriptedModel.ts
CHANGED
|
@@ -169,10 +169,9 @@ const takeTurn = Effect.fn("ScriptedModel.takeTurn")(
|
|
|
169
169
|
},
|
|
170
170
|
] as const;
|
|
171
171
|
}).pipe(
|
|
172
|
-
Effect.
|
|
173
|
-
turn
|
|
174
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
});
|