@copilotkit/aimock 1.42.1 → 1.44.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +65 -0
- package/README.md +108 -16
- package/dist/agui-handler.d.ts.map +1 -1
- package/dist/agui-mock.cjs +1 -1
- package/dist/agui-mock.cjs.map +1 -1
- package/dist/agui-mock.d.cts.map +1 -1
- package/dist/agui-mock.d.ts.map +1 -1
- package/dist/agui-mock.js +1 -1
- package/dist/agui-mock.js.map +1 -1
- package/dist/agui-recorder.cjs +33 -11
- package/dist/agui-recorder.cjs.map +1 -1
- package/dist/agui-recorder.d.cts +10 -1
- package/dist/agui-recorder.d.cts.map +1 -1
- package/dist/agui-recorder.d.ts +10 -1
- package/dist/agui-recorder.d.ts.map +1 -1
- package/dist/agui-recorder.js +33 -11
- package/dist/agui-recorder.js.map +1 -1
- package/dist/agui-types.d.cts +1 -0
- package/dist/agui-types.d.cts.map +1 -1
- package/dist/agui-types.d.ts +1 -0
- package/dist/agui-types.d.ts.map +1 -1
- package/dist/aimock-cli.cjs +38 -10
- package/dist/aimock-cli.cjs.map +1 -1
- package/dist/aimock-cli.d.cts +5 -0
- package/dist/aimock-cli.d.cts.map +1 -1
- package/dist/aimock-cli.d.ts +5 -0
- package/dist/aimock-cli.d.ts.map +1 -1
- package/dist/aimock-cli.js +38 -10
- package/dist/aimock-cli.js.map +1 -1
- package/dist/batches.cjs +458 -0
- package/dist/batches.cjs.map +1 -0
- package/dist/batches.d.cts +57 -0
- package/dist/batches.d.cts.map +1 -0
- package/dist/batches.d.ts +57 -0
- package/dist/batches.d.ts.map +1 -0
- package/dist/batches.js +453 -0
- package/dist/batches.js.map +1 -0
- package/dist/bedrock-converse.cjs +44 -12
- package/dist/bedrock-converse.cjs.map +1 -1
- package/dist/bedrock-converse.d.cts.map +1 -1
- package/dist/bedrock-converse.d.ts.map +1 -1
- package/dist/bedrock-converse.js +46 -14
- package/dist/bedrock-converse.js.map +1 -1
- package/dist/bedrock.cjs +10 -8
- package/dist/bedrock.cjs.map +1 -1
- package/dist/bedrock.d.cts.map +1 -1
- package/dist/bedrock.d.ts.map +1 -1
- package/dist/bedrock.js +12 -10
- package/dist/bedrock.js.map +1 -1
- package/dist/byteplus-video.cjs +3 -3
- package/dist/byteplus-video.cjs.map +1 -1
- package/dist/byteplus-video.js +4 -4
- package/dist/byteplus-video.js.map +1 -1
- package/dist/chaos.cjs +625 -72
- package/dist/chaos.cjs.map +1 -1
- package/dist/chaos.d.cts +164 -7
- package/dist/chaos.d.cts.map +1 -1
- package/dist/chaos.d.ts +164 -7
- package/dist/chaos.d.ts.map +1 -1
- package/dist/chaos.js +616 -74
- package/dist/chaos.js.map +1 -1
- package/dist/cli.cjs +131 -30
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.js +132 -31
- package/dist/cli.js.map +1 -1
- package/dist/cohere.cjs +37 -9
- package/dist/cohere.cjs.map +1 -1
- package/dist/cohere.d.cts.map +1 -1
- package/dist/cohere.d.ts.map +1 -1
- package/dist/cohere.js +39 -11
- package/dist/cohere.js.map +1 -1
- package/dist/config-loader.cjs +1 -1
- package/dist/config-loader.js +1 -1
- package/dist/constants.cjs +8 -0
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.cts +6 -2
- package/dist/constants.d.ts +6 -2
- package/dist/constants.js +8 -1
- package/dist/constants.js.map +1 -1
- package/dist/convert.cjs +1 -1
- package/dist/convert.cjs.map +1 -1
- package/dist/convert.js +1 -1
- package/dist/convert.js.map +1 -1
- package/dist/echo-text.cjs +65 -0
- package/dist/echo-text.cjs.map +1 -0
- package/dist/echo-text.d.cts +22 -0
- package/dist/echo-text.d.cts.map +1 -0
- package/dist/echo-text.d.ts +22 -0
- package/dist/echo-text.d.ts.map +1 -0
- package/dist/echo-text.js +65 -0
- package/dist/echo-text.js.map +1 -0
- package/dist/elevenlabs-audio.cjs +3 -3
- package/dist/elevenlabs-audio.cjs.map +1 -1
- package/dist/elevenlabs-audio.js +4 -4
- package/dist/elevenlabs-audio.js.map +1 -1
- package/dist/elevenlabs-voice.cjs +1053 -0
- package/dist/elevenlabs-voice.cjs.map +1 -0
- package/dist/elevenlabs-voice.d.cts +72 -0
- package/dist/elevenlabs-voice.d.cts.map +1 -0
- package/dist/elevenlabs-voice.d.ts +72 -0
- package/dist/elevenlabs-voice.d.ts.map +1 -0
- package/dist/elevenlabs-voice.js +1048 -0
- package/dist/elevenlabs-voice.js.map +1 -0
- package/dist/embeddings.cjs +26 -5
- package/dist/embeddings.cjs.map +1 -1
- package/dist/embeddings.d.cts +1 -1
- package/dist/embeddings.d.cts.map +1 -1
- package/dist/embeddings.d.ts +1 -1
- package/dist/embeddings.d.ts.map +1 -1
- package/dist/embeddings.js +27 -6
- package/dist/embeddings.js.map +1 -1
- package/dist/fal-audio.cjs +3 -3
- package/dist/fal-audio.cjs.map +1 -1
- package/dist/fal-audio.js +4 -4
- package/dist/fal-audio.js.map +1 -1
- package/dist/fal.cjs +28 -4
- package/dist/fal.cjs.map +1 -1
- package/dist/fal.d.cts +16 -1
- package/dist/fal.d.cts.map +1 -1
- package/dist/fal.d.ts +16 -1
- package/dist/fal.d.ts.map +1 -1
- package/dist/fal.js +28 -5
- package/dist/fal.js.map +1 -1
- package/dist/files.cjs +1069 -0
- package/dist/files.cjs.map +1 -0
- package/dist/files.d.cts +68 -0
- package/dist/files.d.cts.map +1 -0
- package/dist/files.d.ts +68 -0
- package/dist/files.d.ts.map +1 -0
- package/dist/files.js +1056 -0
- package/dist/files.js.map +1 -0
- package/dist/fine-tuning.cjs +1033 -0
- package/dist/fine-tuning.cjs.map +1 -0
- package/dist/fine-tuning.d.cts +96 -0
- package/dist/fine-tuning.d.cts.map +1 -0
- package/dist/fine-tuning.d.ts +96 -0
- package/dist/fine-tuning.d.ts.map +1 -0
- package/dist/fine-tuning.js +1026 -0
- package/dist/fine-tuning.js.map +1 -0
- package/dist/fixture-loader-services.cjs +116 -0
- package/dist/fixture-loader-services.cjs.map +1 -0
- package/dist/fixture-loader-services.d.cts +48 -0
- package/dist/fixture-loader-services.d.cts.map +1 -0
- package/dist/fixture-loader-services.d.ts +48 -0
- package/dist/fixture-loader-services.d.ts.map +1 -0
- package/dist/fixture-loader-services.js +114 -0
- package/dist/fixture-loader-services.js.map +1 -0
- package/dist/fixture-loader.cjs +0 -0
- package/dist/fixture-loader.cjs.map +1 -1
- package/dist/fixture-loader.d.cts +131 -5
- package/dist/fixture-loader.d.cts.map +1 -1
- package/dist/fixture-loader.d.ts +131 -5
- package/dist/fixture-loader.d.ts.map +1 -1
- package/dist/fixture-loader.js +0 -0
- package/dist/fixture-loader.js.map +1 -1
- package/dist/gemini-embeddings.cjs +44 -4
- package/dist/gemini-embeddings.cjs.map +1 -1
- package/dist/gemini-embeddings.js +46 -6
- package/dist/gemini-embeddings.js.map +1 -1
- package/dist/gemini-interactions.cjs +51 -7
- package/dist/gemini-interactions.cjs.map +1 -1
- package/dist/gemini-interactions.d.cts.map +1 -1
- package/dist/gemini-interactions.d.ts.map +1 -1
- package/dist/gemini-interactions.js +53 -9
- package/dist/gemini-interactions.js.map +1 -1
- package/dist/gemini.cjs +19 -8
- package/dist/gemini.cjs.map +1 -1
- package/dist/gemini.d.cts.map +1 -1
- package/dist/gemini.d.ts.map +1 -1
- package/dist/gemini.js +21 -10
- package/dist/gemini.js.map +1 -1
- package/dist/grok-video.cjs +14 -14
- package/dist/grok-video.cjs.map +1 -1
- package/dist/grok-video.js +15 -15
- package/dist/grok-video.js.map +1 -1
- package/dist/helpers.cjs +497 -10
- package/dist/helpers.cjs.map +1 -1
- package/dist/helpers.d.cts +38 -2
- package/dist/helpers.d.cts.map +1 -1
- package/dist/helpers.d.ts +38 -2
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +487 -12
- package/dist/helpers.js.map +1 -1
- package/dist/images.cjs +57 -125
- package/dist/images.cjs.map +1 -1
- package/dist/images.d.cts.map +1 -1
- package/dist/images.d.ts.map +1 -1
- package/dist/images.js +58 -126
- package/dist/images.js.map +1 -1
- package/dist/index.cjs +71 -9
- package/dist/index.d.cts +17 -7
- package/dist/index.d.ts +17 -7
- package/dist/index.js +21 -11
- package/dist/jest.cjs +24 -12
- package/dist/jest.cjs.map +1 -1
- package/dist/jest.d.cts +6 -3
- package/dist/jest.d.cts.map +1 -1
- package/dist/jest.d.ts +6 -3
- package/dist/jest.d.ts.map +1 -1
- package/dist/jest.js +25 -13
- package/dist/jest.js.map +1 -1
- package/dist/journal.cjs +61 -4
- package/dist/journal.cjs.map +1 -1
- package/dist/journal.d.cts +60 -3
- package/dist/journal.d.cts.map +1 -1
- package/dist/journal.d.ts +60 -3
- package/dist/journal.d.ts.map +1 -1
- package/dist/journal.js +61 -5
- package/dist/journal.js.map +1 -1
- package/dist/live-fixture.cjs +1192 -0
- package/dist/live-fixture.cjs.map +1 -0
- package/dist/live-fixture.js +1187 -0
- package/dist/live-fixture.js.map +1 -0
- package/dist/live-recorder.cjs +256 -0
- package/dist/live-recorder.cjs.map +1 -0
- package/dist/live-recorder.js +254 -0
- package/dist/live-recorder.js.map +1 -0
- package/dist/live-replay.cjs +286 -0
- package/dist/live-replay.cjs.map +1 -0
- package/dist/live-replay.js +285 -0
- package/dist/live-replay.js.map +1 -0
- package/dist/live-sanitize.cjs +196 -0
- package/dist/live-sanitize.cjs.map +1 -0
- package/dist/live-sanitize.js +196 -0
- package/dist/live-sanitize.js.map +1 -0
- package/dist/live-types.d.cts +71 -0
- package/dist/live-types.d.cts.map +1 -0
- package/dist/live-types.d.ts +71 -0
- package/dist/live-types.d.ts.map +1 -0
- package/dist/llmock.cjs +132 -49
- package/dist/llmock.cjs.map +1 -1
- package/dist/llmock.d.cts +51 -5
- package/dist/llmock.d.cts.map +1 -1
- package/dist/llmock.d.ts +51 -5
- package/dist/llmock.d.ts.map +1 -1
- package/dist/llmock.js +133 -50
- package/dist/llmock.js.map +1 -1
- package/dist/mcp-fakes-mount.cjs +216 -0
- package/dist/mcp-fakes-mount.cjs.map +1 -0
- package/dist/mcp-fakes-mount.js +210 -0
- package/dist/mcp-fakes-mount.js.map +1 -0
- package/dist/mcp-fakes.cjs +1619 -0
- package/dist/mcp-fakes.cjs.map +1 -0
- package/dist/mcp-fakes.d.cts +101 -0
- package/dist/mcp-fakes.d.cts.map +1 -0
- package/dist/mcp-fakes.d.ts +101 -0
- package/dist/mcp-fakes.d.ts.map +1 -0
- package/dist/mcp-fakes.js +1614 -0
- package/dist/mcp-fakes.js.map +1 -0
- package/dist/mcp-handler.cjs +331 -17
- package/dist/mcp-handler.cjs.map +1 -1
- package/dist/mcp-handler.js +330 -18
- package/dist/mcp-handler.js.map +1 -1
- package/dist/mcp-mock.cjs +217 -49
- package/dist/mcp-mock.cjs.map +1 -1
- package/dist/mcp-mock.d.cts +66 -1
- package/dist/mcp-mock.d.cts.map +1 -1
- package/dist/mcp-mock.d.ts +66 -1
- package/dist/mcp-mock.d.ts.map +1 -1
- package/dist/mcp-mock.js +218 -50
- package/dist/mcp-mock.js.map +1 -1
- package/dist/mcp-stub.cjs +5 -1
- package/dist/mcp-stub.d.cts +3 -1
- package/dist/mcp-stub.d.ts +3 -1
- package/dist/mcp-stub.js +3 -1
- package/dist/mcp-types.d.cts +6 -0
- package/dist/mcp-types.d.ts +6 -0
- package/dist/message-text.cjs +192 -0
- package/dist/message-text.cjs.map +1 -0
- package/dist/message-text.d.cts +31 -0
- package/dist/message-text.d.cts.map +1 -0
- package/dist/message-text.d.ts +31 -0
- package/dist/message-text.d.ts.map +1 -0
- package/dist/message-text.js +184 -0
- package/dist/message-text.js.map +1 -0
- package/dist/messages.cjs +49 -7
- package/dist/messages.cjs.map +1 -1
- package/dist/messages.d.cts.map +1 -1
- package/dist/messages.d.ts.map +1 -1
- package/dist/messages.js +51 -9
- package/dist/messages.js.map +1 -1
- package/dist/metrics.cjs +278 -45
- package/dist/metrics.cjs.map +1 -1
- package/dist/metrics.d.cts +17 -7
- package/dist/metrics.d.cts.map +1 -1
- package/dist/metrics.d.ts +17 -7
- package/dist/metrics.d.ts.map +1 -1
- package/dist/metrics.js +270 -29
- package/dist/metrics.js.map +1 -1
- package/dist/moderation.cjs +10 -1
- package/dist/moderation.cjs.map +1 -1
- package/dist/moderation.d.cts.map +1 -1
- package/dist/moderation.d.ts.map +1 -1
- package/dist/moderation.js +10 -1
- package/dist/moderation.js.map +1 -1
- package/dist/ollama.cjs +10 -6
- package/dist/ollama.cjs.map +1 -1
- package/dist/ollama.d.cts.map +1 -1
- package/dist/ollama.d.ts.map +1 -1
- package/dist/ollama.js +11 -7
- package/dist/ollama.js.map +1 -1
- package/dist/openapi.cjs +3405 -0
- package/dist/openapi.cjs.map +1 -0
- package/dist/openapi.d.cts +30 -0
- package/dist/openapi.d.cts.map +1 -0
- package/dist/openapi.d.ts +30 -0
- package/dist/openapi.d.ts.map +1 -0
- package/dist/openapi.js +3404 -0
- package/dist/openapi.js.map +1 -0
- package/dist/openrouter-video.cjs +9 -9
- package/dist/openrouter-video.cjs.map +1 -1
- package/dist/openrouter-video.d.cts.map +1 -1
- package/dist/openrouter-video.d.ts.map +1 -1
- package/dist/openrouter-video.js +10 -10
- package/dist/openrouter-video.js.map +1 -1
- package/dist/recorder.cjs +54 -10
- package/dist/recorder.cjs.map +1 -1
- package/dist/recorder.d.cts.map +1 -1
- package/dist/recorder.d.ts.map +1 -1
- package/dist/recorder.js +52 -12
- package/dist/recorder.js.map +1 -1
- package/dist/responses.cjs +47 -7
- package/dist/responses.cjs.map +1 -1
- package/dist/responses.d.cts.map +1 -1
- package/dist/responses.d.ts.map +1 -1
- package/dist/responses.js +48 -9
- package/dist/responses.js.map +1 -1
- package/dist/route-registry.cjs +951 -0
- package/dist/route-registry.cjs.map +1 -0
- package/dist/route-registry.d.cts +33 -0
- package/dist/route-registry.d.cts.map +1 -0
- package/dist/route-registry.d.ts +33 -0
- package/dist/route-registry.d.ts.map +1 -0
- package/dist/route-registry.js +866 -0
- package/dist/route-registry.js.map +1 -0
- package/dist/router.cjs +21 -34
- package/dist/router.cjs.map +1 -1
- package/dist/router.d.cts +4 -1
- package/dist/router.d.cts.map +1 -1
- package/dist/router.d.ts +4 -1
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +21 -35
- package/dist/router.js.map +1 -1
- package/dist/server.cjs +1252 -777
- package/dist/server.cjs.map +1 -1
- package/dist/server.d.cts +5 -1
- package/dist/server.d.cts.map +1 -1
- package/dist/server.d.ts +5 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +1185 -710
- package/dist/server.js.map +1 -1
- package/dist/speech.cjs +6 -4
- package/dist/speech.cjs.map +1 -1
- package/dist/speech.js +7 -5
- package/dist/speech.js.map +1 -1
- package/dist/suite.cjs +1 -1
- package/dist/suite.js +1 -1
- package/dist/transcription.cjs +6 -6
- package/dist/transcription.cjs.map +1 -1
- package/dist/transcription.d.cts.map +1 -1
- package/dist/transcription.d.ts.map +1 -1
- package/dist/transcription.js +7 -7
- package/dist/transcription.js.map +1 -1
- package/dist/types.cjs +18 -0
- package/dist/types.cjs.map +1 -0
- package/dist/types.d.cts +320 -17
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.ts +320 -17
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +17 -0
- package/dist/types.js.map +1 -0
- package/dist/validate-cli.cjs +983 -0
- package/dist/validate-cli.cjs.map +1 -0
- package/dist/validate-cli.js +982 -0
- package/dist/validate-cli.js.map +1 -0
- package/dist/vector-stores.cjs +1180 -0
- package/dist/vector-stores.cjs.map +1 -0
- package/dist/vector-stores.d.cts +106 -0
- package/dist/vector-stores.d.cts.map +1 -0
- package/dist/vector-stores.d.ts +106 -0
- package/dist/vector-stores.d.ts.map +1 -0
- package/dist/vector-stores.js +1164 -0
- package/dist/vector-stores.js.map +1 -0
- package/dist/vector-types.d.cts.map +1 -1
- package/dist/vector-types.d.ts.map +1 -1
- package/dist/veo-video.cjs +13 -13
- package/dist/veo-video.cjs.map +1 -1
- package/dist/veo-video.js +14 -14
- package/dist/veo-video.js.map +1 -1
- package/dist/video.cjs +23 -4
- package/dist/video.cjs.map +1 -1
- package/dist/video.d.cts +1 -1
- package/dist/video.d.cts.map +1 -1
- package/dist/video.d.ts +1 -1
- package/dist/video.d.ts.map +1 -1
- package/dist/video.js +24 -5
- package/dist/video.js.map +1 -1
- package/dist/vitest.cjs +23 -11
- package/dist/vitest.cjs.map +1 -1
- package/dist/vitest.d.cts +5 -2
- package/dist/vitest.d.cts.map +1 -1
- package/dist/vitest.d.ts +5 -2
- package/dist/vitest.d.ts.map +1 -1
- package/dist/vitest.js +25 -13
- package/dist/vitest.js.map +1 -1
- package/dist/watcher.cjs +2 -1
- package/dist/watcher.cjs.map +1 -1
- package/dist/watcher.js +2 -1
- package/dist/watcher.js.map +1 -1
- package/dist/ws-framing.cjs +150 -35
- package/dist/ws-framing.cjs.map +1 -1
- package/dist/ws-framing.d.cts +18 -3
- package/dist/ws-framing.d.cts.map +1 -1
- package/dist/ws-framing.d.ts +18 -3
- package/dist/ws-framing.d.ts.map +1 -1
- package/dist/ws-framing.js +151 -36
- package/dist/ws-framing.js.map +1 -1
- package/dist/ws-gemini-live.cjs +2 -2
- package/dist/ws-gemini-live.js +2 -2
- package/dist/ws-live.cjs +401 -0
- package/dist/ws-live.cjs.map +1 -0
- package/dist/ws-live.js +400 -0
- package/dist/ws-live.js.map +1 -0
- package/dist/ws-realtime.cjs +46 -2
- package/dist/ws-realtime.cjs.map +1 -1
- package/dist/ws-realtime.d.cts.map +1 -1
- package/dist/ws-realtime.d.ts.map +1 -1
- package/dist/ws-realtime.js +46 -2
- package/dist/ws-realtime.js.map +1 -1
- package/dist/ws-responses.cjs +16 -4
- package/dist/ws-responses.cjs.map +1 -1
- package/dist/ws-responses.js +16 -4
- package/dist/ws-responses.js.map +1 -1
- package/dist/ws-upstream.cjs +118 -0
- package/dist/ws-upstream.cjs.map +1 -0
- package/dist/ws-upstream.js +115 -0
- package/dist/ws-upstream.js.map +1 -0
- package/fixtures/openai-live-client.json +390 -0
- package/fixtures/openai-live-managed.json +709 -0
- package/package.json +4 -1
package/dist/types.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Journal } from "./journal.js";
|
|
2
|
+
import { LiveFixtureResponse, LiveOptions } from "./live-types.js";
|
|
2
3
|
import { Logger } from "./logger.js";
|
|
3
4
|
import { MetricsRegistry } from "./metrics.js";
|
|
5
|
+
import { McpFakeAddOrigin, McpFakeAddResult } from "./mcp-fakes.js";
|
|
4
6
|
import * as http$1 from "node:http";
|
|
5
7
|
import * as net from "node:net";
|
|
6
8
|
|
|
@@ -15,6 +17,23 @@ interface Mountable {
|
|
|
15
17
|
setJournal?(journal: Journal): void;
|
|
16
18
|
setBaseUrl?(url: string): void;
|
|
17
19
|
setRegistry?(registry: MetricsRegistry): void;
|
|
20
|
+
/**
|
|
21
|
+
* MCP fakes. A mount "is an MCPMock" for fakes if and only if it
|
|
22
|
+
* implements `addMcpFakes`. Always appends. `origin` picks the entry-id
|
|
23
|
+
* source and its counter: `file` keeps each block's `source` (`@<k>` load
|
|
24
|
+
* counter); `code` / `control-api` is one run-time addition (`code#<n>` /
|
|
25
|
+
* `control-api#<n>`). Returns the shadowed-entry warnings with the real
|
|
26
|
+
* entry ids. When any block is bad, or the input holds no blocks, throws one
|
|
27
|
+
* `FixtureLoadError` (an `McpFakesAddError` carrying every error found and
|
|
28
|
+
* the warnings) and adds nothing.
|
|
29
|
+
*/
|
|
30
|
+
addMcpFakes?(blocks: McpFakeSource[], origin: McpFakeAddOrigin): McpFakeAddResult;
|
|
31
|
+
/** Unload every fake on this mount. The entry-id counters are kept. */
|
|
32
|
+
clearMcpFakes?(): void;
|
|
33
|
+
/** Reset fake consumption state for one test id, or for all when omitted. */
|
|
34
|
+
resetScenarioState?(testId?: string): void;
|
|
35
|
+
/** Hands an MCP mount a `Logger`. Nothing in the server calls it. */
|
|
36
|
+
setLogger?(logger: Logger): void;
|
|
18
37
|
}
|
|
19
38
|
interface ContentPart {
|
|
20
39
|
type: string;
|
|
@@ -152,7 +171,7 @@ interface FixtureMatch {
|
|
|
152
171
|
* request has no user message, it falls back to scanning the whole conversation.
|
|
153
172
|
*/
|
|
154
173
|
hasToolResult?: boolean;
|
|
155
|
-
endpoint?: "chat" | "image" | "speech" | "transcription" | "translation" | "video" | "embedding" | "audio-gen" | "elevenlabs-tts" | "fal-audio" | "fal" | "realtime" | "realtime-transcription" | "realtime-translation";
|
|
174
|
+
endpoint?: "chat" | "image" | "speech" | "transcription" | "translation" | "video" | "embedding" | "audio-gen" | "elevenlabs-tts" | "elevenlabs-voice-design" | "elevenlabs-voice" | "elevenlabs-voice-get" | "elevenlabs-voice-delete" | "fal-audio" | "fal" | "realtime" | "realtime-transcription" | "realtime-translation" | "openai-live";
|
|
156
175
|
context?: string;
|
|
157
176
|
}
|
|
158
177
|
/**
|
|
@@ -388,6 +407,22 @@ interface ImageResponse {
|
|
|
388
407
|
image?: ImageItem;
|
|
389
408
|
images?: ImageItem[];
|
|
390
409
|
}
|
|
410
|
+
interface VoiceDesignPreview {
|
|
411
|
+
generated_voice_id: string;
|
|
412
|
+
audio_base_64?: string;
|
|
413
|
+
media_type?: string;
|
|
414
|
+
duration_secs?: number;
|
|
415
|
+
language?: string | null;
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* Convenience shape for `LLMock.onElevenLabsVoiceDesign`. Stored as a
|
|
419
|
+
* {@link RawJSONResponse} wrapping `{ previews, text }` — the ElevenLabs
|
|
420
|
+
* `/v1/text-to-voice/design` envelope.
|
|
421
|
+
*/
|
|
422
|
+
interface VoiceDesignResponse {
|
|
423
|
+
previews: VoiceDesignPreview[];
|
|
424
|
+
text?: string;
|
|
425
|
+
}
|
|
391
426
|
interface AudioResponse {
|
|
392
427
|
audio: string | {
|
|
393
428
|
b64Json: string;
|
|
@@ -460,7 +495,7 @@ interface RawJSONResponse extends ResponseOverrides {
|
|
|
460
495
|
*/
|
|
461
496
|
billableUnits?: number;
|
|
462
497
|
}
|
|
463
|
-
type FixtureResponse = TextResponse | ToolCallResponse | ContentWithToolCallsResponse | ErrorResponse | EmbeddingResponse | ImageResponse | AudioResponse | TranscriptionResponse | VideoResponse | RawJSONResponse;
|
|
498
|
+
type FixtureResponse = TextResponse | ToolCallResponse | ContentWithToolCallsResponse | ErrorResponse | EmbeddingResponse | ImageResponse | AudioResponse | TranscriptionResponse | VideoResponse | RawJSONResponse | LiveFixtureResponse;
|
|
464
499
|
interface StreamingProfile {
|
|
465
500
|
ttft?: number;
|
|
466
501
|
tps?: number;
|
|
@@ -479,16 +514,50 @@ interface RecordedTimings {
|
|
|
479
514
|
/**
|
|
480
515
|
* Probabilistic chaos injection rates.
|
|
481
516
|
*
|
|
482
|
-
* Rates are evaluated sequentially per request — drop → malformed →
|
|
483
|
-
* —
|
|
484
|
-
*
|
|
485
|
-
*
|
|
486
|
-
*
|
|
517
|
+
* Rates are evaluated sequentially per request — drop → malformed → rateLimit
|
|
518
|
+
* → disconnect — as four separate draws in that order, and the first draw that
|
|
519
|
+
* hits wins and short-circuits the rest. Each rate is therefore the probability
|
|
520
|
+
* that its OWN draw hits GIVEN that no earlier rate fired, not the share of
|
|
521
|
+
* requests that end in that fault; only `dropRate`, first in the chain, is
|
|
522
|
+
* unconditional. A config of `{ dropRate: 0.5, malformedRate: 0.5 }` yields a
|
|
523
|
+
* ~25 % effective malformed rate, not 50 %, and the same compounding applies to
|
|
524
|
+
* `{ dropRate: 0.5, rateLimitRate: 0.5 }` (~25 % rate limits).
|
|
525
|
+
*/
|
|
526
|
+
/**
|
|
527
|
+
* Probabilistic (and one deterministic) fault injection knobs.
|
|
528
|
+
*
|
|
529
|
+
* VALIDATION — ONE policy, whatever the source. Each field is a finite number
|
|
530
|
+
* in its range: the rates in [0, 1], `latencyMs` in [0, 30000]. A value outside
|
|
531
|
+
* it, or one that is not a number at all (`"0.5abc"`, `"Infinity"`, `NaN`), is
|
|
532
|
+
* REJECTED, never clamped — silent clamping substitutes a fault rate nobody
|
|
533
|
+
* asked for and hides the misconfiguration that produced it.
|
|
534
|
+
*
|
|
535
|
+
* Rejection is reported in the loudest way each source allows, and the three
|
|
536
|
+
* agree: `POST /__aimock/chaos` answers 400, the `--chaos-*` CLI flags refuse
|
|
537
|
+
* to start, and a per-request header or a fixture/server value is refused with
|
|
538
|
+
* a `[chaos]` warning and left unset so the next level of precedence (header >
|
|
539
|
+
* fixture > server) applies.
|
|
487
540
|
*/
|
|
488
541
|
interface ChaosConfig {
|
|
489
542
|
dropRate?: number;
|
|
490
543
|
malformedRate?: number;
|
|
491
544
|
disconnectRate?: number;
|
|
545
|
+
/**
|
|
546
|
+
* Deterministic delay (ms) injected before the request is handled.
|
|
547
|
+
* Applied when > 0 — header > fixture > server precedence, same as rates.
|
|
548
|
+
* Unlike rates it is not probabilistic: a set latency always fires so
|
|
549
|
+
* timeout/retry suites get a stable signal. Must be in [0, 30000]; a value
|
|
550
|
+
* outside that range is rejected, not clamped (see above).
|
|
551
|
+
*/
|
|
552
|
+
latencyMs?: number;
|
|
553
|
+
/**
|
|
554
|
+
* Chance of a 429 rate-limit rejection with `Retry-After`, CONDITIONAL on
|
|
555
|
+
* neither `dropRate` nor `malformedRate` having fired first: it is the third
|
|
556
|
+
* draw in the drop → malformed → rateLimit → disconnect order, and the first
|
|
557
|
+
* hit wins. Paired with a 0.5 `dropRate` a 0.5 `rateLimitRate` produces ~25 %
|
|
558
|
+
* rate limits, not 50 % (see the interface docstring above).
|
|
559
|
+
*/
|
|
560
|
+
rateLimitRate?: number;
|
|
492
561
|
}
|
|
493
562
|
/**
|
|
494
563
|
* Server-level chaos as the handlers see it: a baseline plus per-`X-Test-Id`
|
|
@@ -509,7 +578,28 @@ interface ChaosConfig {
|
|
|
509
578
|
interface ChaosScope {
|
|
510
579
|
/** Server-wide baseline: the construction config, or the untagged override. */
|
|
511
580
|
base?: ChaosConfig;
|
|
512
|
-
/**
|
|
581
|
+
/**
|
|
582
|
+
* Per-testId overrides, consulted INSTEAD OF `base` — never merged over it.
|
|
583
|
+
*
|
|
584
|
+
* An installed override REPLACES the baseline wholesale for that testId: a
|
|
585
|
+
* server started with `--chaos-latency 500` whose test `t1` installs
|
|
586
|
+
* `{ dropRate: 1 }` gives `t1` traffic a drop and NO latency, because
|
|
587
|
+
* `latencyMs` is not restated. To keep a baseline field, restate it in the
|
|
588
|
+
* override body.
|
|
589
|
+
*
|
|
590
|
+
* Replacement — not a field-wise merge — is deliberate, and it is what makes
|
|
591
|
+
* `POST /__aimock/chaos {}` ("explicitly no chaos for my test") different
|
|
592
|
+
* from `DELETE /__aimock/chaos` ("forget I said anything, fall back to the
|
|
593
|
+
* baseline"). Under a merge, `POST {}` would be a no-op and that distinction
|
|
594
|
+
* would collapse. It also matches the untagged case, where an override
|
|
595
|
+
* likewise replaces the construction-time config rather than layering on it.
|
|
596
|
+
*
|
|
597
|
+
* The two chain links ABOVE this one — fixture chaos over server chaos, and
|
|
598
|
+
* request headers over both — DO merge field-wise (see `resolveChaosConfig`).
|
|
599
|
+
* Only the scope lookup replaces, because it selects a config rather than
|
|
600
|
+
* refining one. `GET /__aimock/chaos` with the same testId always reports the
|
|
601
|
+
* config actually in effect for that scope, so the replacement is auditable.
|
|
602
|
+
*/
|
|
513
603
|
byTestId?: ReadonlyMap<string, ChaosConfig>;
|
|
514
604
|
}
|
|
515
605
|
/**
|
|
@@ -518,7 +608,7 @@ interface ChaosScope {
|
|
|
518
608
|
* itself passes a `ChaosScope`.
|
|
519
609
|
*/
|
|
520
610
|
type ChaosDefaults = ChaosConfig | ChaosScope;
|
|
521
|
-
type ChaosAction = "drop" | "malformed" | "disconnect";
|
|
611
|
+
type ChaosAction = "drop" | "malformed" | "rateLimit" | "disconnect";
|
|
522
612
|
type ResponseFactory = (req: ChatCompletionRequest) => FixtureResponse | Promise<FixtureResponse>;
|
|
523
613
|
interface Fixture {
|
|
524
614
|
match: FixtureMatch;
|
|
@@ -621,7 +711,7 @@ interface FixtureFileContentWithToolCallsResponse extends ResponseOverrides {
|
|
|
621
711
|
redactedThinking?: string[];
|
|
622
712
|
webSearches?: string[];
|
|
623
713
|
}
|
|
624
|
-
type FixtureFileResponse = FixtureFileTextResponse | FixtureFileToolCallResponse | FixtureFileContentWithToolCallsResponse | ErrorResponse | EmbeddingResponse | ImageResponse | AudioResponse | TranscriptionResponse | VideoResponse | RawJSONResponse;
|
|
714
|
+
type FixtureFileResponse = FixtureFileTextResponse | FixtureFileToolCallResponse | FixtureFileContentWithToolCallsResponse | ErrorResponse | EmbeddingResponse | ImageResponse | AudioResponse | TranscriptionResponse | VideoResponse | RawJSONResponse | LiveFixtureResponse;
|
|
625
715
|
interface FixtureFile {
|
|
626
716
|
fixtures: FixtureFileEntry[];
|
|
627
717
|
}
|
|
@@ -654,7 +744,7 @@ interface FixtureFileEntry {
|
|
|
654
744
|
* `FixtureMatch.hasToolResult`.
|
|
655
745
|
*/
|
|
656
746
|
hasToolResult?: boolean;
|
|
657
|
-
endpoint?: "chat" | "image" | "speech" | "transcription" | "translation" | "video" | "embedding" | "audio-gen" | "elevenlabs-tts" | "fal-audio" | "fal" | "realtime" | "realtime-transcription" | "realtime-translation";
|
|
747
|
+
endpoint?: "chat" | "image" | "speech" | "transcription" | "translation" | "video" | "embedding" | "audio-gen" | "elevenlabs-tts" | "elevenlabs-voice-design" | "elevenlabs-voice" | "elevenlabs-voice-get" | "elevenlabs-voice-delete" | "fal-audio" | "fal" | "realtime" | "realtime-transcription" | "realtime-translation" | "openai-live";
|
|
658
748
|
context?: string;
|
|
659
749
|
};
|
|
660
750
|
response: FixtureFileResponse;
|
|
@@ -673,17 +763,51 @@ interface FixtureFileEntry {
|
|
|
673
763
|
toolsHash?: string;
|
|
674
764
|
};
|
|
675
765
|
}
|
|
766
|
+
/**
|
|
767
|
+
* A recorded request body.
|
|
768
|
+
*
|
|
769
|
+
* Most journal entries carry a chat-completion request, but every service
|
|
770
|
+
* journals through one entry type and several of them record a body that is
|
|
771
|
+
* not one: the fine-tuning create payload is recorded verbatim so the journal
|
|
772
|
+
* reports what the caller actually sent, and the journal's own size cap
|
|
773
|
+
* substitutes a truncation marker for an oversized body. Neither shape has a
|
|
774
|
+
* `model`/`messages` pair, so typing the field as `ChatCompletionRequest`
|
|
775
|
+
* alone forces those writers through a cast that claims fields that are not
|
|
776
|
+
* there — the second member exists so they do not have to lie.
|
|
777
|
+
*
|
|
778
|
+
* TypeScript collapses the two for ASSIGNMENT (`ChatCompletionRequest` has an
|
|
779
|
+
* index signature, so it is itself a `Record<string, unknown>`); the union is
|
|
780
|
+
* kept two-membered because it is what the field means, not because it narrows
|
|
781
|
+
* anything. For READING, treat the body as opaque JSON — that is already how
|
|
782
|
+
* every consumer uses it (the journal cap re-serializes it, `GET
|
|
783
|
+
* /__aimock/journal` hands it back) — and property-check before reaching for a
|
|
784
|
+
* chat-request field.
|
|
785
|
+
*/
|
|
786
|
+
type JournalBody = ChatCompletionRequest | Record<string, unknown>;
|
|
676
787
|
interface JournalEntry {
|
|
677
788
|
id: string;
|
|
678
789
|
timestamp: number;
|
|
679
790
|
method: string;
|
|
680
791
|
path: string;
|
|
681
792
|
headers: Record<string, string>;
|
|
682
|
-
body:
|
|
793
|
+
body: JournalBody | null;
|
|
683
794
|
service?: string;
|
|
795
|
+
/**
|
|
796
|
+
* Resolved test id of an MCP request (`"__default__"` when none), for an
|
|
797
|
+
* MCP mount to set. Journal test-id filtering does not read it: it
|
|
798
|
+
* re-derives the id from the headers and path (`journalEntryTestId`).
|
|
799
|
+
*/
|
|
800
|
+
testId?: string;
|
|
801
|
+
/** Resolved context of an MCP request, `null` when none; for an MCP mount to set. */
|
|
802
|
+
context?: string | null;
|
|
684
803
|
response: {
|
|
685
804
|
status: number;
|
|
686
805
|
fixture: Fixture | null;
|
|
806
|
+
/** For an MCP mount to set on `tools/call` entries a fake answered or failed. */
|
|
807
|
+
mcpFake?: {
|
|
808
|
+
id: string | null;
|
|
809
|
+
outcome: McpFakeOutcome;
|
|
810
|
+
};
|
|
687
811
|
/**
|
|
688
812
|
* What was going to serve this request. "fixture" = a fixture matched (or
|
|
689
813
|
* would have, before chaos intervened). "proxy" = no fixture matched and
|
|
@@ -692,13 +816,22 @@ interface JournalEntry {
|
|
|
692
816
|
* configured proxy: chaos-path entries (e.g. chaos on the OpenRouter
|
|
693
817
|
* video lifecycle endpoints; in REPLAY mode their normal 200/400/401/404
|
|
694
818
|
* entries omit source, while record-mode 200s on those endpoints carry
|
|
695
|
-
* source:"proxy")
|
|
696
|
-
*
|
|
697
|
-
*
|
|
819
|
+
* source:"proxy"), the OpenRouter video models listing synthesized as the
|
|
820
|
+
* fallback after a FAILED proxy attempt, and the services whose responses
|
|
821
|
+
* are synthesized outright — every fine-tuning entry carries it, success
|
|
822
|
+
* and error alike, since that store is aimock's own and no fixture or
|
|
823
|
+
* proxy ever serves it. Absent when the distinction doesn't apply
|
|
824
|
+
* (e.g. 404/503 fallback where nothing was going to serve).
|
|
698
825
|
*/
|
|
699
826
|
source?: "fixture" | "proxy" | "internal";
|
|
700
827
|
interrupted?: boolean;
|
|
701
828
|
interruptReason?: string;
|
|
829
|
+
/**
|
|
830
|
+
* The handler crashed AFTER the response completed. The client received
|
|
831
|
+
* `status` in full, so this is not an interruption; the message is what
|
|
832
|
+
* the crash said.
|
|
833
|
+
*/
|
|
834
|
+
error?: string;
|
|
702
835
|
chaosAction?: ChaosAction;
|
|
703
836
|
/** When the X-AIMock-Strict header overrode the server default. */
|
|
704
837
|
strictOverride?: boolean;
|
|
@@ -938,6 +1071,7 @@ interface FalRecordConfig {
|
|
|
938
1071
|
timeoutMs?: number;
|
|
939
1072
|
}
|
|
940
1073
|
interface MockServerOptions {
|
|
1074
|
+
live?: LiveOptions;
|
|
941
1075
|
/** Optional inbound test-client access keys. Omit to preserve permissive behavior. */
|
|
942
1076
|
auth?: ApiKeyAuthConfig;
|
|
943
1077
|
port?: number;
|
|
@@ -1097,7 +1231,176 @@ interface HandlerDefaults {
|
|
|
1097
1231
|
*/
|
|
1098
1232
|
bytePlusVideo?: FalQueueConfig;
|
|
1099
1233
|
}
|
|
1100
|
-
|
|
1234
|
+
/**
|
|
1235
|
+
* Block scope: `"shared"`, or exact test id and/or context (at least one;
|
|
1236
|
+
* `{}` is not a scope). Readonly: validated scopes are frozen.
|
|
1237
|
+
*/
|
|
1238
|
+
type McpFakeScope = "shared" | Readonly<{
|
|
1239
|
+
testId: string;
|
|
1240
|
+
context?: string;
|
|
1241
|
+
}> | Readonly<{
|
|
1242
|
+
testId?: string;
|
|
1243
|
+
context: string;
|
|
1244
|
+
}>;
|
|
1245
|
+
/**
|
|
1246
|
+
* `T` with every nested property and array read-only: the type of a value the
|
|
1247
|
+
* MCP fakes store deep-freezes before it hands it out.
|
|
1248
|
+
*/
|
|
1249
|
+
type McpFakeDeepReadonly<T> = T extends ((...args: never[]) => unknown) ? T : T extends object ? { readonly [K in keyof T]: McpFakeDeepReadonly<T[K]> } : T;
|
|
1250
|
+
/** MCP `Annotations` on a content block. */
|
|
1251
|
+
interface McpFakeAnnotations {
|
|
1252
|
+
audience?: Array<"user" | "assistant">;
|
|
1253
|
+
/** From 0 (least) to 1 (most important). */
|
|
1254
|
+
priority?: number;
|
|
1255
|
+
/** RFC 3339 date-time with seconds and a `Z` or `±hh:mm` offset. */
|
|
1256
|
+
lastModified?: string;
|
|
1257
|
+
}
|
|
1258
|
+
/** MCP `Icon` on a `resource_link` content block. */
|
|
1259
|
+
interface McpFakeIcon {
|
|
1260
|
+
src: string;
|
|
1261
|
+
mimeType?: string;
|
|
1262
|
+
sizes?: string[];
|
|
1263
|
+
theme?: "light" | "dark";
|
|
1264
|
+
}
|
|
1265
|
+
/** MCP `TextResourceContents` / `BlobResourceContents`: exactly one of `text` / `blob`. */
|
|
1266
|
+
type McpFakeResourceContents = {
|
|
1267
|
+
uri: string;
|
|
1268
|
+
mimeType?: string;
|
|
1269
|
+
_meta?: Record<string, unknown>;
|
|
1270
|
+
} & ({
|
|
1271
|
+
text: string;
|
|
1272
|
+
blob?: never;
|
|
1273
|
+
} | {
|
|
1274
|
+
blob: string;
|
|
1275
|
+
text?: never;
|
|
1276
|
+
});
|
|
1277
|
+
type McpFakeContentCommon = {
|
|
1278
|
+
annotations?: McpFakeAnnotations;
|
|
1279
|
+
_meta?: Record<string, unknown>;
|
|
1280
|
+
};
|
|
1281
|
+
/** One MCP content block of a tool result (`ContentBlock`); `data` and `blob` are base64. */
|
|
1282
|
+
type McpFakeContentBlock = McpFakeContentCommon & ({
|
|
1283
|
+
type: "text";
|
|
1284
|
+
text: string;
|
|
1285
|
+
} | {
|
|
1286
|
+
type: "image";
|
|
1287
|
+
data: string;
|
|
1288
|
+
mimeType: string;
|
|
1289
|
+
} | {
|
|
1290
|
+
type: "audio";
|
|
1291
|
+
data: string;
|
|
1292
|
+
mimeType: string;
|
|
1293
|
+
} | {
|
|
1294
|
+
type: "resource_link";
|
|
1295
|
+
uri: string;
|
|
1296
|
+
name: string;
|
|
1297
|
+
title?: string;
|
|
1298
|
+
description?: string;
|
|
1299
|
+
mimeType?: string;
|
|
1300
|
+
size?: number;
|
|
1301
|
+
icons?: McpFakeIcon[];
|
|
1302
|
+
} | {
|
|
1303
|
+
type: "resource";
|
|
1304
|
+
resource: McpFakeResourceContents;
|
|
1305
|
+
});
|
|
1306
|
+
/** A full MCP `CallToolResult`, served unchanged. No other keys. */
|
|
1307
|
+
interface McpFakeFullResult {
|
|
1308
|
+
content: McpFakeContentBlock[];
|
|
1309
|
+
isError?: boolean;
|
|
1310
|
+
structuredContent?: Record<string, unknown>;
|
|
1311
|
+
_meta?: Record<string, unknown>;
|
|
1312
|
+
}
|
|
1313
|
+
/**
|
|
1314
|
+
* Structured data: any JSON object without the `CallToolResult`
|
|
1315
|
+
* keys, served as text plus `structuredContent`.
|
|
1316
|
+
*/
|
|
1317
|
+
type McpFakeStructuredResult = Record<string, unknown> & {
|
|
1318
|
+
content?: never;
|
|
1319
|
+
isError?: never;
|
|
1320
|
+
structuredContent?: never;
|
|
1321
|
+
_meta?: never;
|
|
1322
|
+
};
|
|
1323
|
+
/**
|
|
1324
|
+
* A call entry's `result` value. Validation also checks what the type cannot
|
|
1325
|
+
* say: base64 `data` / `blob`, `priority` from 0 to 1, the `lastModified`
|
|
1326
|
+
* format, and plain JSON throughout. Unknown keys inside a content item are
|
|
1327
|
+
* allowed and served as given.
|
|
1328
|
+
*/
|
|
1329
|
+
type McpFakeResult = string | McpFakeContentBlock[] | McpFakeFullResult | McpFakeStructuredResult;
|
|
1330
|
+
/** How a call entry matches: exactly one of `args` / `anyArgs`. */
|
|
1331
|
+
type McpFakeCallMatch = {
|
|
1332
|
+
args: Record<string, unknown>;
|
|
1333
|
+
anyArgs?: never;
|
|
1334
|
+
} | {
|
|
1335
|
+
anyArgs: true;
|
|
1336
|
+
args?: never;
|
|
1337
|
+
};
|
|
1338
|
+
/** What a call entry answers: exactly one of `result` / `error`. */
|
|
1339
|
+
type McpFakeCallAnswer = {
|
|
1340
|
+
result: McpFakeResult;
|
|
1341
|
+
error?: never;
|
|
1342
|
+
} | {
|
|
1343
|
+
error: string;
|
|
1344
|
+
result?: never;
|
|
1345
|
+
};
|
|
1346
|
+
/** One ordered answer for a tool. */
|
|
1347
|
+
type McpFakeCall = McpFakeCallMatch & McpFakeCallAnswer & {
|
|
1348
|
+
id?: string;
|
|
1349
|
+
};
|
|
1350
|
+
/** One faked tool in a block. */
|
|
1351
|
+
interface McpFakeTool {
|
|
1352
|
+
name: string;
|
|
1353
|
+
description?: string;
|
|
1354
|
+
inputSchema?: Record<string, unknown>;
|
|
1355
|
+
calls: McpFakeCall[];
|
|
1356
|
+
}
|
|
1357
|
+
/** One `mcpFakes` block. */
|
|
1358
|
+
interface McpFakeBlock {
|
|
1359
|
+
scope: McpFakeScope;
|
|
1360
|
+
mount?: string;
|
|
1361
|
+
undeclaredTools?: McpFakeUndeclaredPolicy;
|
|
1362
|
+
tools: McpFakeTool[];
|
|
1363
|
+
}
|
|
1364
|
+
type McpFakeUndeclaredPolicy = "allow" | "deny";
|
|
1365
|
+
/**
|
|
1366
|
+
* The resolved identity of one MCP request: test id, context and undeclared
|
|
1367
|
+
* override, each from the request or else from the session.
|
|
1368
|
+
* `null` means "not supplied". The identity shape the fake store's matching
|
|
1369
|
+
* methods take (`applicable`, `selectTier`, `claim`, `policy`, `declaredTools`,
|
|
1370
|
+
* `listTools`).
|
|
1371
|
+
*/
|
|
1372
|
+
interface McpFakeIdentity {
|
|
1373
|
+
testId: string | null;
|
|
1374
|
+
context: string | null;
|
|
1375
|
+
undeclared: McpFakeUndeclaredPolicy | null;
|
|
1376
|
+
}
|
|
1377
|
+
/**
|
|
1378
|
+
* One raw block as a loader hands it off, before validation. `source` is the
|
|
1379
|
+
* entry-id source string; `blockIndex` is `null` when `mcpFakes` is a single object.
|
|
1380
|
+
*/
|
|
1381
|
+
interface McpFakeSource {
|
|
1382
|
+
source: string;
|
|
1383
|
+
blockIndex: number | null;
|
|
1384
|
+
raw: unknown;
|
|
1385
|
+
}
|
|
1386
|
+
/**
|
|
1387
|
+
* `response.mcpFake.outcome` on a `tools/call` journal entry. `evicted`:
|
|
1388
|
+
* the request's test id lost its consumption state to the FIFO test-id cap.
|
|
1389
|
+
*/
|
|
1390
|
+
type McpFakeOutcome = "answered" | "mismatch" | "exhausted" | "not_declared" | "evicted";
|
|
1391
|
+
/**
|
|
1392
|
+
* JSON-RPC error codes of the four fake failures, keyed by
|
|
1393
|
+
* `error.data.aimock.code`. `-31010` and `-31011` sit outside the JSON-RPC
|
|
1394
|
+
* reserved range. `MCP_FAKE_EVICTED` is for a lookup of a declared tool by a
|
|
1395
|
+
* test id whose state the FIFO test-id cap evicted, until it is reset.
|
|
1396
|
+
*/
|
|
1397
|
+
declare const MCP_FAKE_ERROR_CODES: {
|
|
1398
|
+
readonly MCP_FAKE_NOT_DECLARED: -32602;
|
|
1399
|
+
readonly MCP_FAKE_MISMATCH: -32602;
|
|
1400
|
+
readonly MCP_FAKE_EXHAUSTED: -31010;
|
|
1401
|
+
readonly MCP_FAKE_EVICTED: -31011;
|
|
1402
|
+
};
|
|
1403
|
+
type McpFakeErrorCode = keyof typeof MCP_FAKE_ERROR_CODES;
|
|
1101
1404
|
//#endregion
|
|
1102
|
-
export { ApiKeyAuthConfig, AudioResponse, ChaosAction, ChaosConfig, ChaosDefaults, ChatCompletion, ChatCompletionChoice, ChatCompletionMessage, ChatCompletionRequest, ChatMessage, ContentPart, ContentWithToolCallsResponse, EmbeddingFixtureOpts, EmbeddingResponse, ErrorResponse, FalQueueOpts, Fixture, FixtureBlock, FixtureFile, FixtureFileBlock, FixtureFileContentWithToolCallsResponse, FixtureFileEntry, FixtureFileResponse, FixtureFileTextResponse, FixtureFileToolCall, FixtureFileToolCallResponse, FixtureMatch, FixtureOpts, FixtureResponse, HandlerDefaults, ImageItem, ImageResponse, JournalEntry, MockServerOptions, Mountable, RawJSONResponse, RecordConfig, RecordProviderKey, RecordedTimings, ResponseFactory, ResponseOverrides, SSEChoice, SSEChunk, SSEDelta, SSEToolCallDelta, StreamingProfile, TextResponse, ToolCall, ToolCallMessage, ToolCallResponse, ToolDefinition, TranscriptionResponse, VideoResponse };
|
|
1405
|
+
export { ApiKeyAuthConfig, AudioResponse, ChaosAction, ChaosConfig, ChaosDefaults, ChatCompletion, ChatCompletionChoice, ChatCompletionMessage, ChatCompletionRequest, ChatMessage, ContentPart, ContentWithToolCallsResponse, EmbeddingFixtureOpts, EmbeddingResponse, ErrorResponse, FalQueueOpts, Fixture, FixtureBlock, FixtureFile, FixtureFileBlock, FixtureFileContentWithToolCallsResponse, FixtureFileEntry, FixtureFileResponse, FixtureFileTextResponse, FixtureFileToolCall, FixtureFileToolCallResponse, FixtureMatch, FixtureOpts, FixtureResponse, HandlerDefaults, ImageItem, ImageResponse, JournalBody, JournalEntry, MCP_FAKE_ERROR_CODES, McpFakeAnnotations, McpFakeBlock, McpFakeCall, McpFakeCallAnswer, McpFakeCallMatch, McpFakeContentBlock, McpFakeDeepReadonly, McpFakeErrorCode, McpFakeFullResult, McpFakeIcon, McpFakeIdentity, McpFakeOutcome, McpFakeResourceContents, McpFakeResult, McpFakeScope, McpFakeSource, McpFakeStructuredResult, McpFakeTool, McpFakeUndeclaredPolicy, MockServerOptions, Mountable, RawJSONResponse, RecordConfig, RecordProviderKey, RecordedTimings, ResponseFactory, ResponseOverrides, SSEChoice, SSEChunk, SSEDelta, SSEToolCallDelta, StreamingProfile, TextResponse, ToolCall, ToolCallMessage, ToolCallResponse, ToolDefinition, TranscriptionResponse, VideoResponse, VoiceDesignPreview, VoiceDesignResponse };
|
|
1103
1406
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","names":[],"sources":["../src/types.ts"],"sourcesContent":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":[],"sources":["../src/types.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//#region src/types.ts
|
|
2
|
+
/**
|
|
3
|
+
* JSON-RPC error codes of the four fake failures, keyed by
|
|
4
|
+
* `error.data.aimock.code`. `-31010` and `-31011` sit outside the JSON-RPC
|
|
5
|
+
* reserved range. `MCP_FAKE_EVICTED` is for a lookup of a declared tool by a
|
|
6
|
+
* test id whose state the FIFO test-id cap evicted, until it is reset.
|
|
7
|
+
*/
|
|
8
|
+
const MCP_FAKE_ERROR_CODES = {
|
|
9
|
+
MCP_FAKE_NOT_DECLARED: -32602,
|
|
10
|
+
MCP_FAKE_MISMATCH: -32602,
|
|
11
|
+
MCP_FAKE_EXHAUSTED: -31010,
|
|
12
|
+
MCP_FAKE_EVICTED: -31011
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
//#endregion
|
|
16
|
+
export { MCP_FAKE_ERROR_CODES };
|
|
17
|
+
//# sourceMappingURL=types.js.map
|