@workglow/test-contract 0.6.1 → 0.6.2

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.
@@ -348,7 +348,7 @@ import { beforeAll, describe as describe4, expect as expect4 } from "vitest";
348
348
  var itExpectFail = (name, fn, timeout) => {
349
349
  const native = it.fails;
350
350
  if (typeof native === "function") {
351
- native(name, fn, timeout);
351
+ native(name, { retry: 0, timeout }, fn);
352
352
  return;
353
353
  }
354
354
  it(`${name} [expected-fail]`, async () => {
@@ -873,4 +873,4 @@ export {
873
873
  usageNormalizationBlock
874
874
  };
875
875
 
876
- //# debugId=A13FF2AAA5D2709B64756E2164756E21
876
+ //# debugId=628BF78505CD69B064756E2164756E21
@@ -9,7 +9,7 @@
9
9
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { getLogger } from \"@workglow/util\";\nimport { describe, expect } from \"vitest\";\n\nimport { it } from \"../../creditExhaustedSkip\";\n\nimport type { AiProviderConformanceOpts, ConformanceHandle } from \"../types\";\n\nexport function disposeBlock(\n opts: AiProviderConformanceOpts,\n getHandle: () => ConformanceHandle\n): void {\n describe(\"Dispose\", () => {\n it(\n \"release resources observable via inspect()\",\n async () => {\n const handle = getHandle();\n const before = handle.inspect();\n if (!before.sessionMap && (!before.disposables || before.disposables.length === 0)) {\n getLogger().warn(\n `[conformance] ${opts.name} exposes no inspect() handles; dispose assertion skipped`\n );\n return;\n }\n await handle.dispose();\n const after = handle.inspect();\n if (after.sessionMap) {\n expect(after.sessionMap.size).toBe(0);\n }\n if (after.disposables) {\n for (const d of after.disposables) {\n expect(d.alive).toBe(false);\n }\n }\n },\n opts.timeout\n );\n });\n}\n",
10
10
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Capability } from \"@workglow/ai\";\nimport { getAiProviderRegistry, getGlobalModelRepository } from \"@workglow/ai\";\nimport { describe, expect } from \"vitest\";\n\nimport { it } from \"../../creditExhaustedSkip\";\n\nimport type { AiProviderConformanceOpts } from \"../types\";\n\n/**\n * Capability-set conformance: every model in `opts.models` must be backed by\n * a registry entry whose `serves` superset covers the model's declared\n * `capabilities`. Each capability is also probed individually to confirm the\n * provider can dispatch the bare capability via `getRunFnFor`.\n */\nexport function registryCoverageBlock(opts: AiProviderConformanceOpts): void {\n describe(\"Registry coverage\", () => {\n it(\n \"resolves a run function for every capability advertised by the provider's models\",\n async () => {\n const candidateModelIds = [\n opts.models.textGeneration,\n opts.models.toolCalling,\n opts.models.structured,\n opts.models.embeddings,\n ].filter((id): id is string => typeof id === \"string\");\n expect(\n candidateModelIds.length,\n \"registryCoverageBlock requires at least one model id in opts.models\"\n ).toBeGreaterThan(0);\n\n const registry = getAiProviderRegistry();\n const repo = getGlobalModelRepository();\n\n const seenProviders = new Set<string>();\n const seenCapabilities = new Set<string>();\n\n for (const modelId of candidateModelIds) {\n const model = await repo.findByName(modelId);\n expect(model, `model \"${modelId}\" not found in repository`).toBeDefined();\n const providerKey = model!.provider;\n\n const provider = registry.getProvider(providerKey);\n expect(provider, `provider \"${providerKey}\" not registered`).toBeDefined();\n\n const capabilities = (model!.capabilities ?? []) as readonly Capability[];\n expect(\n capabilities.length,\n `model \"${modelId}\" advertises zero capabilities`\n ).toBeGreaterThan(0);\n seenProviders.add(providerKey);\n\n for (const capability of capabilities) {\n seenCapabilities.add(`${providerKey}::${capability}`);\n const runFn = registry.getRunFnFor(providerKey, [capability]);\n expect(\n runFn,\n `provider \"${providerKey}\" advertises capability \"${capability}\" via model \"${modelId}\" but the registry has no matching run function`\n ).toBeDefined();\n }\n }\n\n expect(seenProviders.size, \"no providers reached during coverage walk\").toBeGreaterThan(0);\n expect(\n seenCapabilities.size,\n \"no capabilities reached during coverage walk\"\n ).toBeGreaterThan(0);\n },\n opts.timeout\n );\n });\n}\n",
11
11
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Capability } from \"@workglow/ai\";\nimport { accumulatingEmit, getAiProviderRegistry, getGlobalModelRepository } from \"@workglow/ai\";\nimport type { TaskOutput } from \"@workglow/task-graph\";\nimport { getLogger } from \"@workglow/util\";\nimport { beforeAll, describe, expect } from \"vitest\";\n\nimport { it } from \"../../creditExhaustedSkip\";\nimport { itExpectFail } from \"../../itExpectFail\";\nimport type { AiProviderConformanceOpts, ConformanceFixture, ConformanceHandle } from \"../types\";\n\nconst TEXT_GENERATION: readonly Capability[] = [\"text.generation\"];\n\nexport function sessionReuseBlock(\n opts: AiProviderConformanceOpts,\n fixture: ConformanceFixture,\n getHandle: () => ConformanceHandle\n): void {\n const enabled = opts.capabilities.sessions && !!opts.models.textGeneration;\n const expectFails = new Set(opts.expectedFailures ?? []);\n const itImpl = expectFails.has(\"session.reuse\") ? itExpectFail : it;\n describe.skipIf(!enabled)(\"Session reuse\", () => {\n beforeAll(async () => {\n await getHandle().releaseTransients?.();\n });\n itImpl(\n \"two invocations with the same sessionId yield exactly one session-map entry\",\n async () => {\n const handle = getHandle();\n const map = handle.inspect().sessionMap;\n if (!map) {\n getLogger().warn(\n `[conformance] ${opts.name} declares sessions=true but inspect().sessionMap is undefined; skipping`\n );\n return;\n }\n const sizeBefore = map.size;\n\n const registry = getAiProviderRegistry();\n const model = await getGlobalModelRepository().findByName(opts.models.textGeneration!);\n expect(model).toBeDefined();\n const runFn = registry.getRunFnFor(model!.provider, TEXT_GENERATION);\n expect(\n runFn,\n `provider \"${model!.provider}\" has no run-fn for [\"text.generation\"]`\n ).toBeDefined();\n\n const sessionId = `conformance-${Date.now()}`;\n {\n const { emit } = accumulatingEmit<TaskOutput>();\n await runFn!(\n { prompt: fixture.textPrompt, maxTokens: fixture.maxTokens },\n model!,\n new AbortController().signal,\n emit,\n undefined,\n { sessionId }\n );\n }\n {\n const { emit } = accumulatingEmit<TaskOutput>();\n await runFn!(\n { prompt: fixture.textPrompt, maxTokens: fixture.maxTokens },\n model!,\n new AbortController().signal,\n emit,\n undefined,\n { sessionId }\n );\n }\n\n const newEntries = map.size - sizeBefore;\n expect(newEntries).toBe(1);\n },\n opts.timeout\n );\n });\n}\n",
12
- "/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { isCreditExhaustedError, it } from \"./creditExhaustedSkip\";\n\ntype ItFn = (name: string, fn: () => Promise<void> | void, timeout?: number) => void;\n\n/**\n * Cross-runner polyfill for `it.fails`. Vitest exposes it natively; bun's\n * native `bun test` runner does not. Under bun we wrap the body in a\n * try/catch and assert that it threw — so a passing-when-expected-fail\n * test still surfaces as a CI failure (signalling \"remove from\n * expectedFailures\").\n */\nexport const itExpectFail: ItFn = (name, fn, timeout) => {\n const native = (it as unknown as { fails?: ItFn }).fails;\n if (typeof native === \"function\") {\n native(name, fn, timeout);\n return;\n }\n it(\n `${name} [expected-fail]`,\n async () => {\n let passed = false;\n try {\n await fn();\n passed = true;\n } catch (err) {\n // Billing exhaustion is not the adapter bug this marker records.\n if (isCreditExhaustedError(err)) throw err;\n // expected; the test was supposed to fail\n }\n if (passed) {\n throw new Error(\n `Test \"${name}\" was marked as expected-fail but passed. Remove its name from opts.expectedFailures.`\n );\n }\n },\n timeout\n );\n};\n",
12
+ "/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { isCreditExhaustedError, it } from \"./creditExhaustedSkip\";\n\ntype ItFn = (name: string, fn: () => Promise<void> | void, timeout?: number) => void;\n\n/**\n * Cross-runner polyfill for `it.fails`. Vitest exposes it natively; bun's\n * native `bun test` runner does not. Under bun we wrap the body in a\n * try/catch and assert that it threw — so a passing-when-expected-fail\n * test still surfaces as a CI failure (signalling \"remove from\n * expectedFailures\").\n */\nexport const itExpectFail: ItFn = (name, fn, timeout) => {\n const native = (\n it as unknown as {\n fails?: (\n name: string,\n options: { readonly retry?: number; readonly timeout?: number },\n fn: () => Promise<void> | void\n ) => void;\n }\n ).fails;\n if (typeof native === \"function\") {\n // `retry: 0` because retrying a test that is SUPPOSED to fail is\n // meaningless, and vitest counts the intended failure as a retry — which\n // puts every expected-fail test in the run summary's \"Flaky Tests\" section\n // under \"passed only after one or more retries\". A real flake then hides\n // among permanent false entries, which is worse than no report at all.\n // Options go SECOND: `test(name, fn, {...})` was removed in Vitest 4.\n native(name, { retry: 0, timeout }, fn);\n return;\n }\n it(\n `${name} [expected-fail]`,\n async () => {\n let passed = false;\n try {\n await fn();\n passed = true;\n } catch (err) {\n // Billing exhaustion is not the adapter bug this marker records.\n if (isCreditExhaustedError(err)) throw err;\n // expected; the test was supposed to fail\n }\n if (passed) {\n throw new Error(\n `Test \"${name}\" was marked as expected-fail but passed. Remove its name from opts.expectedFailures.`\n );\n }\n },\n timeout\n );\n};\n",
13
13
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Capability } from \"@workglow/ai\";\nimport { accumulatingEmit, getAiProviderRegistry, getGlobalModelRepository } from \"@workglow/ai\";\nimport type { StreamEvent, TaskOutput } from \"@workglow/task-graph\";\nimport { describe, expect } from \"vitest\";\n\nimport { it } from \"../../creditExhaustedSkip\";\nimport { itExpectFail } from \"../../itExpectFail\";\nimport type { AiProviderConformanceOpts, ConformanceFixture } from \"../types\";\n\nconst TEXT_GENERATION: readonly Capability[] = [\"text.generation\"];\n\nfunction isAbortError(err: unknown): boolean {\n if (!err || typeof err !== \"object\") return false;\n const e = err as { name?: string; message?: string };\n return e.name === \"AbortError\" || /abort/i.test(e.message ?? \"\");\n}\n\nexport function signalHonoringBlock(\n opts: AiProviderConformanceOpts,\n fixture: ConformanceFixture\n): void {\n const expectFails = new Set(opts.expectedFailures ?? []);\n const itNonStreaming = expectFails.has(\"signal.nonStreaming\") ? itExpectFail : it;\n const skipMid = !opts.capabilities.abortMidStream;\n const itMidStream = expectFails.has(\"signal.midStream\") ? itExpectFail : it;\n\n describe.skipIf(!opts.models.textGeneration)(\"Signal honoring\", () => {\n itNonStreaming(\n \"run-fn rejects with AbortError when aborted before invocation\",\n async () => {\n const registry = getAiProviderRegistry();\n const repo = getGlobalModelRepository();\n const model = await repo.findByName(opts.models.textGeneration!);\n expect(model).toBeDefined();\n const runFn = registry.getRunFnFor(model!.provider, TEXT_GENERATION);\n expect(\n runFn,\n `provider \"${model!.provider}\" has no run-fn for [\"text.generation\"]`\n ).toBeDefined();\n const ac = new AbortController();\n ac.abort();\n\n let caught: unknown;\n try {\n const { emit } = accumulatingEmit<TaskOutput>();\n await runFn!(\n { prompt: fixture.textPrompt, maxTokens: fixture.maxTokens },\n model!,\n ac.signal,\n emit,\n undefined,\n undefined\n );\n } catch (err) {\n caught = err;\n }\n expect(caught).toBeDefined();\n expect(isAbortError(caught)).toBe(true);\n },\n opts.timeout\n );\n\n if (!skipMid) {\n itMidStream(\n \"streaming run-fn terminates within abortGraceMs * 4 when aborted mid-stream\",\n async () => {\n const registry = getAiProviderRegistry();\n const repo = getGlobalModelRepository();\n const model = await repo.findByName(opts.models.textGeneration!);\n expect(model).toBeDefined();\n const streamFn = registry.getRunFnFor(model!.provider, TEXT_GENERATION);\n if (!streamFn) return; // capability mismatch — covered by capabilityHonesty\n const ac = new AbortController();\n const start = Date.now();\n setTimeout(() => ac.abort(), fixture.abortGraceMs);\n\n try {\n const emit = (_e: StreamEvent<TaskOutput>): void => {};\n await streamFn(\n { prompt: fixture.textPrompt, maxTokens: fixture.maxTokens },\n model!,\n ac.signal,\n emit,\n undefined,\n undefined\n );\n } catch (err) {\n if (!isAbortError(err)) throw err;\n }\n const elapsed = Date.now() - start;\n expect(elapsed).toBeLessThan(fixture.abortGraceMs * 4 + 2000);\n },\n opts.timeout\n );\n }\n });\n}\n",
14
14
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { structuredGeneration } from \"@workglow/ai\";\nimport { describe, expect } from \"vitest\";\n\nimport { it } from \"../../creditExhaustedSkip\";\n\nimport type { AiProviderConformanceOpts, ConformanceFixture } from \"../types\";\n\nexport function structuredGenerationBlock(\n opts: AiProviderConformanceOpts,\n fixture: ConformanceFixture\n): void {\n const enabled = opts.capabilities.structured && !!opts.models.structured;\n describe.skipIf(!enabled)(\"Structured generation\", () => {\n it(\n \"produces an object that contains the schema's required fields\",\n async () => {\n const result = await structuredGeneration({\n model: opts.models.structured!,\n prompt: fixture.structuredPrompt,\n outputSchema: fixture.structuredSchema as { [x: string]: unknown },\n maxTokens: fixture.maxTokens,\n });\n expect(result).toBeDefined();\n expect(result.object).toBeDefined();\n expect(typeof result.object).toBe(\"object\");\n expect(result.object).toHaveProperty(\"name\");\n expect(result.object).toHaveProperty(\"age\");\n },\n opts.timeout\n );\n });\n}\n",
15
15
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Capability } from \"@workglow/ai\";\nimport { getAiProviderRegistry, getGlobalModelRepository, textGeneration } from \"@workglow/ai\";\nimport type { StreamEvent, TaskOutput } from \"@workglow/task-graph\";\nimport { describe, expect } from \"vitest\";\n\nimport { it } from \"../../creditExhaustedSkip\";\n\nimport type { AiProviderConformanceOpts, ConformanceFixture } from \"../types\";\n\nconst TEXT_GENERATION: readonly Capability[] = [\"text.generation\"];\n\nexport function textGenerationSmokeBlock(\n opts: AiProviderConformanceOpts,\n fixture: ConformanceFixture\n): void {\n describe.skipIf(!opts.models.textGeneration)(\"TextGeneration smoke\", () => {\n it(\n \"task-level textGeneration() returns non-empty text\",\n async () => {\n const result = await textGeneration({\n model: opts.models.textGeneration!,\n prompt: fixture.textPrompt,\n maxTokens: fixture.maxTokens,\n });\n expect(result).toBeDefined();\n expect(typeof result.text).toBe(\"string\");\n expect(result.text.length).toBeGreaterThan(0);\n },\n opts.timeout\n );\n\n it.skipIf(!opts.capabilities.streaming)(\n \"streaming yields ≥1 text-delta and exactly one finish, with no event after finish\",\n async () => {\n const registry = getAiProviderRegistry();\n const model = await getGlobalModelRepository().findByName(opts.models.textGeneration!);\n expect(model).toBeDefined();\n const streamFn = registry.getRunFnFor(model!.provider, TEXT_GENERATION);\n expect(streamFn).toBeDefined();\n\n let textDeltaCount = 0;\n let finishCount = 0;\n let sawEventAfterFinish = false;\n const emit = (ev: StreamEvent<TaskOutput>): void => {\n if (finishCount > 0) {\n sawEventAfterFinish = true;\n }\n const e = ev as { type: string };\n if (e.type === \"text-delta\") textDeltaCount += 1;\n if (e.type === \"finish\") finishCount += 1;\n };\n await streamFn!(\n { prompt: fixture.textPrompt, maxTokens: fixture.maxTokens },\n model!,\n new AbortController().signal,\n emit,\n undefined,\n undefined\n );\n\n expect(textDeltaCount).toBeGreaterThanOrEqual(1);\n expect(finishCount).toBe(1);\n expect(sawEventAfterFinish).toBe(false);\n },\n opts.timeout\n );\n });\n}\n",
@@ -20,7 +20,7 @@
20
20
  "/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { ModelPricing } from \"@workglow/ai\";\nimport { expect } from \"vitest\";\n\n/** One fixture model, its inferred capabilities, and the card its provider returns. */\nexport interface PricedModel {\n readonly id: string;\n readonly capabilities: readonly string[];\n readonly pricing: ModelPricing | undefined;\n}\n\n/**\n * Capabilities billed by something other than a token.\n *\n * An image is billed per image, speech per character or per second. A card\n * carrying `input`/`output` per-1M-token rates for one of these is not an\n * approximation of the real price — it is a different unit, and arithmetic on\n * it produces a number with no meaning that renders beside real costs.\n */\nconst NOT_TOKEN_BILLED: ReadonlySet<string> = new Set([\n \"image.generation\",\n \"audio.speech\",\n \"audio.transcription\",\n]);\n\n/** Whether a card quotes a per-token rate at all. */\nfunction quotesTokenRate(pricing: ModelPricing | undefined): boolean {\n if (pricing === undefined) return false;\n return (\n typeof pricing.input === \"number\" ||\n typeof pricing.output === \"number\" ||\n typeof pricing.cached === \"number\"\n );\n}\n\n/**\n * A provider must not quote a per-token rate for a model its own inference says\n * is not billed per token.\n *\n * This is the direction that catches a real fabricated number, and it is a hard\n * assertion because there is no legitimate case for it: `grok-2-image-1212`\n * resolved `grok-2`'s per-1M-token card through the pricing table's substring\n * walk, and `gemini-2.5-flash-image-preview` took `gemini-2.5-flash`'s the same\n * way. Both are image models by the provider's own catalogue.\n *\n * A free card is exempt: `input: 0` on a local model says \"this costs nothing\",\n * which is true whatever the billing unit, and is how every local provider\n * answers.\n */\nexport function assertPricingMatchesModality(\n name: string,\n models: readonly PricedModel[],\n namedByTable: readonly string[] = []\n): void {\n const named = new Set(namedByTable);\n const fabricated: string[] = [];\n for (const { id, capabilities, pricing } of models) {\n if (!capabilities.some((capability) => NOT_TOKEN_BILLED.has(capability))) continue;\n if (!quotesTokenRate(pricing)) continue;\n // A card the provider's table names outright is a deliberate rate, not a\n // borrowed one. Recorded per provider rather than inferred, so adding an\n // image model to a table is a decision someone writes down.\n if (named.has(id)) continue;\n const free = (pricing?.input ?? 0) === 0 && (pricing?.output ?? 0) === 0;\n if (free) continue;\n const billed = capabilities.filter((capability) => NOT_TOKEN_BILLED.has(capability));\n fabricated.push(\n `${id}: ${billed.join(\", \")} but priced ` +\n `input=${String(pricing?.input)} output=${String(pricing?.output)} per 1M tokens`\n );\n }\n\n expect(fabricated, `${name} borrows a per-token rate for a model not billed per token`).toEqual(\n []\n );\n\n // The recorded set must stay honest too: an id that stopped being priced, or\n // stopped being an image model, should leave it rather than sit there\n // exempting nothing.\n const stale = namedByTable.filter(\n (id) =>\n !models.some(\n ({ id: modelId, capabilities, pricing }) =>\n modelId === id &&\n capabilities.some((capability) => NOT_TOKEN_BILLED.has(capability)) &&\n quotesTokenRate(pricing)\n )\n );\n expect(\n stale,\n `${name}: recorded as deliberately priced but no longer is: ${stale.join(\", \")}`\n ).toEqual([]);\n}\n\n/**\n * The weaker direction: a token-billed model SHOULD carry a card.\n *\n * A ratchet rather than an assertion, deliberately. Real gaps exist today —\n * `gemini-embedding-001` among them — and a hard assert would redden the build\n * on a known one and get disabled, which costs more than the gap. Recording the\n * set means it cannot grow while it shrinks deliberately.\n */\nexport function assertPricedGapDoesNotGrow(\n name: string,\n models: readonly PricedModel[],\n knownUnpriced: readonly string[]\n): void {\n const unpriced = models\n .filter(\n ({ capabilities, pricing }) =>\n capabilities.length > 0 &&\n !capabilities.some((capability) => NOT_TOKEN_BILLED.has(capability)) &&\n pricing === undefined\n )\n .map(({ id }) => id)\n .sort();\n\n const known = new Set(knownUnpriced);\n expect(\n unpriced.filter((id) => !known.has(id)),\n `${name} has a token-billed model with no rate card that was not recorded`\n ).toEqual([]);\n\n // Not a failure — a prompt to shrink the recorded set once a gap is closed.\n const closed = knownUnpriced.filter((id) => !unpriced.includes(id));\n expect(closed, `${name}: now priced — drop from the recorded set: ${closed.join(\", \")}`).toEqual(\n []\n );\n}\n",
21
21
  "/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Usage } from \"@workglow/ai\";\nimport { describe, expect } from \"vitest\";\n\nimport { it } from \"../../creditExhaustedSkip\";\n\n/**\n * Shared contract for every provider's usage normalization.\n *\n * Each provider reads token counts off a different terminal frame, but they all\n * have to land in {@link Usage} under one rule: **`undefined` means the provider\n * did not report this figure, and never means zero.** Collapsing \"not reported\"\n * to `0` silently understates spend — a model that billed no cached tokens and\n * a model that says nothing about caching are different facts.\n *\n * A provider registers its mapper here rather than re-litigating the rule in its\n * own suite, so a new provider inherits the same guarantees.\n */\n\n/** The full set of normalized counters, used to check untouched slots. */\nconst USAGE_COUNTER_FIELDS = [\n \"input\",\n \"output\",\n \"cached\",\n \"cacheWrite\",\n \"reasoning\",\n \"total\",\n] as const;\n\ntype UsageCounterField = (typeof USAGE_COUNTER_FIELDS)[number];\n\nexport interface UsageNormalizationCase {\n /** What this frame represents, e.g. \"a cache-hit completion\". */\n readonly name: string;\n /** The provider-shaped payload handed to the mapper. */\n readonly frame: unknown;\n /** The exact expected result — compared with `toEqual`, so extra keys fail. */\n readonly expected: Usage | undefined;\n}\n\nexport interface UsageNormalizationOpts {\n /** Provider name, used in test titles. */\n readonly provider: string;\n /** The provider's own mapper from a raw frame to {@link Usage}. */\n readonly mapUsage: (raw: unknown) => Usage | undefined;\n /** Provider-specific frames and their expected mappings. */\n readonly cases: readonly UsageNormalizationCase[];\n /**\n * A minimal real frame reporting only `sparseReports`. Every counter outside\n * that set must come back `undefined` — this is the zero-vs-absent guard.\n */\n readonly sparseFrame: unknown;\n /** Counters the sparse frame actually reports. */\n readonly sparseReports: readonly UsageCounterField[];\n /**\n * A frame in which the provider genuinely reports `0` for `sparseReports`.\n * Proves the mapper does not discard a real zero along with the absent ones.\n */\n readonly zeroFrame: unknown;\n}\n\n/** Assert a mapped {@link Usage} carries only numbers and `undefined`. */\nexport function assertUsageShape(usage: Usage): void {\n for (const field of USAGE_COUNTER_FIELDS) {\n const value = usage[field];\n if (value === undefined) continue;\n expect(typeof value, `${field} must be a number when reported`).toBe(\"number\");\n expect(Number.isFinite(value as number), `${field} must be finite`).toBe(true);\n }\n if (usage.extra !== undefined) {\n for (const [key, value] of Object.entries(usage.extra)) {\n expect([\"number\", \"string\"], `extra.${key} must be a number or string`).toContain(\n typeof value\n );\n }\n }\n}\n\n/**\n * Assert the field relationships every provider's mapper must produce.\n *\n * The sum check only runs when the provider states a `total` — it is the\n * provider's own arithmetic, so it is the one place the normalization can be\n * checked against an external authority rather than against itself.\n */\nexport function assertUsageDisjointness(usage: Usage): void {\n if (usage.reasoning !== undefined && usage.output !== undefined) {\n expect(\n usage.reasoning <= usage.output,\n `reasoning (${usage.reasoning}) is a subset of output (${usage.output})`\n ).toBe(true);\n }\n if (usage.total === undefined) return;\n const parts = [usage.input, usage.cached, usage.cacheWrite, usage.output];\n if (parts.every((part) => part === undefined)) return;\n const sum = parts.reduce<number>((acc, part) => acc + (part ?? 0), 0);\n expect(sum, `input + cached + cacheWrite + output must equal the provider's stated total`).toBe(\n usage.total\n );\n}\n\nexport function usageNormalizationBlock(opts: UsageNormalizationOpts): void {\n describe(`${opts.provider} usage normalization contract`, () => {\n it(\"reports nothing when the provider sent no usage payload\", () => {\n for (const empty of [undefined, null, {}, \"usage\", 42]) {\n expect(opts.mapUsage(empty), `mapped ${JSON.stringify(empty) ?? \"undefined\"}`).toBe(\n undefined\n );\n }\n });\n\n it(\"leaves counters the provider did not report as undefined, never 0\", () => {\n const usage = opts.mapUsage(opts.sparseFrame);\n expect(usage, \"a frame with real counters must map to a Usage\").toBeDefined();\n const reported = new Set<UsageCounterField>(opts.sparseReports);\n for (const field of USAGE_COUNTER_FIELDS) {\n if (reported.has(field)) {\n expect(usage![field], `${field} was reported and must survive`).toBeTypeOf(\"number\");\n } else {\n // The whole point: an unreported counter is absent, not zero.\n expect(usage![field], `${field} was not reported and must be undefined`).toBe(undefined);\n }\n }\n });\n\n it(\"preserves a genuinely reported zero rather than dropping it\", () => {\n const usage = opts.mapUsage(opts.zeroFrame);\n expect(usage, \"a frame reporting 0 still reported something\").toBeDefined();\n for (const field of opts.sparseReports) {\n expect(usage![field], `${field} reported 0 and must stay 0`).toBe(0);\n }\n });\n\n it(\"maps only numbers and undefined into the normalized shape\", () => {\n for (const testCase of opts.cases) {\n const usage = opts.mapUsage(testCase.frame);\n if (usage) assertUsageShape(usage);\n }\n const sparse = opts.mapUsage(opts.sparseFrame);\n if (sparse) assertUsageShape(sparse);\n });\n\n it(\"keeps input/cached/cacheWrite disjoint and reasoning inside output\", () => {\n for (const testCase of opts.cases) {\n const usage = opts.mapUsage(testCase.frame);\n if (usage) assertUsageDisjointness(usage);\n }\n const sparse = opts.mapUsage(opts.sparseFrame);\n if (sparse) assertUsageDisjointness(sparse);\n });\n\n for (const testCase of opts.cases) {\n it(`maps ${testCase.name}`, () => {\n expect(opts.mapUsage(testCase.frame)).toEqual(testCase.expected);\n });\n }\n });\n}\n"
22
22
  ],
23
- "mappings": "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",
24
- "debugId": "A13FF2AAA5D2709B64756E2164756E21",
23
+ "mappings": "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",
24
+ "debugId": "628BF78505CD69B064756E2164756E21",
25
25
  "names": []
26
26
  }
@@ -254,7 +254,7 @@ import { it } from "vitest";
254
254
  var itExpectFail = (name, fn, timeout) => {
255
255
  const native = it.fails;
256
256
  if (typeof native === "function") {
257
- native(name, fn, timeout);
257
+ native(name, { retry: 0, timeout }, fn);
258
258
  return;
259
259
  }
260
260
  it(`${name} [expected-fail]`, async () => {
@@ -564,4 +564,4 @@ export {
564
564
  tabsLifecycleBlock
565
565
  };
566
566
 
567
- //# debugId=CFA08057753935AD64756E2164756E21
567
+ //# debugId=ABB1C317132C8C4964756E2164756E21
@@ -6,12 +6,12 @@
6
6
  "/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { BrowserContextFixture } from \"./types\";\n\n// Empty-name buttons are excluded — clickByRole(role, name) requires a\n// non-empty accessible name on every adapter, and adapters treat an empty\n// accessible name as absent. Use \"a\" (single char) as the lower-bound stress.\nconst ARIA_EDGE_CASE_NAMES: ReadonlyArray<string> = [\n \"Sign in\", // baseline ASCII\n \"foo:bar\", // colon mid-name\n \"11:30\", // ends in colon-digits (lastIndexOf parser)\n \"a\", // single character\n \"héllo→\", // unicode + arrow\n \"x\".repeat(200), // long\n];\n\nconst NETWORK_MARKER = \"fixture-network-marker\";\nconst CONSOLE_MARKER = \"fixture-console-marker\";\n\nfunction escapeForHtmlAttr(text: string): string {\n return text\n .replace(/&/g, \"&amp;\")\n .replace(/\"/g, \"&quot;\")\n .replace(/</g, \"&lt;\")\n .replace(/>/g, \"&gt;\");\n}\n\nfunction buildPageHtml(): string {\n const buttons = ARIA_EDGE_CASE_NAMES.map(\n (name, idx) =>\n `<button type=\"button\" aria-label=\"${escapeForHtmlAttr(name)}\" ` +\n `onclick=\"document.getElementById('sentinel').setAttribute('data-clicked', '${idx}')\">` +\n escapeForHtmlAttr(name) +\n `</button>`\n ).join(\"\");\n const head = '<head><meta charset=\"utf-8\"><title>IBrowserContext Conformance</title></head>';\n const body =\n `<body>` +\n `<div id=\"sentinel\" data-clicked=\"\"></div>` +\n buttons +\n `<script>` +\n `console.log(${JSON.stringify(CONSOLE_MARKER)});` +\n // Use a benign network target — data: URL keeps the page self-contained.\n `fetch(\"data:text/plain,${NETWORK_MARKER}\").catch(function(){});` +\n `</script>` +\n `</body>`;\n return `<!DOCTYPE html><html>${head}${body}</html>`;\n}\n\nconst PAGE_URL = `data:text/html,${encodeURIComponent(buildPageHtml())}`;\n\nexport const DEFAULT_FIXTURE: BrowserContextFixture = {\n pageUrl: PAGE_URL,\n networkMarkerUrl: NETWORK_MARKER,\n consoleMarker: CONSOLE_MARKER,\n ariaEdgeCaseNames: ARIA_EDGE_CASE_NAMES,\n};\n\nexport function resolveFixture(\n override: Partial<BrowserContextFixture> | undefined\n): BrowserContextFixture {\n if (!override) return DEFAULT_FIXTURE;\n return { ...DEFAULT_FIXTURE, ...override };\n}\n",
7
7
  "/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { describe } from \"vitest\";\n\nimport { ariaRoundTripBlock } from \"./assertions/ariaRoundTrip\";\nimport { capabilityHonestyBlock } from \"./assertions/capabilityHonesty\";\nimport { networkIntrospectionBlock } from \"./assertions/networkIntrospection\";\nimport { tabsLifecycleBlock } from \"./assertions/tabsLifecycle\";\nimport { resolveFixture } from \"./fixtures\";\nimport type { IBrowserContextConformanceOpts } from \"./types\";\n\nexport function runIBrowserContextConformance(opts: IBrowserContextConformanceOpts): void {\n describe.skipIf(opts.skip)(`IBrowserContext conformance: ${opts.name}`, () => {\n const fixture = resolveFixture(opts.fixture);\n\n // Each block creates its own context via opts.factory() in beforeAll —\n // a fresh handle per block so block N's tab churn / navigation can't\n // taint block N+1. This is intentional even though it means real-browser\n // shims pay one launch cost per block.\n capabilityHonestyBlock(opts, fixture);\n tabsLifecycleBlock(opts, fixture);\n ariaRoundTripBlock(opts, fixture);\n networkIntrospectionBlock(opts, fixture);\n });\n}\n",
8
8
  "/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { afterAll, beforeAll, describe, expect, it } from \"vitest\";\n\nimport type { AccessibilityNode, IBrowserContext } from \"@workglow/browser-control/task\";\n\nimport type { BrowserContextFixture, IBrowserContextConformanceOpts } from \"../types\";\nimport { itExpectFail } from \"./itExpectFail\";\n\nfunction collectButtons(root: AccessibilityNode): AccessibilityNode[] {\n const out: AccessibilityNode[] = [];\n const stack: AccessibilityNode[] = [root];\n while (stack.length > 0) {\n const n = stack.pop()!;\n if (n.role === \"button\") out.push(n);\n if (n.children) stack.push(...n.children);\n }\n return out;\n}\n\nexport function ariaRoundTripBlock(\n opts: IBrowserContextConformanceOpts,\n fixture: BrowserContextFixture\n): void {\n if (!opts.capabilities.ariaSnapshot) return;\n\n describe(\"ARIA round-trip\", () => {\n const expectFail = (name: string) => opts.expectedFailures?.includes(name) ?? false;\n\n let ctx: IBrowserContext | undefined;\n let handle: Awaited<ReturnType<typeof opts.factory>> | undefined;\n\n beforeAll(async () => {\n handle = await opts.factory();\n ctx = await handle.create();\n // Navigate once; all assertions reuse this page.\n await ctx.navigate(fixture.pageUrl);\n await ctx.waitForIdle({ timeout: 5_000 });\n }, opts.timeout);\n\n afterAll(async () => {\n if (handle && ctx) await handle.dispose(ctx);\n });\n\n // -- Round-trip per edge-case name -------------------------------------\n\n for (let i = 0; i < fixture.ariaEdgeCaseNames.length; i++) {\n const name = fixture.ariaEdgeCaseNames[i];\n const isColonName = name.includes(\":\");\n const title = `clickByRole('button', ${JSON.stringify(name)}) lands on the right node`;\n const body = async () => {\n if (!ctx) throw new Error(\"context not created\");\n const tree = await ctx.snapshot();\n const buttons = collectButtons(tree.root);\n const target = buttons.find((b) => b.name === name);\n expect(\n target,\n `snapshot must include button with name ${JSON.stringify(name)}`\n ).toBeDefined();\n\n await ctx.clickByRole(\"button\", name);\n\n // Read `data-clicked` from the sentinel element.\n const sentinelRef = await ctx.querySelector(\"#sentinel\");\n expect(sentinelRef).not.toBeNull();\n const clicked = await ctx.attribute(sentinelRef!, \"data-clicked\");\n expect(clicked).toBe(String(i));\n };\n // Names containing a colon trigger the lastIndexOf parser bug in\n // PlaywrightBackend. Adapters with that bug list \"aria.colonInName\"\n // in expectedFailures; the helper wraps in `it.fails` for them.\n const useExpectFail = isColonName && expectFail(\"aria.colonInName\");\n if (useExpectFail) {\n itExpectFail(title, body, opts.timeout);\n } else {\n it(title, body, opts.timeout);\n }\n }\n\n // -- Ref reuse after a second snapshot ---------------------------------\n\n it(\n \"refs from snapshot N remain usable for textContent after snapshot N+1\",\n async () => {\n if (!ctx) throw new Error(\"context not created\");\n const t1 = await ctx.snapshot();\n const buttons1 = collectButtons(t1.root);\n expect(buttons1.length).toBeGreaterThan(0);\n const ref = buttons1[0].ref;\n // Take a fresh snapshot, then reach back to the older ref.\n await ctx.snapshot();\n const txt = await ctx.textContent(ref);\n expect(txt, \"ref from prior snapshot should still resolve\").not.toBeNull();\n },\n opts.timeout\n );\n });\n}\n",
9
- "/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { it } from \"vitest\";\n\ntype ItFn = (name: string, fn: () => Promise<void> | void, timeout?: number) => void;\n\nexport const itExpectFail: ItFn = (name, fn, timeout) => {\n const native = (it as unknown as { fails?: ItFn }).fails;\n if (typeof native === \"function\") {\n native(name, fn, timeout);\n return;\n }\n it(\n `${name} [expected-fail]`,\n async () => {\n let passed = false;\n try {\n await fn();\n passed = true;\n } catch {\n // expected; the test was supposed to fail\n }\n if (passed) {\n throw new Error(\n `Test \"${name}\" was marked as expected-fail but passed. Remove its name from opts.expectedFailures.`\n );\n }\n },\n timeout\n );\n};\n",
9
+ "/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { it } from \"vitest\";\n\ntype ItFn = (name: string, fn: () => Promise<void> | void, timeout?: number) => void;\n\nexport const itExpectFail: ItFn = (name, fn, timeout) => {\n const native = (\n it as unknown as {\n fails?: (\n name: string,\n options: { readonly retry?: number; readonly timeout?: number },\n fn: () => Promise<void> | void\n ) => void;\n }\n ).fails;\n if (typeof native === \"function\") {\n // `retry: 0`, and options SECOND (`test(name, fn, {...})` was removed in\n // Vitest 4). Retrying a test that is SUPPOSED to fail is meaningless, and\n // vitest counts the intended failure as a retry — which lands every\n // expected-fail test in the run summary's \"Flaky Tests\" section, where a\n // real flake then hides among permanent false entries.\n native(name, { retry: 0, timeout }, fn);\n return;\n }\n it(\n `${name} [expected-fail]`,\n async () => {\n let passed = false;\n try {\n await fn();\n passed = true;\n } catch {\n // expected; the test was supposed to fail\n }\n if (passed) {\n throw new Error(\n `Test \"${name}\" was marked as expected-fail but passed. Remove its name from opts.expectedFailures.`\n );\n }\n },\n timeout\n );\n};\n",
10
10
  "/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { afterAll, beforeAll, describe, expect, it } from \"vitest\";\n\nimport type { BrowserContextFixture, IBrowserContextConformanceOpts } from \"../types\";\nimport { itExpectFail } from \"./itExpectFail\";\n\nexport function capabilityHonestyBlock(\n opts: IBrowserContextConformanceOpts,\n fixture: BrowserContextFixture\n): void {\n describe(\"Capability honesty\", () => {\n const expectFail = (name: string) => opts.expectedFailures?.includes(name) ?? false;\n\n let ctx: import(\"@workglow/browser-control/task\").IBrowserContext | undefined;\n let handle: Awaited<ReturnType<typeof opts.factory>> | undefined;\n\n beforeAll(async () => {\n handle = await opts.factory();\n ctx = await handle.create();\n }, opts.timeout);\n\n afterAll(async () => {\n if (handle && ctx) await handle.dispose(ctx);\n });\n\n // -- Negative direction -------------------------------------------------\n\n const runNegative = (\n methodName: \"networkRequests\" | \"consoleMessages\",\n assertionName: string\n ) => {\n const body = async () => {\n if (!ctx) throw new Error(\"context not created\");\n // The contract says: when the capability is false, the method must\n // be strictly undefined — NOT a no-op stub returning [].\n expect(typeof (ctx as unknown as Record<string, unknown>)[methodName]).toBe(\"undefined\");\n };\n const title = `declares ${methodName}=false → ctx.${methodName} is undefined`;\n if (expectFail(assertionName)) {\n itExpectFail(title, body, opts.timeout);\n } else {\n it(title, body, opts.timeout);\n }\n };\n\n if (!opts.capabilities.networkRequests) {\n runNegative(\"networkRequests\", \"capability.networkRequests.undefinedWhenFalse\");\n }\n if (!opts.capabilities.consoleMessages) {\n runNegative(\"consoleMessages\", \"capability.consoleMessages.undefinedWhenFalse\");\n }\n\n // -- Positive direction -------------------------------------------------\n\n if (opts.capabilities.networkRequests) {\n it(\n \"declares networkRequests=true → fixture fetch is observable\",\n async () => {\n if (!ctx) throw new Error(\"context not created\");\n if (typeof ctx.networkRequests !== \"function\") {\n throw new Error(\n \"capability claims networkRequests=true but ctx.networkRequests is not a function\"\n );\n }\n await ctx.navigate(fixture.pageUrl);\n await ctx.waitForIdle({ timeout: 5_000 });\n const entries = await ctx.networkRequests();\n const found = entries.some((r) => r.url.includes(fixture.networkMarkerUrl));\n expect(found, `expected an entry containing ${fixture.networkMarkerUrl}`).toBe(true);\n },\n opts.timeout\n );\n }\n\n if (opts.capabilities.consoleMessages) {\n it(\n \"declares consoleMessages=true → fixture console.log is observable\",\n async () => {\n if (!ctx) throw new Error(\"context not created\");\n if (typeof ctx.consoleMessages !== \"function\") {\n throw new Error(\n \"capability claims consoleMessages=true but ctx.consoleMessages is not a function\"\n );\n }\n await ctx.navigate(fixture.pageUrl);\n await ctx.waitForIdle({ timeout: 5_000 });\n const entries = await ctx.consoleMessages();\n const found = entries.some((m) => m.text.includes(fixture.consoleMarker));\n expect(found, `expected a console message containing ${fixture.consoleMarker}`).toBe(\n true\n );\n },\n opts.timeout\n );\n }\n });\n}\n",
11
11
  "/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { afterAll, beforeAll, describe, expect, it } from \"vitest\";\n\nimport type { IBrowserContext } from \"@workglow/browser-control/task\";\n\nimport type { BrowserContextFixture, IBrowserContextConformanceOpts } from \"../types\";\n\nexport function networkIntrospectionBlock(\n opts: IBrowserContextConformanceOpts,\n fixture: BrowserContextFixture\n): void {\n if (!opts.capabilities.networkRequests && !opts.capabilities.consoleMessages) return;\n\n describe(\"Network/console introspection\", () => {\n let ctx: IBrowserContext | undefined;\n let handle: Awaited<ReturnType<typeof opts.factory>> | undefined;\n\n beforeAll(async () => {\n handle = await opts.factory();\n ctx = await handle.create();\n await ctx.navigate(fixture.pageUrl);\n await ctx.waitForIdle({ timeout: 5_000 });\n }, opts.timeout);\n\n afterAll(async () => {\n if (handle && ctx) await handle.dispose(ctx);\n });\n\n if (opts.capabilities.networkRequests) {\n it(\n \"networkRequests() captures the fixture's outbound fetch\",\n async () => {\n if (!ctx || typeof ctx.networkRequests !== \"function\") {\n throw new Error(\"networkRequests not available despite capability=true\");\n }\n const entries = await ctx.networkRequests();\n const found = entries.some((r) => r.url.includes(fixture.networkMarkerUrl));\n expect(found, `expected an entry containing ${fixture.networkMarkerUrl}`).toBe(true);\n },\n opts.timeout\n );\n\n it(\n \"networkRequests({ method }) filters by method\",\n async () => {\n if (!ctx || typeof ctx.networkRequests !== \"function\") {\n throw new Error(\"networkRequests not available despite capability=true\");\n }\n const all = await ctx.networkRequests();\n const gets = await ctx.networkRequests({ method: \"GET\" });\n // Filter must not return more entries than the unfiltered list.\n expect(gets.length).toBeLessThanOrEqual(all.length);\n },\n opts.timeout\n );\n }\n\n if (opts.capabilities.consoleMessages) {\n it(\n \"consoleMessages() captures the fixture's console.log\",\n async () => {\n if (!ctx || typeof ctx.consoleMessages !== \"function\") {\n throw new Error(\"consoleMessages not available despite capability=true\");\n }\n const entries = await ctx.consoleMessages();\n const found = entries.some((m) => m.text.includes(fixture.consoleMarker));\n expect(found, `expected a console message containing ${fixture.consoleMarker}`).toBe(\n true\n );\n },\n opts.timeout\n );\n }\n });\n}\n",
12
12
  "/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { afterAll, beforeAll, describe, expect, it } from \"vitest\";\n\nimport type { IBrowserContext } from \"@workglow/browser-control/task\";\n\nimport type { BrowserContextFixture, IBrowserContextConformanceOpts } from \"../types\";\nimport { itExpectFail } from \"./itExpectFail\";\n\nexport function tabsLifecycleBlock(\n opts: IBrowserContextConformanceOpts,\n fixture: BrowserContextFixture\n): void {\n describe(\"Tabs lifecycle\", () => {\n const expectFail = (name: string) => opts.expectedFailures?.includes(name) ?? false;\n\n let ctx: IBrowserContext | undefined;\n let handle: Awaited<ReturnType<typeof opts.factory>> | undefined;\n\n beforeAll(async () => {\n handle = await opts.factory();\n ctx = await handle.create();\n }, opts.timeout);\n\n afterAll(async () => {\n if (handle && ctx) await handle.dispose(ctx);\n });\n\n // -- Basic lifecycle ----------------------------------------------------\n\n it(\n \"tabs() returns at least one tab after connect\",\n async () => {\n if (!ctx) throw new Error(\"context not created\");\n const tabs = await ctx.tabs();\n expect(tabs.length).toBeGreaterThanOrEqual(1);\n },\n opts.timeout\n );\n\n if (opts.capabilities.multipleTabs) {\n it(\n \"newTab() increases tab count by 1\",\n async () => {\n if (!ctx) throw new Error(\"context not created\");\n const before = (await ctx.tabs()).length;\n await ctx.newTab(fixture.pageUrl);\n const after = (await ctx.tabs()).length;\n expect(after).toBe(before + 1);\n },\n opts.timeout\n );\n }\n\n // -- Concurrent close stability ----------------------------------------\n\n if (opts.capabilities.multipleTabs) {\n const title = \"tabId remains valid for surviving tabs across concurrent close()\";\n const body = async () => {\n if (!ctx) throw new Error(\"context not created\");\n // Set up four tabs with distinguishable urls.\n const urls = [\n \"data:text/html,<title>A</title>\",\n \"data:text/html,<title>B</title>\",\n \"data:text/html,<title>C</title>\",\n \"data:text/html,<title>D</title>\",\n ];\n // Reset to a known state by closing existing non-blank tabs.\n for (const t of await ctx.tabs()) {\n // best-effort cleanup; ignore failures\n try {\n await ctx.closeTab(t.tabId);\n } catch {\n /* noop */\n }\n }\n // Some backends require at least one tab; reconnect if needed.\n if ((await ctx.tabs()).length === 0) {\n await ctx.newTab(urls[0]);\n }\n // Ensure exactly four tabs in our known order.\n const baseTabs = await ctx.tabs();\n const opened: string[] = [];\n for (let i = 0; i < urls.length; i++) {\n if (i < baseTabs.length) {\n // navigate the existing one\n await ctx.switchTab(baseTabs[i].tabId);\n await ctx.navigate(urls[i]);\n opened.push(baseTabs[i].tabId);\n } else {\n const t = await ctx.newTab(urls[i]);\n opened.push(t.tabId);\n }\n }\n const [aId, bId, cId, dId] = opened;\n // Concurrent close.\n await Promise.all([ctx.closeTab(aId), ctx.closeTab(bId)]);\n // Surviving tabs C and D should still resolve to their original urls.\n await ctx.switchTab(cId);\n expect(await ctx.currentUrl()).toBe(urls[2]);\n await ctx.switchTab(dId);\n expect(await ctx.currentUrl()).toBe(urls[3]);\n };\n if (expectFail(\"tabs.concurrentCloseStable\")) {\n itExpectFail(title, body, opts.timeout);\n } else {\n it(title, body, opts.timeout);\n }\n } else {\n // Single-view backends: closeTab(only tabId) must either disconnect\n // OR leave a single tab — accept either result, just don't crash.\n it(\n \"single-view: closeTab on the sole tab disconnects or no-ops\",\n async () => {\n if (!ctx) throw new Error(\"context not created\");\n const [t] = await ctx.tabs();\n try {\n await ctx.closeTab(t.tabId);\n } catch {\n /* some single-view backends may throw — that is acceptable */\n }\n // Either disconnected or still has at most one tab.\n if (ctx.isConnected()) {\n const after = await ctx.tabs();\n expect(after.length).toBeLessThanOrEqual(1);\n }\n },\n opts.timeout\n );\n }\n });\n}\n"
13
13
  ],
14
- "mappings": "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",
15
- "debugId": "CFA08057753935AD64756E2164756E21",
14
+ "mappings": ";AA0CA,SAAS,gBAAgB,CAAC,KAKxB;AAAA,EACA,IAAI,OAAO;AAAA,EACX,IAAI,IAAI,WAAW,iBAAiB,GAAG;AAAA,IACrC,OAAO,mBAAmB,IAAI,MAAM,kBAAkB,MAAM,CAAC;AAAA,EAC/D;AAAA,EACA,MAAM,aAAa,0BAA0B,KAAK,IAAI;AAAA,EACtD,MAAM,UAA2C,CAAC;AAAA,EAClD,MAAM,WAAW;AAAA,EACjB,IAAI;AAAA,EACJ,IAAI,MAAM;AAAA,EACV,QAAQ,IAAI,SAAS,KAAK,IAAI,OAAO,MAAM;AAAA,IACzC,MAAM,UAAU,EAAE,GACf,QAAQ,WAAW,GAAG,EACtB,QAAQ,SAAS,GAAG,EACpB,QAAQ,SAAS,GAAG,EACpB,QAAQ,UAAU,GAAG;AAAA,IACxB,QAAQ,KAAK,EAAE,KAAK,MAAM,QAAQ,CAAC;AAAA,IACnC;AAAA,EACF;AAAA,EACA,MAAM,aAAa,oCAAoC,KAAK,IAAI;AAAA,EAChE,MAAM,eAAe,4BAA4B,KAAK,IAAI;AAAA,EAC1D,OAAO;AAAA,IACL,OAAO,aAAa,WAAW,KAAK;AAAA,IACpC,aAAa;AAAA,IACb,eAAe,aAAa;AAAA,IAC5B,eAAe,eAAe;AAAA,EAChC;AAAA;AAAA;AAGK,MAAM,uBAAkD;AAAA,EACrD,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,aAAa;AAAA,EACb,QAAqB,CAAC;AAAA,EACtB;AAAA,EAEA,SAAS,IAAI;AAAA,OAQf,QAAO,CAAC,UAAiD;AAAA,IAC7D,KAAK,YAAY;AAAA,IACjB,IAAI,KAAK,MAAM,WAAW,GAAG;AAAA,MAC3B,MAAM,OAAO,KAAK,SAAS,eAAe,EAAE;AAAA,MAC5C,KAAK,MAAM,KAAK,IAAI;AAAA,MACpB,KAAK,cAAc,KAAK;AAAA,IAC1B;AAAA;AAAA,OAEI,WAAU,GAAkB;AAAA,IAChC,KAAK,YAAY;AAAA,IACjB,KAAK,QAAQ,CAAC;AAAA,IACd,KAAK,cAAc;AAAA,IACnB,KAAK,OAAO,MAAM;AAAA;AAAA,EAEpB,WAAW,GAAY;AAAA,IACrB,OAAO,KAAK;AAAA;AAAA,EAGN,QAAQ,CAAC,KAAa,OAA0B;AAAA,IACtD,OAAO;AAAA,MACL,OAAO,YAAY,KAAK;AAAA,MACxB;AAAA,MACA;AAAA,MACA,aAAa,CAAC;AAAA,MACd,iBAAiB;AAAA,MACjB,SAAS,CAAC;AAAA,MACV,SAAS,CAAC;AAAA,IACZ;AAAA;AAAA,EAGM,MAAM,GAAc;AAAA,IAC1B,MAAM,IAAI,KAAK,MAAM,KAAK,CAAC,MAAM,EAAE,UAAU,KAAK,WAAW;AAAA,IAC7D,IAAI,CAAC;AAAA,MAAG,MAAM,IAAI,MAAM,uCAAuC;AAAA,IAC/D,OAAO;AAAA;AAAA,OAIH,SAAQ,CAAC,KAAa,UAA2C;AAAA,IACrE,MAAM,OAAO,KAAK,OAAO;AAAA,IACzB,KAAK,MAAM;AAAA,IACX,MAAM,SAAS,iBAAiB,GAAG;AAAA,IACnC,KAAK,QAAQ,OAAO;AAAA,IACpB,KAAK,cAAc,OAAO;AAAA,IAC1B,KAAK,kBAAkB;AAAA,IACvB,IAAI,OAAO,eAAe;AAAA,MACxB,KAAK,QAAQ,KAAK;AAAA,QAChB,KAAK,mBAAmB,OAAO;AAAA,QAC/B,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,SAAS,CAAC;AAAA,MACZ,CAAC;AAAA,IACH;AAAA,IACA,IAAI,OAAO,eAAe;AAAA,MACxB,KAAK,QAAQ,KAAK,EAAE,MAAM,OAAO,MAAM,OAAO,cAAc,CAAC;AAAA,IAC/D;AAAA;AAAA,OAEI,OAAM,CAAC,UAA2C;AAAA,OAClD,UAAS,CAAC,UAA2C;AAAA,OACrD,OAAM,CAAC,UAA2C;AAAA,OAClD,WAAU,GAAoB;AAAA,IAClC,OAAO,KAAK,OAAO,EAAE;AAAA;AAAA,OAEjB,MAAK,GAAoB;AAAA,IAC7B,OAAO,KAAK,OAAO,EAAE;AAAA;AAAA,OAIjB,SAAQ,CAAC,UAAwD;AAAA,IACrE,MAAM,OAAO,KAAK,OAAO;AAAA,IACzB,MAAM,WAAgC,KAAK,YAAY,IAAI,CAAC,MAAM;AAAA,MAChE,MAAM,MAAkB,IAAI,KAAK;AAAA,MACjC,KAAK,OAAO,IAAI,KAAK,EAAE,OAAO,KAAK,OAAO,MAAM,EAAE,MAAM,KAAK,EAAE,IAAI,CAAC;AAAA,MACpE,OAAO,EAAE,KAAK,MAAM,UAAU,MAAM,EAAE,KAAK;AAAA,KAC5C;AAAA,IACD,MAAM,UAAsB,IAAI,KAAK;AAAA,IACrC,OAAO;AAAA,MACL,MAAM,EAAE,KAAK,SAAS,MAAM,YAAY,MAAM,KAAK,OAAO,SAAS;AAAA,MACnE,MAAM,SAAS,IAAI,CAAC,MAAM,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK;AAAA,CAAI;AAAA,IACvE;AAAA;AAAA,OAII,MAAK,CAAC,KAAiB,UAAwC;AAAA,IACnE,MAAM,QAAQ,KAAK,OAAO,IAAI,GAAG;AAAA,IACjC,IAAI,CAAC;AAAA,MAAO,MAAM,IAAI,MAAM,wCAAwC,MAAM;AAAA,IAC1E,MAAM,OAAO,KAAK,MAAM,KAAK,CAAC,MAAM,EAAE,UAAU,MAAM,KAAK;AAAA,IAC3D,IAAI,CAAC;AAAA,MAAM,MAAM,IAAI,MAAM,6CAA6C,MAAM;AAAA,IAC9E,KAAK,kBAAkB,OAAO,MAAM,GAAG;AAAA;AAAA,OAEnC,KAAI,CAAC,MAAkB,QAAgB,UAAuC;AAAA,OAC9E,aAAY,CAChB,MACA,SACA,UACe;AAAA,OACX,MAAK,CAAC,MAAkB,UAAuC;AAAA,OAE/D,YAAW,CAAC,MAAgB,MAAc,UAAwC;AAAA,IACtF,IAAI,SAAS,UAAU;AAAA,MACrB,MAAM,IAAI,MAAM,6CAA6C,OAAO;AAAA,IACtE;AAAA,IACA,MAAM,OAAO,KAAK,OAAO;AAAA,IACzB,MAAM,MAAM,KAAK,YAAY,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI;AAAA,IACxD,IAAI,CAAC;AAAA,MAAK,MAAM,IAAI,MAAM,2CAA2C,KAAK,UAAU,IAAI,GAAG;AAAA,IAC3F,KAAK,kBAAkB,OAAO,IAAI,GAAG;AAAA;AAAA,OAEjC,YAAW,CAAC,QAAgB,QAAgB,UAAuC;AAAA,OAGnF,QAAO,GAAoB;AAAA,IAC/B,OAAO;AAAA;AAAA,OAEH,UAAS,CAAC,MAAmC;AAAA,IACjD,OAAO;AAAA;AAAA,OAEH,YAAW,CAAC,KAAyC;AAAA,IACzD,MAAM,QAAQ,KAAK,OAAO,IAAI,GAAG;AAAA,IACjC,OAAO,QAAQ,MAAM,OAAO;AAAA;AAAA,OAExB,UAAS,CAAC,KAAiB,MAAsC;AAAA,IAIrE,IAAI,SAAS,kBAAkB,IAAI,WAAW,WAAW,GAAG;AAAA,MAC1D,MAAM,QAAQ,IAAI,MAAM,YAAY,MAAM;AAAA,MAC1C,MAAM,OAAO,KAAK,MAAM,KAAK,CAAC,MAAM,EAAE,UAAU,KAAK;AAAA,MACrD,OAAO,OAAO,KAAK,kBAAkB;AAAA,IACvC;AAAA,IACA,OAAO;AAAA;AAAA,OAEH,cAAa,CAAC,UAA8C;AAAA,IAChE,IAAI,aAAa,aAAa;AAAA,MAG5B,MAAM,OAAO,KAAK,OAAO;AAAA,MACzB,OAAO,YAAY,KAAK;AAAA,IAC1B;AAAA,IACA,OAAO;AAAA;AAAA,OAEH,iBAAgB,CAAC,WAAmD;AAAA,IACxE,OAAO,CAAC;AAAA;AAAA,OAGJ,SAAW,CAAC,YAAgC;AAAA,IAGhD,IAAI,WAAW,SAAS,YAAY;AAAA,MAAG,OAAO;AAAA,IAC9C;AAAA;AAAA,OAGI,WAAU,CAAC,UAA+C;AAAA,IAC9D,OAAO,OAAO,MAAM,CAAC;AAAA;AAAA,OAEjB,SAAQ,CAAC,MAAc,UAAuC;AAAA,OAC9D,KAAI,CAAC,OAAe,UAAuC;AAAA,OAC3D,OAAM,CAAC,IAAY,IAAY,MAAkC;AAAA,OACjE,WAAU,CAAC,MAAkB,QAAmD;AAAA,OAChF,SAAQ,CACZ,SACA,UACyB;AAAA,IACzB,MAAM,QAAQ;AAAA,IACd,OAAO,EAAE,MAAM,IAAI,mBAAmB,GAAG;AAAA;AAAA,EAE3C,QAAQ,CAAC,UAA4E;AAAA,OAG/E,KAAI,GAAgC;AAAA,IACxC,OAAO,KAAK,MAAM,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,EAAE,KAAK,OAAO,EAAE,MAAM,EAAE;AAAA;AAAA,OAEzE,UAAS,CAAC,OAA8B;AAAA,IAC5C,IAAI,CAAC,KAAK,MAAM,KAAK,CAAC,MAAM,EAAE,UAAU,KAAK,GAAG;AAAA,MAC9C,MAAM,IAAI,MAAM,mCAAmC,QAAQ;AAAA,IAC7D;AAAA,IACA,KAAK,cAAc;AAAA;AAAA,OAEf,OAAM,CAAC,KAAgC;AAAA,IAC3C,MAAM,OAAO,KAAK,SAAS,OAAO,eAAe,EAAE;AAAA,IACnD,KAAK,MAAM,KAAK,IAAI;AAAA,IACpB,IAAI,KAAK;AAAA,MACP,MAAM,OAAO,KAAK;AAAA,MAClB,KAAK,cAAc,KAAK;AAAA,MACxB,MAAM,KAAK,SAAS,GAAG;AAAA,MACvB,KAAK,cAAc;AAAA,IACrB;AAAA,IACA,OAAO,EAAE,OAAO,KAAK,OAAO,KAAK,KAAK,KAAK,OAAO,KAAK,MAAM;AAAA;AAAA,OAEzD,SAAQ,CAAC,OAA8B;AAAA,IAC3C,MAAM,SAAS,KAAK,MAAM;AAAA,IAC1B,KAAK,QAAQ,KAAK,MAAM,OAAO,CAAC,MAAM,EAAE,UAAU,KAAK;AAAA,IACvD,IAAI,KAAK,MAAM,WAAW,QAAQ;AAAA,MAChC,MAAM,IAAI,MAAM,mCAAmC,QAAQ;AAAA,IAC7D;AAAA,IACA,IAAI,KAAK,gBAAgB,OAAO;AAAA,MAC9B,KAAK,cAAc,KAAK,MAAM,KAAK,MAAM,SAAS,IAAI;AAAA,IACxD;AAAA;AAAA,OAII,kBAAiB,CAAC,UAA2C;AAAA,OAC7D,gBAAe,CAAC,WAAmB,UAA6C;AAAA,IACpF,OAAO;AAAA;AAAA,OAEH,YAAW,CAAC,UAAuC;AAC3D;;AC5RA,IAAM,uBAA8C;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,IAAI,OAAO,GAAG;AAChB;AAEA,IAAM,iBAAiB;AACvB,IAAM,iBAAiB;AAEvB,SAAS,iBAAiB,CAAC,MAAsB;AAAA,EAC/C,OAAO,KACJ,QAAQ,MAAM,OAAO,EACrB,QAAQ,MAAM,QAAQ,EACtB,QAAQ,MAAM,MAAM,EACpB,QAAQ,MAAM,MAAM;AAAA;AAGzB,SAAS,aAAa,GAAW;AAAA,EAC/B,MAAM,UAAU,qBAAqB,IACnC,CAAC,MAAM,QACL,qCAAqC,kBAAkB,IAAI,QAC3D,8EAA8E,YAC9E,kBAAkB,IAAI,IACtB,WACJ,EAAE,KAAK,EAAE;AAAA,EACT,MAAM,OAAO;AAAA,EACb,MAAM,OACJ,WACA,8CACA,UACA,aACA,eAAe,KAAK,UAAU,cAAc,QAE5C,0BAA0B,0CAC1B,cACA;AAAA,EACF,OAAO,wBAAwB,OAAO;AAAA;AAGxC,IAAM,WAAW,kBAAkB,mBAAmB,cAAc,CAAC;AAE9D,IAAM,kBAAyC;AAAA,EACpD,SAAS;AAAA,EACT,kBAAkB;AAAA,EAClB,eAAe;AAAA,EACf,mBAAmB;AACrB;AAEO,SAAS,cAAc,CAC5B,UACuB;AAAA,EACvB,IAAI,CAAC;AAAA,IAAU,OAAO;AAAA,EACtB,OAAO,KAAK,oBAAoB,SAAS;AAAA;;AC5D3C,qBAAS;;;ACAT,sDAAgD;;;ACAhD;AAIO,IAAM,eAAqB,CAAC,MAAM,IAAI,YAAY;AAAA,EACvD,MAAM,SACJ,GAOA;AAAA,EACF,IAAI,OAAO,WAAW,YAAY;AAAA,IAMhC,OAAO,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,EAAE;AAAA,IACtC;AAAA,EACF;AAAA,EACA,GACE,GAAG,wBACH,YAAY;AAAA,IACV,IAAI,SAAS;AAAA,IACb,IAAI;AAAA,MACF,MAAM,GAAG;AAAA,MACT,SAAS;AAAA,MACT,MAAM;AAAA,IAGR,IAAI,QAAQ;AAAA,MACV,MAAM,IAAI,MACR,SAAS,2FACX;AAAA,IACF;AAAA,KAEF,OACF;AAAA;;;ADjCF,SAAS,cAAc,CAAC,MAA8C;AAAA,EACpE,MAAM,MAA2B,CAAC;AAAA,EAClC,MAAM,QAA6B,CAAC,IAAI;AAAA,EACxC,OAAO,MAAM,SAAS,GAAG;AAAA,IACvB,MAAM,IAAI,MAAM,IAAI;AAAA,IACpB,IAAI,EAAE,SAAS;AAAA,MAAU,IAAI,KAAK,CAAC;AAAA,IACnC,IAAI,EAAE;AAAA,MAAU,MAAM,KAAK,GAAG,EAAE,QAAQ;AAAA,EAC1C;AAAA,EACA,OAAO;AAAA;AAGF,SAAS,kBAAkB,CAChC,MACA,SACM;AAAA,EACN,IAAI,CAAC,KAAK,aAAa;AAAA,IAAc;AAAA,EAErC,SAAS,mBAAmB,MAAM;AAAA,IAChC,MAAM,aAAa,CAAC,SAAiB,KAAK,kBAAkB,SAAS,IAAI,KAAK;AAAA,IAE9E,IAAI;AAAA,IACJ,IAAI;AAAA,IAEJ,UAAU,YAAY;AAAA,MACpB,SAAS,MAAM,KAAK,QAAQ;AAAA,MAC5B,MAAM,MAAM,OAAO,OAAO;AAAA,MAE1B,MAAM,IAAI,SAAS,QAAQ,OAAO;AAAA,MAClC,MAAM,IAAI,YAAY,EAAE,SAAS,KAAM,CAAC;AAAA,OACvC,KAAK,OAAO;AAAA,IAEf,SAAS,YAAY;AAAA,MACnB,IAAI,UAAU;AAAA,QAAK,MAAM,OAAO,QAAQ,GAAG;AAAA,KAC5C;AAAA,IAID,SAAS,IAAI,EAAG,IAAI,QAAQ,kBAAkB,QAAQ,KAAK;AAAA,MACzD,MAAM,OAAO,QAAQ,kBAAkB;AAAA,MACvC,MAAM,cAAc,KAAK,SAAS,GAAG;AAAA,MACrC,MAAM,QAAQ,yBAAyB,KAAK,UAAU,IAAI;AAAA,MAC1D,MAAM,OAAO,YAAY;AAAA,QACvB,IAAI,CAAC;AAAA,UAAK,MAAM,IAAI,MAAM,qBAAqB;AAAA,QAC/C,MAAM,OAAO,MAAM,IAAI,SAAS;AAAA,QAChC,MAAM,UAAU,eAAe,KAAK,IAAI;AAAA,QACxC,MAAM,SAAS,QAAQ,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI;AAAA,QAClD,OACE,QACA,0CAA0C,KAAK,UAAU,IAAI,GAC/D,EAAE,YAAY;AAAA,QAEd,MAAM,IAAI,YAAY,UAAU,IAAI;AAAA,QAGpC,MAAM,cAAc,MAAM,IAAI,cAAc,WAAW;AAAA,QACvD,OAAO,WAAW,EAAE,IAAI,SAAS;AAAA,QACjC,MAAM,UAAU,MAAM,IAAI,UAAU,aAAc,cAAc;AAAA,QAChE,OAAO,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC;AAAA;AAAA,MAKhC,MAAM,gBAAgB,eAAe,WAAW,kBAAkB;AAAA,MAClE,IAAI,eAAe;AAAA,QACjB,aAAa,OAAO,MAAM,KAAK,OAAO;AAAA,MACxC,EAAO;AAAA,QACL,IAAG,OAAO,MAAM,KAAK,OAAO;AAAA;AAAA,IAEhC;AAAA,IAIA,IACE,yEACA,YAAY;AAAA,MACV,IAAI,CAAC;AAAA,QAAK,MAAM,IAAI,MAAM,qBAAqB;AAAA,MAC/C,MAAM,KAAK,MAAM,IAAI,SAAS;AAAA,MAC9B,MAAM,WAAW,eAAe,GAAG,IAAI;AAAA,MACvC,OAAO,SAAS,MAAM,EAAE,gBAAgB,CAAC;AAAA,MACzC,MAAM,MAAM,SAAS,GAAG;AAAA,MAExB,MAAM,IAAI,SAAS;AAAA,MACnB,MAAM,MAAM,MAAM,IAAI,YAAY,GAAG;AAAA,MACrC,OAAO,KAAK,8CAA8C,EAAE,IAAI,SAAS;AAAA,OAE3E,KAAK,OACP;AAAA,GACD;AAAA;;;AE9FH,qBAAS,wBAAU,wBAAW,qBAAU,eAAQ;AAKzC,SAAS,sBAAsB,CACpC,MACA,SACM;AAAA,EACN,UAAS,sBAAsB,MAAM;AAAA,IACnC,MAAM,aAAa,CAAC,SAAiB,KAAK,kBAAkB,SAAS,IAAI,KAAK;AAAA,IAE9E,IAAI;AAAA,IACJ,IAAI;AAAA,IAEJ,WAAU,YAAY;AAAA,MACpB,SAAS,MAAM,KAAK,QAAQ;AAAA,MAC5B,MAAM,MAAM,OAAO,OAAO;AAAA,OACzB,KAAK,OAAO;AAAA,IAEf,UAAS,YAAY;AAAA,MACnB,IAAI,UAAU;AAAA,QAAK,MAAM,OAAO,QAAQ,GAAG;AAAA,KAC5C;AAAA,IAID,MAAM,cAAc,CAClB,YACA,kBACG;AAAA,MACH,MAAM,OAAO,YAAY;AAAA,QACvB,IAAI,CAAC;AAAA,UAAK,MAAM,IAAI,MAAM,qBAAqB;AAAA,QAG/C,QAAO,OAAQ,IAA2C,WAAW,EAAE,KAAK,WAAW;AAAA;AAAA,MAEzF,MAAM,QAAQ,YAAY,0BAA0B;AAAA,MACpD,IAAI,WAAW,aAAa,GAAG;AAAA,QAC7B,aAAa,OAAO,MAAM,KAAK,OAAO;AAAA,MACxC,EAAO;AAAA,QACL,IAAG,OAAO,MAAM,KAAK,OAAO;AAAA;AAAA;AAAA,IAIhC,IAAI,CAAC,KAAK,aAAa,iBAAiB;AAAA,MACtC,YAAY,mBAAmB,+CAA+C;AAAA,IAChF;AAAA,IACA,IAAI,CAAC,KAAK,aAAa,iBAAiB;AAAA,MACtC,YAAY,mBAAmB,+CAA+C;AAAA,IAChF;AAAA,IAIA,IAAI,KAAK,aAAa,iBAAiB;AAAA,MACrC,IACE,+DACA,YAAY;AAAA,QACV,IAAI,CAAC;AAAA,UAAK,MAAM,IAAI,MAAM,qBAAqB;AAAA,QAC/C,IAAI,OAAO,IAAI,oBAAoB,YAAY;AAAA,UAC7C,MAAM,IAAI,MACR,kFACF;AAAA,QACF;AAAA,QACA,MAAM,IAAI,SAAS,QAAQ,OAAO;AAAA,QAClC,MAAM,IAAI,YAAY,EAAE,SAAS,KAAM,CAAC;AAAA,QACxC,MAAM,UAAU,MAAM,IAAI,gBAAgB;AAAA,QAC1C,MAAM,QAAQ,QAAQ,KAAK,CAAC,MAAM,EAAE,IAAI,SAAS,QAAQ,gBAAgB,CAAC;AAAA,QAC1E,QAAO,OAAO,gCAAgC,QAAQ,kBAAkB,EAAE,KAAK,IAAI;AAAA,SAErF,KAAK,OACP;AAAA,IACF;AAAA,IAEA,IAAI,KAAK,aAAa,iBAAiB;AAAA,MACrC,IACE,qEACA,YAAY;AAAA,QACV,IAAI,CAAC;AAAA,UAAK,MAAM,IAAI,MAAM,qBAAqB;AAAA,QAC/C,IAAI,OAAO,IAAI,oBAAoB,YAAY;AAAA,UAC7C,MAAM,IAAI,MACR,kFACF;AAAA,QACF;AAAA,QACA,MAAM,IAAI,SAAS,QAAQ,OAAO;AAAA,QAClC,MAAM,IAAI,YAAY,EAAE,SAAS,KAAM,CAAC;AAAA,QACxC,MAAM,UAAU,MAAM,IAAI,gBAAgB;AAAA,QAC1C,MAAM,QAAQ,QAAQ,KAAK,CAAC,MAAM,EAAE,KAAK,SAAS,QAAQ,aAAa,CAAC;AAAA,QACxE,QAAO,OAAO,yCAAyC,QAAQ,eAAe,EAAE,KAC9E,IACF;AAAA,SAEF,KAAK,OACP;AAAA,IACF;AAAA,GACD;AAAA;;;AC9FH,qBAAS,wBAAU,wBAAW,qBAAU,eAAQ;AAMzC,SAAS,yBAAyB,CACvC,MACA,SACM;AAAA,EACN,IAAI,CAAC,KAAK,aAAa,mBAAmB,CAAC,KAAK,aAAa;AAAA,IAAiB;AAAA,EAE9E,UAAS,iCAAiC,MAAM;AAAA,IAC9C,IAAI;AAAA,IACJ,IAAI;AAAA,IAEJ,WAAU,YAAY;AAAA,MACpB,SAAS,MAAM,KAAK,QAAQ;AAAA,MAC5B,MAAM,MAAM,OAAO,OAAO;AAAA,MAC1B,MAAM,IAAI,SAAS,QAAQ,OAAO;AAAA,MAClC,MAAM,IAAI,YAAY,EAAE,SAAS,KAAM,CAAC;AAAA,OACvC,KAAK,OAAO;AAAA,IAEf,UAAS,YAAY;AAAA,MACnB,IAAI,UAAU;AAAA,QAAK,MAAM,OAAO,QAAQ,GAAG;AAAA,KAC5C;AAAA,IAED,IAAI,KAAK,aAAa,iBAAiB;AAAA,MACrC,IACE,2DACA,YAAY;AAAA,QACV,IAAI,CAAC,OAAO,OAAO,IAAI,oBAAoB,YAAY;AAAA,UACrD,MAAM,IAAI,MAAM,uDAAuD;AAAA,QACzE;AAAA,QACA,MAAM,UAAU,MAAM,IAAI,gBAAgB;AAAA,QAC1C,MAAM,QAAQ,QAAQ,KAAK,CAAC,MAAM,EAAE,IAAI,SAAS,QAAQ,gBAAgB,CAAC;AAAA,QAC1E,QAAO,OAAO,gCAAgC,QAAQ,kBAAkB,EAAE,KAAK,IAAI;AAAA,SAErF,KAAK,OACP;AAAA,MAEA,IACE,iDACA,YAAY;AAAA,QACV,IAAI,CAAC,OAAO,OAAO,IAAI,oBAAoB,YAAY;AAAA,UACrD,MAAM,IAAI,MAAM,uDAAuD;AAAA,QACzE;AAAA,QACA,MAAM,MAAM,MAAM,IAAI,gBAAgB;AAAA,QACtC,MAAM,OAAO,MAAM,IAAI,gBAAgB,EAAE,QAAQ,MAAM,CAAC;AAAA,QAExD,QAAO,KAAK,MAAM,EAAE,oBAAoB,IAAI,MAAM;AAAA,SAEpD,KAAK,OACP;AAAA,IACF;AAAA,IAEA,IAAI,KAAK,aAAa,iBAAiB;AAAA,MACrC,IACE,wDACA,YAAY;AAAA,QACV,IAAI,CAAC,OAAO,OAAO,IAAI,oBAAoB,YAAY;AAAA,UACrD,MAAM,IAAI,MAAM,uDAAuD;AAAA,QACzE;AAAA,QACA,MAAM,UAAU,MAAM,IAAI,gBAAgB;AAAA,QAC1C,MAAM,QAAQ,QAAQ,KAAK,CAAC,MAAM,EAAE,KAAK,SAAS,QAAQ,aAAa,CAAC;AAAA,QACxE,QAAO,OAAO,yCAAyC,QAAQ,eAAe,EAAE,KAC9E,IACF;AAAA,SAEF,KAAK,OACP;AAAA,IACF;AAAA,GACD;AAAA;;;ACxEH,qBAAS,wBAAU,wBAAW,qBAAU,eAAQ;AAOzC,SAAS,kBAAkB,CAChC,MACA,SACM;AAAA,EACN,UAAS,kBAAkB,MAAM;AAAA,IAC/B,MAAM,aAAa,CAAC,SAAiB,KAAK,kBAAkB,SAAS,IAAI,KAAK;AAAA,IAE9E,IAAI;AAAA,IACJ,IAAI;AAAA,IAEJ,WAAU,YAAY;AAAA,MACpB,SAAS,MAAM,KAAK,QAAQ;AAAA,MAC5B,MAAM,MAAM,OAAO,OAAO;AAAA,OACzB,KAAK,OAAO;AAAA,IAEf,UAAS,YAAY;AAAA,MACnB,IAAI,UAAU;AAAA,QAAK,MAAM,OAAO,QAAQ,GAAG;AAAA,KAC5C;AAAA,IAID,IACE,iDACA,YAAY;AAAA,MACV,IAAI,CAAC;AAAA,QAAK,MAAM,IAAI,MAAM,qBAAqB;AAAA,MAC/C,MAAM,OAAO,MAAM,IAAI,KAAK;AAAA,MAC5B,QAAO,KAAK,MAAM,EAAE,uBAAuB,CAAC;AAAA,OAE9C,KAAK,OACP;AAAA,IAEA,IAAI,KAAK,aAAa,cAAc;AAAA,MAClC,IACE,qCACA,YAAY;AAAA,QACV,IAAI,CAAC;AAAA,UAAK,MAAM,IAAI,MAAM,qBAAqB;AAAA,QAC/C,MAAM,UAAU,MAAM,IAAI,KAAK,GAAG;AAAA,QAClC,MAAM,IAAI,OAAO,QAAQ,OAAO;AAAA,QAChC,MAAM,SAAS,MAAM,IAAI,KAAK,GAAG;AAAA,QACjC,QAAO,KAAK,EAAE,KAAK,SAAS,CAAC;AAAA,SAE/B,KAAK,OACP;AAAA,IACF;AAAA,IAIA,IAAI,KAAK,aAAa,cAAc;AAAA,MAClC,MAAM,QAAQ;AAAA,MACd,MAAM,OAAO,YAAY;AAAA,QACvB,IAAI,CAAC;AAAA,UAAK,MAAM,IAAI,MAAM,qBAAqB;AAAA,QAE/C,MAAM,OAAO;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QAEA,WAAW,KAAK,MAAM,IAAI,KAAK,GAAG;AAAA,UAEhC,IAAI;AAAA,YACF,MAAM,IAAI,SAAS,EAAE,KAAK;AAAA,YAC1B,MAAM;AAAA,QAGV;AAAA,QAEA,KAAK,MAAM,IAAI,KAAK,GAAG,WAAW,GAAG;AAAA,UACnC,MAAM,IAAI,OAAO,KAAK,EAAE;AAAA,QAC1B;AAAA,QAEA,MAAM,WAAW,MAAM,IAAI,KAAK;AAAA,QAChC,MAAM,SAAmB,CAAC;AAAA,QAC1B,SAAS,IAAI,EAAG,IAAI,KAAK,QAAQ,KAAK;AAAA,UACpC,IAAI,IAAI,SAAS,QAAQ;AAAA,YAEvB,MAAM,IAAI,UAAU,SAAS,GAAG,KAAK;AAAA,YACrC,MAAM,IAAI,SAAS,KAAK,EAAE;AAAA,YAC1B,OAAO,KAAK,SAAS,GAAG,KAAK;AAAA,UAC/B,EAAO;AAAA,YACL,MAAM,IAAI,MAAM,IAAI,OAAO,KAAK,EAAE;AAAA,YAClC,OAAO,KAAK,EAAE,KAAK;AAAA;AAAA,QAEvB;AAAA,QACA,OAAO,KAAK,KAAK,KAAK,OAAO;AAAA,QAE7B,MAAM,QAAQ,IAAI,CAAC,IAAI,SAAS,GAAG,GAAG,IAAI,SAAS,GAAG,CAAC,CAAC;AAAA,QAExD,MAAM,IAAI,UAAU,GAAG;AAAA,QACvB,QAAO,MAAM,IAAI,WAAW,CAAC,EAAE,KAAK,KAAK,EAAE;AAAA,QAC3C,MAAM,IAAI,UAAU,GAAG;AAAA,QACvB,QAAO,MAAM,IAAI,WAAW,CAAC,EAAE,KAAK,KAAK,EAAE;AAAA;AAAA,MAE7C,IAAI,WAAW,4BAA4B,GAAG;AAAA,QAC5C,aAAa,OAAO,MAAM,KAAK,OAAO;AAAA,MACxC,EAAO;AAAA,QACL,IAAG,OAAO,MAAM,KAAK,OAAO;AAAA;AAAA,IAEhC,EAAO;AAAA,MAGL,IACE,+DACA,YAAY;AAAA,QACV,IAAI,CAAC;AAAA,UAAK,MAAM,IAAI,MAAM,qBAAqB;AAAA,QAC/C,OAAO,KAAK,MAAM,IAAI,KAAK;AAAA,QAC3B,IAAI;AAAA,UACF,MAAM,IAAI,SAAS,EAAE,KAAK;AAAA,UAC1B,MAAM;AAAA,QAIR,IAAI,IAAI,YAAY,GAAG;AAAA,UACrB,MAAM,QAAQ,MAAM,IAAI,KAAK;AAAA,UAC7B,QAAO,MAAM,MAAM,EAAE,oBAAoB,CAAC;AAAA,QAC5C;AAAA,SAEF,KAAK,OACP;AAAA;AAAA,GAEH;AAAA;;;ALvHI,SAAS,6BAA6B,CAAC,MAA4C;AAAA,EACxF,UAAS,OAAO,KAAK,IAAI,EAAE,gCAAgC,KAAK,QAAQ,MAAM;AAAA,IAC5E,MAAM,UAAU,eAAe,KAAK,OAAO;AAAA,IAM3C,uBAAuB,MAAM,OAAO;AAAA,IACpC,mBAAmB,MAAM,OAAO;AAAA,IAChC,mBAAmB,MAAM,OAAO;AAAA,IAChC,0BAA0B,MAAM,OAAO;AAAA,GACxC;AAAA;",
15
+ "debugId": "ABB1C317132C8C4964756E2164756E21",
16
16
  "names": []
17
17
  }
@@ -354,7 +354,7 @@ var it = wrapCallable(vitestIt);
354
354
  var itExpectFail = (name, fn, timeout) => {
355
355
  const native = it.fails;
356
356
  if (typeof native === "function") {
357
- native(name, fn, timeout);
357
+ native(name, { retry: 0, timeout }, fn);
358
358
  return;
359
359
  }
360
360
  it(`${name} [expected-fail]`, async () => {
@@ -840,4 +840,4 @@ export {
840
840
  runHumanConnectorConformance
841
841
  };
842
842
 
843
- //# debugId=1244A5B943D10CD864756E2164756E21
843
+ //# debugId=F82AC05201BBB1A864756E2164756E21
@@ -7,14 +7,14 @@
7
7
  "/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { afterAll, beforeAll, beforeEach, describe } from \"vitest\";\n\nimport { abortBlock } from \"./assertions/abort\";\nimport { capabilityHonestyBlock } from \"./assertions/capabilityHonesty\";\nimport { concurrentIsolationBlock } from \"./assertions/concurrentIsolation\";\nimport { multiTurnFollowUpBlock } from \"./assertions/multiTurnFollowUp\";\nimport { notifyDisplayFastResolveBlock } from \"./assertions/notifyDisplayFastResolve\";\nimport { roundtripBlock } from \"./assertions/roundtrip\";\nimport { resolveHumanConformanceFixture } from \"./fixtures\";\nimport type { HumanConnectorConformanceHandle, HumanConnectorConformanceOpts } from \"./types\";\n\nexport { MockHumanConnector } from \"./MockHumanConnector\";\nexport type { HumanConnectorConformanceOpts } from \"./types\";\n\nexport function runHumanConnectorConformance(opts: HumanConnectorConformanceOpts): void {\n describe.skipIf(opts.skip)(`IHumanConnector conformance: ${opts.name}`, () => {\n let handle: HumanConnectorConformanceHandle | undefined;\n const getHandle = (): HumanConnectorConformanceHandle => {\n if (!handle) throw new Error(\"conformance handle not initialized\");\n return handle;\n };\n\n beforeAll(async () => {\n handle = await opts.factory();\n }, opts.timeout);\n\n beforeEach(() => {\n // Each assertion starts from a clean script + received list.\n handle?.script.clear();\n });\n\n afterAll(async () => {\n if (handle) await handle.dispose();\n });\n\n const fixture = resolveHumanConformanceFixture(opts.fixture);\n\n roundtripBlock(opts, fixture, getHandle);\n abortBlock(opts, fixture, getHandle);\n concurrentIsolationBlock(opts, fixture, getHandle);\n notifyDisplayFastResolveBlock(opts, fixture, getHandle);\n multiTurnFollowUpBlock(opts, fixture, getHandle);\n capabilityHonestyBlock(opts, fixture, getHandle);\n });\n}\n",
8
8
  "/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { IHumanRequest } from \"@workglow/util\";\nimport { describe, expect, it } from \"vitest\";\n\nimport { itExpectFail } from \"../../itExpectFail\";\nimport type {\n ConformanceFixture,\n HumanConnectorConformanceHandle,\n HumanConnectorConformanceOpts,\n} from \"../types\";\n\nfunction isAbortError(err: unknown): boolean {\n if (!err || typeof err !== \"object\") return false;\n const e = err as { name?: string; message?: string };\n return e.name === \"AbortError\" || /abort/i.test(e.message ?? \"\");\n}\n\nfunction elicitReq(fixture: ConformanceFixture, requestId: string): IHumanRequest {\n return {\n requestId,\n targetHumanId: \"default\",\n kind: \"elicit\",\n message: \"Please confirm.\",\n contentSchema: fixture.elicitContentSchema,\n contentData: undefined,\n expectsResponse: true,\n mode: \"single\",\n metadata: undefined,\n };\n}\n\nexport function abortBlock(\n opts: HumanConnectorConformanceOpts,\n fixture: ConformanceFixture,\n getHandle: () => HumanConnectorConformanceHandle\n): void {\n const expectFails = new Set(opts.expectedFailures ?? []);\n const itBefore = expectFails.has(\"abort.beforeSend\") ? itExpectFail : it;\n const itMid = expectFails.has(\"abort.midElicit\") ? itExpectFail : it;\n\n describe.skipIf(!opts.capabilities.elicit)(\"Abort\", () => {\n itBefore(\n \"send() with already-aborted signal rejects with AbortError\",\n async () => {\n const { connector } = getHandle();\n const ac = new AbortController();\n ac.abort();\n let caught: unknown;\n try {\n await connector.send(elicitReq(fixture, \"ab-pre-1\"), ac.signal);\n } catch (err) {\n caught = err;\n }\n expect(caught).toBeDefined();\n expect(isAbortError(caught)).toBe(true);\n },\n opts.timeout\n );\n\n if (opts.capabilities.abortMidElicit) {\n itMid(\n \"send() rejects with AbortError when signal aborts mid-elicit\",\n async () => {\n const { connector, script } = getHandle();\n const handle = script.pushDeferred();\n const ac = new AbortController();\n const start = Date.now();\n const promise = connector.send(elicitReq(fixture, \"ab-mid-1\"), ac.signal);\n setTimeout(() => ac.abort(), 25);\n\n let caught: unknown;\n try {\n await promise;\n } catch (err) {\n caught = err;\n }\n const elapsed = Date.now() - start;\n expect(caught).toBeDefined();\n expect(isAbortError(caught)).toBe(true);\n expect(elapsed).toBeLessThan(fixture.abortGraceMs * 4 + 2000);\n // Releasing after rejection must not throw or produce a stray response.\n expect(() =>\n handle.release({\n requestId: \"x\",\n action: \"accept\",\n content: undefined,\n done: true,\n })\n ).not.toThrow();\n },\n opts.timeout\n );\n }\n });\n}\n",
9
9
  "/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { it as vitestIt } from \"vitest\";\n\n/**\n * Live provider tests treat \"the account is out of credits\" as a billing\n * condition rather than a product bug. A key being present is not the same as\n * the account being able to pay; HuggingFace / OpenRouter 402s, Anthropic's\n * credit-balance error, DeepSeek's `Insufficient Balance`, and OpenAI's\n * `insufficient_quota` are all billing.\n *\n * Rate limits (429 + `rate_limit_exceeded`) are NOT this: those are transient\n * and the existing retry policy handles them.\n *\n * Where it skips and where it fails is a deliberate split\n * ({@link creditExhaustionSkipsTest}): on CI it skips for every provider,\n * because a red build tells a reviewer nothing they can act on; locally it\n * fails, because the developer running the suite is the one who can top the\n * account up. `WORKGLOW_CREDIT_EXHAUSTED_SKIP=1` forces the skip locally\n * (and `=0` forces the failure on CI).\n */\n\nconst BILLING_CODES = new Set([\n \"insufficient_quota\",\n \"billing_hard_limit_reached\",\n \"insufficient_credits\",\n \"insufficient_balance\",\n]);\n\nconst CREDIT_MESSAGE =\n /insufficient credits|not enough credits|no credits remaining|out of credits|insufficient[\\s_-]balance|balance is (?:too low|insufficient)|exceeded[\\s\\S]{0,80}credits|monthly included credits|payment required|exceeded your current quota|check your plan and billing|billing_hard_limit/i;\n\n/**\n * A 402 that survives only as text. `classifyProviderError` rebuilds the error\n * as a `PermanentJobError` carrying the message and no `cause`, so by the time\n * a live test sees a DeepSeek billing failure the numeric `status` is gone and\n * the OpenAI-SDK message shape (`402 Insufficient Balance`) is all that is\n * left. Anchored to an HTTP-shaped position — start of a line, or after a\n * summary line's colon — so prose that merely contains the number\n * (\"Item 402(c)\") is not scavenged as a status.\n */\nconst HTTP_402_MESSAGE =\n /\\bHTTP\\/?\\d?(?:\\.\\d)?\\s*402\\b|\\bstatus(?:\\s*code)?\\s*[:=]\\s*402\\b|\\berror code:?\\s*402\\b|(?:^|:\\s+)402\\s+[a-z]/im;\n\nexport function isCreditExhaustedError(err: unknown): boolean {\n const seen = new Set<unknown>();\n let current: unknown = err;\n while (current !== undefined && current !== null && !seen.has(current)) {\n seen.add(current);\n if (matchesCreditExhaustion(current)) return true;\n current = causeOf(current);\n }\n return false;\n}\n\nfunction matchesCreditExhaustion(err: unknown): boolean {\n if (typeof err === \"string\") return messageLooksLikeCreditExhaustion(err);\n\n if (!err || typeof err !== \"object\") return false;\n\n const rec = err as Record<string, unknown>;\n const status = numericStatus(rec);\n if (status === 402) return true;\n\n const code = stringish(rec.code) ?? stringish(nested(rec.error, \"code\"));\n const type = stringish(rec.type) ?? stringish(nested(rec.error, \"type\"));\n if (code && BILLING_CODES.has(code)) return true;\n if (type && BILLING_CODES.has(type)) return true;\n\n const message = [\n stringish(rec.message),\n stringish(nested(rec.error, \"message\")),\n stringifyUnknown(err),\n ]\n .filter((part): part is string => typeof part === \"string\")\n .join(\"\\n\");\n return messageLooksLikeCreditExhaustion(message);\n}\n\nfunction messageLooksLikeCreditExhaustion(message: string): boolean {\n return CREDIT_MESSAGE.test(message) || HTTP_402_MESSAGE.test(message);\n}\n\nfunction numericStatus(rec: Record<string, unknown>): number | undefined {\n for (const key of [\"status\", \"statusCode\"] as const) {\n const value = rec[key];\n if (typeof value === \"number\" && Number.isFinite(value)) return value;\n }\n const nestedStatus = nested(rec.error, \"status\");\n if (typeof nestedStatus === \"number\" && Number.isFinite(nestedStatus)) return nestedStatus;\n return undefined;\n}\n\nfunction nested(value: unknown, key: string): unknown {\n if (!value || typeof value !== \"object\") return undefined;\n return (value as Record<string, unknown>)[key];\n}\n\nfunction stringish(value: unknown): string | undefined {\n return typeof value === \"string\" && value.length > 0 ? value : undefined;\n}\n\nfunction stringifyUnknown(err: unknown): string {\n if (err instanceof Error) return err.message;\n return String(err);\n}\n\nfunction causeOf(err: unknown): unknown {\n if (!err || typeof err !== \"object\") return undefined;\n return (err as { cause?: unknown }).cause;\n}\n\nexport function creditSkipNote(err: unknown): string {\n const message = err instanceof Error ? err.message : String(err);\n return `skipped: provider out of credits (${message})`;\n}\n\nconst SKIP_OVERRIDE_ENV = \"WORKGLOW_CREDIT_EXHAUSTED_SKIP\";\n\nfunction isTruthyFlag(value: string): boolean {\n return !/^(?:0|false|off|no)$/i.test(value.trim());\n}\n\n/**\n * Whether a billing failure skips the test or fails it.\n *\n * CI skips: nobody watching a build can top an account up, and one exhausted\n * key would otherwise turn every provider suite red for a change that touched\n * none of them — so the leniency is provider-agnostic by construction, keyed on\n * the environment rather than on which vendor ran out.\n *\n * Locally it fails, loudly, because the developer running the suite IS the\n * person who can act on it — and a silently green local run is how an\n * exhausted account goes unnoticed until CI is the only thing exercising the\n * provider at all.\n *\n * `WORKGLOW_CREDIT_EXHAUSTED_SKIP` overrides in both directions.\n */\nexport function creditExhaustionSkipsTest(\n env: Record<string, string | undefined> = process.env\n): boolean {\n const override = env[SKIP_OVERRIDE_ENV];\n if (override !== undefined && override.trim() !== \"\") return isTruthyFlag(override);\n for (const key of [\"CI\", \"GITHUB_ACTIONS\"] as const) {\n const value = env[key];\n if (value !== undefined && value.trim() !== \"\" && isTruthyFlag(value)) return true;\n }\n return false;\n}\n\n/**\n * The local-failure path. Rethrows the provider's own error unchanged — its\n * identity and stack are what makes the failure diagnosable — after one line\n * saying why it was not skipped and how to skip it.\n */\nfunction reportLocalCreditFailure(err: unknown): void {\n const message = err instanceof Error ? err.message : String(err);\n console.error(\n `provider out of credits (${message})\\n` +\n ` Failing because this is not CI. Top the account up, or set ${SKIP_OVERRIDE_ENV}=1 to skip instead.`\n );\n}\n\nexport async function runWithCreditSkip<T>(\n ctx: { skip: (note?: string) => void },\n fn: () => Promise<T> | T\n): Promise<T> {\n try {\n return await fn();\n } catch (err) {\n if (isCreditExhaustedError(err)) {\n if (!creditExhaustionSkipsTest()) {\n reportLocalCreditFailure(err);\n throw err;\n }\n ctx.skip(creditSkipNote(err));\n // vitest's skip() is `never` (throws). Mocks used in unit tests return.\n return undefined as T;\n }\n throw err;\n }\n}\n\n/**\n * Wraps one test body. This is the seam every conformance assertion actually\n * runs through (the exported {@link it} proxies each callback through it), so\n * the CI-skips / locally-fails policy is applied here rather than at each\n * call site.\n */\nexport function wrapTestBodyForCreditSkip(\n fn: (...args: never[]) => unknown\n): (...args: never[]) => unknown {\n return async function wrapped(this: unknown, ...args: never[]): Promise<unknown> {\n try {\n return await fn.apply(this, args);\n } catch (err) {\n if (!isCreditExhaustedError(err)) throw err;\n if (!creditExhaustionSkipsTest()) {\n reportLocalCreditFailure(err);\n throw err;\n }\n const ctx = args[0] as { skip?: (note?: string) => void } | undefined;\n if (ctx && typeof ctx.skip === \"function\") {\n ctx.skip(creditSkipNote(err));\n return undefined;\n }\n // bun:test has no TestContext.skip; passing is \"don't fail the test\".\n console.warn(creditSkipNote(err));\n return undefined;\n }\n };\n}\n\nfunction wrapCallable(fn: CallableFunction): CallableFunction {\n return new Proxy(fn, {\n apply(target, thisArg, argArray: unknown[]) {\n const wrapped = argArray.map((arg) =>\n typeof arg === \"function\" ? wrapTestBodyForCreditSkip(arg as never) : arg\n );\n const result = Reflect.apply(target, thisArg, wrapped);\n return typeof result === \"function\" ? wrapCallable(result) : result;\n },\n get(target, prop, receiver) {\n const value = Reflect.get(target, prop, receiver);\n if (typeof value === \"function\") {\n return wrapCallable((value as CallableFunction).bind(target));\n }\n return value;\n },\n });\n}\n\n/**\n * Drop-in `it` for live provider tests: a credit/billing error skips the test on\n * CI and fails it locally (see {@link creditExhaustionSkipsTest}).\n */\nexport const it = wrapCallable(vitestIt) as typeof vitestIt;\n",
10
- "/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { isCreditExhaustedError, it } from \"./creditExhaustedSkip\";\n\ntype ItFn = (name: string, fn: () => Promise<void> | void, timeout?: number) => void;\n\n/**\n * Cross-runner polyfill for `it.fails`. Vitest exposes it natively; bun's\n * native `bun test` runner does not. Under bun we wrap the body in a\n * try/catch and assert that it threw — so a passing-when-expected-fail\n * test still surfaces as a CI failure (signalling \"remove from\n * expectedFailures\").\n */\nexport const itExpectFail: ItFn = (name, fn, timeout) => {\n const native = (it as unknown as { fails?: ItFn }).fails;\n if (typeof native === \"function\") {\n native(name, fn, timeout);\n return;\n }\n it(\n `${name} [expected-fail]`,\n async () => {\n let passed = false;\n try {\n await fn();\n passed = true;\n } catch (err) {\n // Billing exhaustion is not the adapter bug this marker records.\n if (isCreditExhaustedError(err)) throw err;\n // expected; the test was supposed to fail\n }\n if (passed) {\n throw new Error(\n `Test \"${name}\" was marked as expected-fail but passed. Remove its name from opts.expectedFailures.`\n );\n }\n },\n timeout\n );\n};\n",
10
+ "/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { isCreditExhaustedError, it } from \"./creditExhaustedSkip\";\n\ntype ItFn = (name: string, fn: () => Promise<void> | void, timeout?: number) => void;\n\n/**\n * Cross-runner polyfill for `it.fails`. Vitest exposes it natively; bun's\n * native `bun test` runner does not. Under bun we wrap the body in a\n * try/catch and assert that it threw — so a passing-when-expected-fail\n * test still surfaces as a CI failure (signalling \"remove from\n * expectedFailures\").\n */\nexport const itExpectFail: ItFn = (name, fn, timeout) => {\n const native = (\n it as unknown as {\n fails?: (\n name: string,\n options: { readonly retry?: number; readonly timeout?: number },\n fn: () => Promise<void> | void\n ) => void;\n }\n ).fails;\n if (typeof native === \"function\") {\n // `retry: 0` because retrying a test that is SUPPOSED to fail is\n // meaningless, and vitest counts the intended failure as a retry — which\n // puts every expected-fail test in the run summary's \"Flaky Tests\" section\n // under \"passed only after one or more retries\". A real flake then hides\n // among permanent false entries, which is worse than no report at all.\n // Options go SECOND: `test(name, fn, {...})` was removed in Vitest 4.\n native(name, { retry: 0, timeout }, fn);\n return;\n }\n it(\n `${name} [expected-fail]`,\n async () => {\n let passed = false;\n try {\n await fn();\n passed = true;\n } catch (err) {\n // Billing exhaustion is not the adapter bug this marker records.\n if (isCreditExhaustedError(err)) throw err;\n // expected; the test was supposed to fail\n }\n if (passed) {\n throw new Error(\n `Test \"${name}\" was marked as expected-fail but passed. Remove its name from opts.expectedFailures.`\n );\n }\n },\n timeout\n );\n};\n",
11
11
  "/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { HumanInteractionKind, IHumanRequest } from \"@workglow/util\";\nimport { describe, expect, it } from \"vitest\";\n\nimport { itExpectFail } from \"../../itExpectFail\";\nimport type {\n ConformanceFixture,\n HumanConnectorConformanceHandle,\n HumanConnectorConformanceOpts,\n} from \"../types\";\n\nfunction buildReq(\n fixture: ConformanceFixture,\n kind: HumanInteractionKind,\n requestId: string\n): IHumanRequest {\n const base =\n kind === \"elicit\"\n ? { message: \"elicit\", contentSchema: fixture.elicitContentSchema, contentData: undefined }\n : kind === \"notify\"\n ? fixture.notifyRequest\n : kind === \"confirm\"\n ? fixture.confirmRequest\n : fixture.displayRequest;\n return {\n requestId,\n targetHumanId: \"default\",\n kind,\n message: base.message,\n contentSchema: base.contentSchema,\n contentData: base.contentData,\n expectsResponse: kind === \"elicit\" || kind === \"confirm\",\n mode: \"single\",\n metadata: undefined,\n };\n}\n\nexport function capabilityHonestyBlock(\n opts: HumanConnectorConformanceOpts,\n fixture: ConformanceFixture,\n getHandle: () => HumanConnectorConformanceHandle\n): void {\n const expectFails = new Set(opts.expectedFailures ?? []);\n const itFn = expectFails.has(\"capabilityHonesty\") ? itExpectFail : it;\n\n describe(\"Capability honesty\", () => {\n itFn(\n \"multiTurn:false implies followUp is undefined (not silent no-op)\",\n () => {\n if (opts.capabilities.multiTurn) return;\n const { connector } = getHandle();\n expect(connector.followUp).toBeUndefined();\n },\n opts.timeout\n );\n\n for (const kind of [\"notify\", \"display\", \"elicit\", \"confirm\"] as const) {\n itFn(\n `${kind}:false implies the connector either throws or surfaces a non-accept action (no silent accept)`,\n async () => {\n if (opts.capabilities[kind]) return;\n const { connector } = getHandle();\n const ac = new AbortController();\n let caught: unknown;\n let res: { action?: string } | undefined;\n try {\n res = await connector.send(buildReq(fixture, kind, `cap-${kind}`), ac.signal);\n } catch (err) {\n caught = err;\n }\n if (caught) {\n expect(caught).toBeDefined();\n return;\n }\n expect(res).toBeDefined();\n expect(res!.action).not.toBe(\"accept\");\n },\n opts.timeout\n );\n }\n });\n}\n",
12
12
  "/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { IHumanRequest, IHumanResponse } from \"@workglow/util\";\nimport { describe, expect, it } from \"vitest\";\n\nimport { itExpectFail } from \"../../itExpectFail\";\nimport type {\n ConformanceFixture,\n HumanConnectorConformanceHandle,\n HumanConnectorConformanceOpts,\n} from \"../types\";\n\nfunction elicitReq(fixture: ConformanceFixture, requestId: string): IHumanRequest {\n return {\n requestId,\n targetHumanId: \"default\",\n kind: \"elicit\",\n // The message embeds the requestId so adapters that don't expose\n // upstream requestIds across their transport (e.g. the MCP harness)\n // can still discriminate concurrent requests.\n message: `Please confirm ${requestId}.`,\n contentSchema: fixture.elicitContentSchema,\n contentData: undefined,\n expectsResponse: true,\n mode: \"single\",\n metadata: undefined,\n };\n}\n\nexport function concurrentIsolationBlock(\n opts: HumanConnectorConformanceOpts,\n fixture: ConformanceFixture,\n getHandle: () => HumanConnectorConformanceHandle\n): void {\n const expectFails = new Set(opts.expectedFailures ?? []);\n const itConcurrent = expectFails.has(\"concurrent.isolation\") ? itExpectFail : it;\n\n describe.skipIf(!opts.capabilities.concurrent || !opts.capabilities.elicit)(\n \"Concurrent isolation\",\n () => {\n itConcurrent(\n \"two concurrent send() calls each receive their own scripted response\",\n async () => {\n const { connector, script } = getHandle();\n // Messages are of the form \"Please confirm <requestId>.\" — extract the id so\n // adapters that synthesise their own requestIds (e.g. the MCP harness) can\n // still echo the upstream id back through the content.reason field.\n const tagFromMessage = (message: string): string => {\n const m = message.match(/Please confirm (.+)\\./);\n return m ? m[1] : \"unknown\";\n };\n script.push((req): IHumanResponse => {\n const tag = tagFromMessage(req.message);\n return {\n requestId: req.requestId,\n action: \"accept\",\n content: { approved: true, reason: tag },\n done: true,\n };\n });\n script.push((req): IHumanResponse => {\n const tag = tagFromMessage(req.message);\n return {\n requestId: req.requestId,\n action: \"accept\",\n content: { approved: true, reason: tag },\n done: true,\n };\n });\n\n const ac = new AbortController();\n const p1 = connector.send(elicitReq(fixture, \"conc-A\"), ac.signal);\n const p2 = connector.send(elicitReq(fixture, \"conc-B\"), ac.signal);\n const [a, b] = await Promise.all([p1, p2]);\n\n expect(a.requestId).toBe(\"conc-A\");\n expect((a.content as { reason: string }).reason).toBe(\"conc-A\");\n expect(b.requestId).toBe(\"conc-B\");\n expect((b.content as { reason: string }).reason).toBe(\"conc-B\");\n },\n opts.timeout\n );\n }\n );\n}\n",
13
13
  "/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { IHumanRequest } from \"@workglow/util\";\nimport { describe, expect, it } from \"vitest\";\n\nimport { itExpectFail } from \"../../itExpectFail\";\nimport type {\n ConformanceFixture,\n HumanConnectorConformanceHandle,\n HumanConnectorConformanceOpts,\n} from \"../types\";\n\nfunction elicitReq(\n fixture: ConformanceFixture,\n requestId: string,\n mode: \"single\" | \"multi-turn\"\n): IHumanRequest {\n return {\n requestId,\n targetHumanId: \"default\",\n kind: \"elicit\",\n message: \"Multi-turn step.\",\n contentSchema: fixture.elicitContentSchema,\n contentData: undefined,\n expectsResponse: true,\n mode,\n metadata: undefined,\n };\n}\n\nfunction isAbortError(err: unknown): boolean {\n if (!err || typeof err !== \"object\") return false;\n const e = err as { name?: string; message?: string };\n return e.name === \"AbortError\" || /abort/i.test(e.message ?? \"\");\n}\n\nexport function multiTurnFollowUpBlock(\n opts: HumanConnectorConformanceOpts,\n fixture: ConformanceFixture,\n getHandle: () => HumanConnectorConformanceHandle\n): void {\n const expectFails = new Set(opts.expectedFailures ?? []);\n const itFn = expectFails.has(\"multiTurn.followUp\") ? itExpectFail : it;\n\n describe.skipIf(!opts.capabilities.multiTurn || !opts.capabilities.elicit)(\n \"Multi-turn followUp\",\n () => {\n itFn(\n \"followUp() called after done=false response returns terminal response\",\n async () => {\n const { connector, script } = getHandle();\n script.push({\n requestId: \"x\",\n action: \"accept\",\n content: { approved: false, reason: \"step1\" },\n done: false,\n });\n script.push({\n requestId: \"x\",\n action: \"accept\",\n content: { approved: true, reason: \"step2\" },\n done: true,\n });\n\n const ac = new AbortController();\n const req = elicitReq(fixture, \"mt-1\", \"multi-turn\");\n const first = await connector.send(req, ac.signal);\n expect(first.done).toBe(false);\n\n expect(typeof connector.followUp).toBe(\"function\");\n const second = await connector.followUp!(req, first, ac.signal);\n expect(second.done).toBe(true);\n expect(second.content).toEqual({ approved: true, reason: \"step2\" });\n },\n opts.timeout\n );\n\n if (opts.capabilities.abortMidElicit) {\n itFn(\n \"followUp() honors AbortSignal mid-flight\",\n async () => {\n const { connector, script } = getHandle();\n script.push({\n requestId: \"x\",\n action: \"accept\",\n content: { approved: false, reason: \"step1\" },\n done: false,\n });\n script.pushDeferred();\n const ac = new AbortController();\n const req = elicitReq(fixture, \"mt-2\", \"multi-turn\");\n const first = await connector.send(req, ac.signal);\n expect(first.done).toBe(false);\n const promise = connector.followUp!(req, first, ac.signal);\n setTimeout(() => ac.abort(), 25);\n let caught: unknown;\n try {\n await promise;\n } catch (err) {\n caught = err;\n }\n expect(caught).toBeDefined();\n expect(isAbortError(caught)).toBe(true);\n },\n opts.timeout\n );\n }\n }\n );\n}\n",
14
14
  "/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { HumanInteractionKind, IHumanRequest } from \"@workglow/util\";\nimport { describe, expect, it } from \"vitest\";\n\nimport { itExpectFail } from \"../../itExpectFail\";\nimport type {\n ConformanceFixture,\n HumanConnectorAssertionId,\n HumanConnectorConformanceHandle,\n HumanConnectorConformanceOpts,\n} from \"../types\";\n\nfunction buildReq(\n fixture: ConformanceFixture,\n kind: \"notify\" | \"display\",\n requestId: string\n): IHumanRequest {\n const base = kind === \"notify\" ? fixture.notifyRequest : fixture.displayRequest;\n return {\n requestId,\n targetHumanId: \"default\",\n kind: kind as HumanInteractionKind,\n message: base.message,\n contentSchema: base.contentSchema,\n contentData: base.contentData,\n expectsResponse: false,\n mode: \"single\",\n metadata: undefined,\n };\n}\n\nfunction elicitReq(fixture: ConformanceFixture, requestId: string): IHumanRequest {\n return {\n requestId,\n targetHumanId: \"default\",\n kind: \"elicit\",\n message: \"Follow-up after fast-resolve.\",\n contentSchema: fixture.elicitContentSchema,\n contentData: undefined,\n expectsResponse: true,\n mode: \"single\",\n metadata: undefined,\n };\n}\n\nfunction block(\n kind: \"notify\" | \"display\",\n enabled: boolean,\n failId: HumanConnectorAssertionId,\n opts: HumanConnectorConformanceOpts,\n fixture: ConformanceFixture,\n getHandle: () => HumanConnectorConformanceHandle\n): void {\n const expectFails = new Set(opts.expectedFailures ?? []);\n const itFn = expectFails.has(failId) ? itExpectFail : it;\n\n describe.skipIf(!enabled || !opts.capabilities.elicit)(`${kind} fast-resolve`, () => {\n itFn(\n `${kind} resolves with action=accept, done=true, and does not consume scripted elicit responses`,\n async () => {\n const { connector, script } = getHandle();\n // Preload an elicit response; if the connector incorrectly consumes\n // the queue on a notify/display request, the next elicit would fall\n // through to the connector's default and the assertion below would\n // surface the regression.\n const sentinel = { approved: true, reason: \"sentinel\" };\n script.push({ requestId: \"ignored\", action: \"accept\", content: sentinel, done: true });\n\n const ac = new AbortController();\n const res = await connector.send(buildReq(fixture, kind, `${kind}-1`), ac.signal);\n expect(res.action).toBe(\"accept\");\n expect(res.done).toBe(true);\n expect(res.content).toBeUndefined();\n\n // The elicit response queued before should still be consumable.\n const elicitRes = await connector.send(elicitReq(fixture, `${kind}-elicit-1`), ac.signal);\n expect(elicitRes.action).toBe(\"accept\");\n expect(elicitRes.content).toEqual(sentinel);\n expect(elicitRes.requestId).toBe(`${kind}-elicit-1`);\n },\n opts.timeout\n );\n });\n}\n\nexport function notifyDisplayFastResolveBlock(\n opts: HumanConnectorConformanceOpts,\n fixture: ConformanceFixture,\n getHandle: () => HumanConnectorConformanceHandle\n): void {\n block(\"notify\", opts.capabilities.notify, \"notify.fastResolve\", opts, fixture, getHandle);\n block(\"display\", opts.capabilities.display, \"display.fastResolve\", opts, fixture, getHandle);\n}\n",
15
15
  "/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { IHumanRequest } from \"@workglow/util\";\nimport { describe, expect, it } from \"vitest\";\n\nimport { itExpectFail } from \"../../itExpectFail\";\nimport type {\n ConformanceFixture,\n HumanConnectorConformanceHandle,\n HumanConnectorConformanceOpts,\n} from \"../types\";\n\nfunction elicitReq(fixture: ConformanceFixture, requestId: string): IHumanRequest {\n return {\n requestId,\n targetHumanId: \"default\",\n kind: \"elicit\",\n message: \"Please confirm.\",\n contentSchema: fixture.elicitContentSchema,\n contentData: undefined,\n expectsResponse: true,\n mode: \"single\",\n metadata: undefined,\n };\n}\n\nfunction confirmReq(fixture: ConformanceFixture, requestId: string): IHumanRequest {\n return {\n requestId,\n targetHumanId: \"default\",\n kind: \"confirm\",\n message: fixture.confirmRequest.message,\n contentSchema: fixture.confirmRequest.contentSchema,\n contentData: fixture.confirmRequest.contentData,\n expectsResponse: true,\n mode: \"single\",\n metadata: undefined,\n };\n}\n\nexport function roundtripBlock(\n opts: HumanConnectorConformanceOpts,\n fixture: ConformanceFixture,\n getHandle: () => HumanConnectorConformanceHandle\n): void {\n const expectFails = new Set(opts.expectedFailures ?? []);\n const itAccept = expectFails.has(\"roundtrip.accept\") ? itExpectFail : it;\n const itDecline = expectFails.has(\"roundtrip.decline\") ? itExpectFail : it;\n const itCancel = expectFails.has(\"roundtrip.cancel\") ? itExpectFail : it;\n const itConfirmAccept = expectFails.has(\"roundtrip.confirm.accept\") ? itExpectFail : it;\n const itConfirmDecline = expectFails.has(\"roundtrip.confirm.decline\") ? itExpectFail : it;\n const itConfirmDetails = expectFails.has(\"roundtrip.confirm.details\") ? itExpectFail : it;\n const itConfirmNoContent = expectFails.has(\"roundtrip.confirm.noContent\") ? itExpectFail : it;\n\n describe.skipIf(!opts.capabilities.elicit)(\"Roundtrip elicit\", () => {\n itAccept(\n \"accept echoes requestId, returns done=true, surfaces content\",\n async () => {\n const { connector, script } = getHandle();\n script.push({\n requestId: \"ignored\",\n action: \"accept\",\n content: fixture.elicitAcceptContent,\n done: true,\n });\n const ac = new AbortController();\n const res = await connector.send(elicitReq(fixture, \"rt-accept-1\"), ac.signal);\n expect(res.requestId).toBe(\"rt-accept-1\");\n expect(res.action).toBe(\"accept\");\n expect(res.done).toBe(true);\n expect(res.content).toEqual(fixture.elicitAcceptContent);\n },\n opts.timeout\n );\n\n itDecline(\n \"decline surfaces with content=undefined, no throw\",\n async () => {\n const { connector, script } = getHandle();\n script.push({ requestId: \"x\", action: \"decline\", content: undefined, done: true });\n const ac = new AbortController();\n const res = await connector.send(elicitReq(fixture, \"rt-dec-1\"), ac.signal);\n expect(res.requestId).toBe(\"rt-dec-1\");\n expect(res.action).toBe(\"decline\");\n expect(res.done).toBe(true);\n expect(res.content).toBeUndefined();\n },\n opts.timeout\n );\n\n itCancel(\n \"cancel surfaces with content=undefined, no throw\",\n async () => {\n const { connector, script } = getHandle();\n script.push({ requestId: \"x\", action: \"cancel\", content: undefined, done: true });\n const ac = new AbortController();\n const res = await connector.send(elicitReq(fixture, \"rt-can-1\"), ac.signal);\n expect(res.requestId).toBe(\"rt-can-1\");\n expect(res.action).toBe(\"cancel\");\n expect(res.done).toBe(true);\n expect(res.content).toBeUndefined();\n },\n opts.timeout\n );\n });\n\n // Declaring `confirm: true` is a claim that a person decided. Without a\n // positive case the honesty block above proves nothing — it returns early\n // whenever the capability is true — so a connector that answered \"accept\"\n // without asking anyone would pass the whole suite.\n describe.skipIf(!opts.capabilities.confirm)(\"Roundtrip confirm\", () => {\n itConfirmAccept(\n \"a decision reaches the caller as the person's own answer\",\n async () => {\n const { connector, script } = getHandle();\n script.push({ requestId: \"x\", action: \"accept\", content: undefined, done: true });\n const ac = new AbortController();\n const res = await connector.send(confirmReq(fixture, \"rt-confirm-accept\"), ac.signal);\n expect(res.requestId).toBe(\"rt-confirm-accept\");\n expect(res.action).toBe(\"accept\");\n expect(res.done).toBe(true);\n },\n opts.timeout\n );\n\n itConfirmDecline(\n \"a refusal is a refusal, not an unanswered accept\",\n async () => {\n const { connector, script } = getHandle();\n script.push({ requestId: \"x\", action: \"decline\", content: undefined, done: true });\n const ac = new AbortController();\n const res = await connector.send(confirmReq(fixture, \"rt-confirm-decline\"), ac.signal);\n expect(res.requestId).toBe(\"rt-confirm-decline\");\n expect(res.action).toBe(\"decline\");\n expect(res.done).toBe(true);\n },\n opts.timeout\n );\n\n itConfirmNoContent(\n \"an accepted confirm answers with the decision and nothing else\",\n async () => {\n // A confirm's schema describes the action, so anything a connector\n // sends back under it is an answer to a form nobody asked. It reaches\n // the task's output ports (`HumanInputTask` spreads `content` there),\n // which is how an edit to the DESCRIPTION of an action becomes part of\n // what the graph does with it.\n const { connector, script } = getHandle();\n script.push({\n requestId: \"x\",\n action: \"accept\",\n content: { action: \"something else\" },\n done: true,\n });\n const ac = new AbortController();\n const res = await connector.send(confirmReq(fixture, \"rt-confirm-content\"), ac.signal);\n expect(res.action).toBe(\"accept\");\n expect(res.content).toBeUndefined();\n },\n opts.timeout\n );\n\n itConfirmDetails(\n \"the action's details reach the person deciding\",\n async () => {\n const { connector, script } = getHandle();\n script.push({ requestId: \"x\", action: \"decline\", content: undefined, done: true });\n const ac = new AbortController();\n await connector.send(confirmReq(fixture, \"rt-confirm-details\"), ac.signal);\n const received = script.received.at(-1);\n const shown = JSON.stringify({\n message: received?.message,\n contentData: received?.contentData,\n });\n for (const value of Object.values(fixture.confirmRequest.contentData ?? {})) {\n if (typeof value === \"string\") expect(shown).toContain(value);\n }\n },\n opts.timeout\n );\n });\n}\n"
16
16
  ],
17
- "mappings": "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",
18
- "debugId": "1244A5B943D10CD864756E2164756E21",
17
+ "mappings": "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",
18
+ "debugId": "F82AC05201BBB1A864756E2164756E21",
19
19
  "names": []
20
20
  }