@mooloo-ai/eutaxy 0.0.0-stage → 0.2.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.
Files changed (42) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +16 -2
  3. package/dist/aws.d.mts +15464 -0
  4. package/dist/aws.d.mts.map +1 -0
  5. package/dist/aws.mjs +24057 -0
  6. package/dist/aws.mjs.map +1 -0
  7. package/dist/bin.d.mts +1 -0
  8. package/dist/bin.mjs +17 -0
  9. package/dist/bin.mjs.map +1 -0
  10. package/dist/checksum-DhS6ofSm.mjs +6049 -0
  11. package/dist/checksum-DhS6ofSm.mjs.map +1 -0
  12. package/dist/cli-DnPkIL8h.mjs +2 -0
  13. package/dist/cli.d.mts +8 -0
  14. package/dist/cli.d.mts.map +1 -0
  15. package/dist/cli.mjs +2 -0
  16. package/dist/cloudflare.d.mts +141 -0
  17. package/dist/cloudflare.d.mts.map +1 -0
  18. package/dist/cloudflare.mjs +847 -0
  19. package/dist/cloudflare.mjs.map +1 -0
  20. package/dist/es5-DtZuPEgt.mjs +1721 -0
  21. package/dist/es5-DtZuPEgt.mjs.map +1 -0
  22. package/dist/event-streams-BANyO9xt.mjs +801 -0
  23. package/dist/event-streams-BANyO9xt.mjs.map +1 -0
  24. package/dist/explore-C5fDFOoY.d.mts +63 -0
  25. package/dist/explore-C5fDFOoY.d.mts.map +1 -0
  26. package/dist/index.d.mts +24 -0
  27. package/dist/index.d.mts.map +1 -0
  28. package/dist/index.mjs +5 -0
  29. package/dist/platform-CGVkTa16.d.mts +267 -0
  30. package/dist/platform-CGVkTa16.d.mts.map +1 -0
  31. package/dist/rolldown-runtime-C1I3wEg2.mjs +43 -0
  32. package/dist/src-B66we2mG.mjs +311 -0
  33. package/dist/src-B66we2mG.mjs.map +1 -0
  34. package/dist/src-BP6Iqc_9.mjs +117 -0
  35. package/dist/src-BP6Iqc_9.mjs.map +1 -0
  36. package/dist/src-BrCsF5RZ.mjs +1286 -0
  37. package/dist/src-BrCsF5RZ.mjs.map +1 -0
  38. package/dist/src-s6uYyC0B.mjs +89 -0
  39. package/dist/src-s6uYyC0B.mjs.map +1 -0
  40. package/dist/verdict-evEM5Gxx.mjs +12 -0
  41. package/dist/verdict-evEM5Gxx.mjs.map +1 -0
  42. package/package.json +76 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-streams-BANyO9xt.mjs","names":["Crc32","Crc32","EventStreamMarshaller","UniversalEventStreamMarshaller"],"sources":["../../../node_modules/.pnpm/@smithy+core@3.36.2/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/Int64.js","../../../node_modules/.pnpm/@smithy+core@3.36.2/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/HeaderMarshaller.js","../../../node_modules/.pnpm/@smithy+core@3.36.2/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/splitMessage.js","../../../node_modules/.pnpm/@smithy+core@3.36.2/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/EventStreamCodec.js","../../../node_modules/.pnpm/@smithy+core@3.36.2/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/MessageDecoderStream.js","../../../node_modules/.pnpm/@smithy+core@3.36.2/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/MessageEncoderStream.js","../../../node_modules/.pnpm/@smithy+core@3.36.2/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/SmithyMessageDecoderStream.js","../../../node_modules/.pnpm/@smithy+core@3.36.2/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/SmithyMessageEncoderStream.js","../../../node_modules/.pnpm/@smithy+core@3.36.2/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-universal/getChunkedStream.js","../../../node_modules/.pnpm/@smithy+core@3.36.2/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-universal/getUnmarshalledStream.js","../../../node_modules/.pnpm/@smithy+core@3.36.2/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-universal/EventStreamMarshaller.js","../../../node_modules/.pnpm/@smithy+core@3.36.2/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde/EventStreamMarshaller.js","../../../node_modules/.pnpm/@smithy+core@3.36.2/node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js","../../../node_modules/.pnpm/@smithy+core@3.36.2/node_modules/@smithy/core/dist-es/submodules/event-streams/index.js"],"sourcesContent":["import { toHex } from \"@smithy/core/serde\";\nexport class Int64 {\n bytes;\n constructor(bytes) {\n this.bytes = bytes;\n if (bytes.byteLength !== 8) {\n throw new Error(\"Int64 buffers must be exactly 8 bytes\");\n }\n }\n static fromNumber(number) {\n if (number > 9_223_372_036_854_775_807 || number < -9_223_372_036_854_775_808) {\n throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);\n }\n const bytes = new Uint8Array(8);\n for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\n bytes[i] = remaining;\n }\n if (number < 0) {\n negate(bytes);\n }\n return new Int64(bytes);\n }\n valueOf() {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 0b10000000;\n if (negative) {\n negate(bytes);\n }\n return parseInt(toHex(bytes), 16) * (negative ? -1 : 1);\n }\n toString() {\n return String(this.valueOf());\n }\n}\nfunction negate(bytes) {\n for (let i = 0; i < 8; i++) {\n bytes[i] ^= 0xff;\n }\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0)\n break;\n }\n}\n","import { hasOwn } from \"@smithy/core/transport\";\nimport { fromHex, toHex } from \"@smithy/core/serde\";\nimport { Int64 } from \"./Int64\";\nexport class HeaderMarshaller {\n toUtf8;\n fromUtf8;\n constructor(toUtf8, fromUtf8) {\n this.toUtf8 = toUtf8;\n this.fromUtf8 = fromUtf8;\n }\n format(headers) {\n const chunks = [];\n for (const headerName in headers) {\n if (!hasOwn(headers, headerName))\n continue;\n const bytes = this.fromUtf8(headerName);\n if (bytes.byteLength > 255) {\n throw new Error(`@smithy/core/event-streams - header name exceeds 255 bytes: ${bytes.byteLength}`);\n }\n chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));\n }\n const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));\n let position = 0;\n for (const chunk of chunks) {\n out.set(chunk, position);\n position += chunk.byteLength;\n }\n return out;\n }\n formatHeaderValue(header) {\n switch (header.type) {\n case \"boolean\":\n return Uint8Array.from([header.value ? 0 : 1]);\n case \"byte\":\n return Uint8Array.from([2, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, 3);\n shortView.setInt16(1, header.value, false);\n return new Uint8Array(shortView.buffer);\n case \"integer\":\n const intView = new DataView(new ArrayBuffer(5));\n intView.setUint8(0, 4);\n intView.setInt32(1, header.value, false);\n return new Uint8Array(intView.buffer);\n case \"long\":\n const longBytes = new Uint8Array(9);\n longBytes[0] = 5;\n longBytes.set(header.value.bytes, 1);\n return longBytes;\n case \"binary\":\n if (header.value.byteLength > MAX_HEADER_VALUE_BYTES) {\n throw new Error(`@smithy/core/event-streams - header value (binary) exceeds ${MAX_HEADER_VALUE_BYTES} bytes: ${header.value.byteLength}`);\n }\n const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));\n binView.setUint8(0, 6);\n binView.setUint16(1, header.value.byteLength, false);\n const binBytes = new Uint8Array(binView.buffer);\n binBytes.set(header.value, 3);\n return binBytes;\n case \"string\":\n const utf8Bytes = this.fromUtf8(header.value);\n if (utf8Bytes.byteLength > MAX_HEADER_VALUE_BYTES) {\n throw new Error(`@smithy/core/event-streams - header value (string) exceeds ${MAX_HEADER_VALUE_BYTES} bytes: ${utf8Bytes.byteLength}`);\n }\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, 7);\n strView.setUint16(1, utf8Bytes.byteLength, false);\n const strBytes = new Uint8Array(strView.buffer);\n strBytes.set(utf8Bytes, 3);\n return strBytes;\n case \"timestamp\":\n const tsBytes = new Uint8Array(9);\n tsBytes[0] = 8;\n tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);\n return tsBytes;\n case \"uuid\":\n if (!UUID_PATTERN.test(header.value)) {\n throw new Error(`Invalid UUID received: ${header.value}`);\n }\n const uuidBytes = new Uint8Array(17);\n uuidBytes[0] = 9;\n uuidBytes.set(fromHex(header.value.replace(/-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n parse(headers) {\n const out = {};\n let position = 0;\n while (position < headers.byteLength) {\n const nameLength = headers.getUint8(position++);\n const name = this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, nameLength));\n position += nameLength;\n switch (headers.getUint8(position++)) {\n case 0:\n out[name] = {\n type: BOOLEAN_TAG,\n value: true,\n };\n break;\n case 1:\n out[name] = {\n type: BOOLEAN_TAG,\n value: false,\n };\n break;\n case 2:\n out[name] = {\n type: BYTE_TAG,\n value: headers.getInt8(position++),\n };\n break;\n case 3:\n out[name] = {\n type: SHORT_TAG,\n value: headers.getInt16(position, false),\n };\n position += 2;\n break;\n case 4:\n out[name] = {\n type: INT_TAG,\n value: headers.getInt32(position, false),\n };\n position += 4;\n break;\n case 5:\n out[name] = {\n type: LONG_TAG,\n value: new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)),\n };\n position += 8;\n break;\n case 6:\n const binaryLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: BINARY_TAG,\n value: new Uint8Array(headers.buffer, headers.byteOffset + position, binaryLength),\n };\n position += binaryLength;\n break;\n case 7:\n const stringLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: STRING_TAG,\n value: this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, stringLength)),\n };\n position += stringLength;\n break;\n case 8:\n out[name] = {\n type: TIMESTAMP_TAG,\n value: new Date(new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)).valueOf()),\n };\n position += 8;\n break;\n case 9:\n const uuidBytes = new Uint8Array(headers.buffer, headers.byteOffset + position, 16);\n position += 16;\n out[name] = {\n type: UUID_TAG,\n value: `${toHex(uuidBytes.subarray(0, 4))}-${toHex(uuidBytes.subarray(4, 6))}-${toHex(uuidBytes.subarray(6, 8))}-${toHex(uuidBytes.subarray(8, 10))}-${toHex(uuidBytes.subarray(10))}`,\n };\n break;\n default:\n throw new Error(`Unrecognized header type tag`);\n }\n }\n return out;\n }\n}\nvar HEADER_VALUE_TYPE;\n(function (HEADER_VALUE_TYPE) {\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolTrue\"] = 0] = \"boolTrue\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolFalse\"] = 1] = \"boolFalse\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byte\"] = 2] = \"byte\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"short\"] = 3] = \"short\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"integer\"] = 4] = \"integer\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"long\"] = 5] = \"long\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byteArray\"] = 6] = \"byteArray\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"string\"] = 7] = \"string\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"timestamp\"] = 8] = \"timestamp\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"uuid\"] = 9] = \"uuid\";\n})(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));\nconst BOOLEAN_TAG = \"boolean\";\nconst BYTE_TAG = \"byte\";\nconst SHORT_TAG = \"short\";\nconst INT_TAG = \"integer\";\nconst LONG_TAG = \"long\";\nconst BINARY_TAG = \"binary\";\nconst STRING_TAG = \"string\";\nconst TIMESTAMP_TAG = \"timestamp\";\nconst UUID_TAG = \"uuid\";\nconst UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\nconst MAX_HEADER_VALUE_BYTES = 32767;\n","import { Crc32 } from \"@smithy/core/checksum\";\nconst PRELUDE_MEMBER_LENGTH = 4;\nconst PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2;\nconst CHECKSUM_LENGTH = 4;\nconst MINIMUM_MESSAGE_LENGTH = PRELUDE_LENGTH + CHECKSUM_LENGTH * 2;\nexport function splitMessage({ byteLength, byteOffset, buffer }) {\n if (byteLength < MINIMUM_MESSAGE_LENGTH) {\n throw new Error(\"Provided message too short to accommodate event stream message overhead\");\n }\n const view = new DataView(buffer, byteOffset, byteLength);\n const messageLength = view.getUint32(0, false);\n if (byteLength !== messageLength) {\n throw new Error(\"Reported message length does not match received message length\");\n }\n const headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false);\n const expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false);\n const expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false);\n const checksummer = new Crc32();\n checksummer.update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH));\n if (expectedPreludeChecksum !== checksummer.digestSync()) {\n throw new Error(`The prelude checksum specified in the message (${expectedPreludeChecksum}) does not match the calculated CRC32 checksum (${checksummer.digestSync()})`);\n }\n checksummer.update(new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH, byteLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH)));\n if (expectedMessageChecksum !== checksummer.digestSync()) {\n throw new Error(`The message checksum (${checksummer.digestSync()}) did not match the expected value of ${expectedMessageChecksum}`);\n }\n return {\n headers: new DataView(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH, headerLength),\n body: new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH + headerLength, messageLength - headerLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH + CHECKSUM_LENGTH)),\n };\n}\n","import { Crc32 } from \"@smithy/core/checksum\";\nimport { HeaderMarshaller } from \"./HeaderMarshaller\";\nimport { splitMessage } from \"./splitMessage\";\nexport class EventStreamCodec {\n headerMarshaller;\n messageBuffer;\n isEndOfStream;\n constructor(toUtf8, fromUtf8) {\n this.headerMarshaller = new HeaderMarshaller(toUtf8, fromUtf8);\n this.messageBuffer = [];\n this.isEndOfStream = false;\n }\n feed(message) {\n this.messageBuffer.push(this.decode(message));\n }\n endOfStream() {\n this.isEndOfStream = true;\n }\n getMessage() {\n const message = this.messageBuffer.pop();\n const isEndOfStream = this.isEndOfStream;\n return {\n getMessage() {\n return message;\n },\n isEndOfStream() {\n return isEndOfStream;\n },\n };\n }\n getAvailableMessages() {\n const messages = this.messageBuffer;\n this.messageBuffer = [];\n const isEndOfStream = this.isEndOfStream;\n return {\n getMessages() {\n return messages;\n },\n isEndOfStream() {\n return isEndOfStream;\n },\n };\n }\n encode({ headers: rawHeaders, body }) {\n const headers = this.headerMarshaller.format(rawHeaders);\n const length = headers.byteLength + body.byteLength + 16;\n const out = new Uint8Array(length);\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n const checksum = new Crc32();\n view.setUint32(0, length, false);\n view.setUint32(4, headers.byteLength, false);\n checksum.update(out.subarray(0, 8));\n view.setUint32(8, checksum.digestSync(), false);\n out.set(headers, 12);\n out.set(body, headers.byteLength + 12);\n checksum.update(out.subarray(8, length - 4));\n view.setUint32(length - 4, checksum.digestSync(), false);\n return out;\n }\n decode(message) {\n const { headers, body } = splitMessage(message);\n return { headers: this.headerMarshaller.parse(headers), body };\n }\n formatHeaders(rawHeaders) {\n return this.headerMarshaller.format(rawHeaders);\n }\n}\n","export class MessageDecoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const bytes of this.options.inputStream) {\n const decoded = this.options.decoder.decode(bytes);\n yield decoded;\n }\n }\n}\n","export class MessageEncoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const msg of this.options.messageStream) {\n const encoded = this.options.encoder.encode(msg);\n yield encoded;\n }\n if (this.options.includeEndFrame) {\n yield new Uint8Array(0);\n }\n }\n}\n","export class SmithyMessageDecoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const message of this.options.messageStream) {\n const deserialized = await this.options.deserializer(message);\n if (deserialized === undefined)\n continue;\n yield deserialized;\n }\n }\n}\n","export class SmithyMessageEncoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const chunk of this.options.inputStream) {\n const payloadBuf = this.options.serializer(chunk);\n yield payloadBuf;\n }\n }\n}\n","export function getChunkedStream(source) {\n let currentMessageTotalLength = 0;\n let currentMessagePendingLength = 0;\n let currentMessage = null;\n let messageLengthBuffer = null;\n const allocateMessage = (size) => {\n if (typeof size !== \"number\") {\n throw new Error(\"Attempted to allocate an event message where size was not a number: \" + size);\n }\n currentMessageTotalLength = size;\n currentMessagePendingLength = 4;\n currentMessage = new Uint8Array(size);\n const currentMessageView = new DataView(currentMessage.buffer);\n currentMessageView.setUint32(0, size, false);\n };\n const iterator = async function* () {\n const sourceIterator = source[Symbol.asyncIterator]();\n while (true) {\n const { value, done } = await sourceIterator.next();\n if (done) {\n if (!currentMessageTotalLength) {\n return;\n }\n else if (currentMessageTotalLength === currentMessagePendingLength) {\n yield currentMessage;\n }\n else {\n throw new Error(\"Truncated event message received.\");\n }\n return;\n }\n const chunkLength = value.length;\n let currentOffset = 0;\n while (currentOffset < chunkLength) {\n if (!currentMessage) {\n const bytesRemaining = chunkLength - currentOffset;\n if (!messageLengthBuffer) {\n messageLengthBuffer = new Uint8Array(4);\n }\n const numBytesForTotal = Math.min(4 - currentMessagePendingLength, bytesRemaining);\n messageLengthBuffer.set(value.slice(currentOffset, currentOffset + numBytesForTotal), currentMessagePendingLength);\n currentMessagePendingLength += numBytesForTotal;\n currentOffset += numBytesForTotal;\n if (currentMessagePendingLength < 4) {\n break;\n }\n allocateMessage(new DataView(messageLengthBuffer.buffer).getUint32(0, false));\n messageLengthBuffer = null;\n }\n const numBytesToWrite = Math.min(currentMessageTotalLength - currentMessagePendingLength, chunkLength - currentOffset);\n currentMessage.set(value.slice(currentOffset, currentOffset + numBytesToWrite), currentMessagePendingLength);\n currentMessagePendingLength += numBytesToWrite;\n currentOffset += numBytesToWrite;\n if (currentMessageTotalLength && currentMessageTotalLength === currentMessagePendingLength) {\n yield currentMessage;\n currentMessage = null;\n currentMessageTotalLength = 0;\n currentMessagePendingLength = 0;\n }\n }\n }\n };\n return {\n [Symbol.asyncIterator]: iterator,\n };\n}\n","export function getUnmarshalledStream(source, options) {\n const messageUnmarshaller = getMessageUnmarshaller(options.deserializer, options.toUtf8);\n return {\n [Symbol.asyncIterator]: async function* () {\n for await (const chunk of source) {\n const message = options.eventStreamCodec.decode(chunk);\n const type = await messageUnmarshaller(message);\n if (type === undefined)\n continue;\n yield type;\n }\n },\n };\n}\nexport function getMessageUnmarshaller(deserializer, toUtf8) {\n return async function (message) {\n const { value: messageType } = message.headers[\":message-type\"];\n if (messageType === \"error\") {\n const unmodeledError = new Error(message.headers[\":error-message\"].value || \"UnknownError\");\n unmodeledError.name = message.headers[\":error-code\"].value;\n throw unmodeledError;\n }\n else if (messageType === \"exception\") {\n const code = message.headers[\":exception-type\"].value;\n const exception = { [code]: message };\n const deserializedException = await deserializer(exception);\n if (deserializedException.$unknown) {\n const error = new Error(toUtf8(message.body));\n error.name = code;\n throw error;\n }\n throw deserializedException[code];\n }\n else if (messageType === \"event\") {\n const event = {\n [message.headers[\":event-type\"].value]: message,\n };\n const deserialized = await deserializer(event);\n if (deserialized.$unknown)\n return;\n return deserialized;\n }\n else {\n throw Error(`Unrecognizable event type: ${message.headers[\":event-type\"].value}`);\n }\n };\n}\n","import { EventStreamCodec } from \"../eventstream-codec/EventStreamCodec\";\nimport { MessageDecoderStream } from \"../eventstream-codec/MessageDecoderStream\";\nimport { MessageEncoderStream } from \"../eventstream-codec/MessageEncoderStream\";\nimport { SmithyMessageDecoderStream } from \"../eventstream-codec/SmithyMessageDecoderStream\";\nimport { SmithyMessageEncoderStream } from \"../eventstream-codec/SmithyMessageEncoderStream\";\nimport { getChunkedStream } from \"./getChunkedStream\";\nimport { getMessageUnmarshaller } from \"./getUnmarshalledStream\";\nexport class EventStreamMarshaller {\n eventStreamCodec;\n utfEncoder;\n constructor({ utf8Encoder, utf8Decoder }) {\n this.eventStreamCodec = new EventStreamCodec(utf8Encoder, utf8Decoder);\n this.utfEncoder = utf8Encoder;\n }\n deserialize(body, deserializer) {\n const inputStream = getChunkedStream(body);\n return new SmithyMessageDecoderStream({\n messageStream: new MessageDecoderStream({ inputStream, decoder: this.eventStreamCodec }),\n deserializer: getMessageUnmarshaller(deserializer, this.utfEncoder),\n });\n }\n serialize(inputStream, serializer) {\n return new MessageEncoderStream({\n messageStream: new SmithyMessageEncoderStream({ inputStream, serializer }),\n encoder: this.eventStreamCodec,\n includeEndFrame: true,\n });\n }\n}\nexport const eventStreamSerdeProvider = (options) => new EventStreamMarshaller(options);\n","import { Readable } from \"node:stream\";\nimport { EventStreamMarshaller as UniversalEventStreamMarshaller } from \"../eventstream-serde-universal/EventStreamMarshaller\";\nexport class EventStreamMarshaller {\n universalMarshaller;\n constructor({ utf8Encoder, utf8Decoder }) {\n this.universalMarshaller = new UniversalEventStreamMarshaller({\n utf8Decoder,\n utf8Encoder,\n });\n }\n deserialize(body, deserializer) {\n const bodyIterable = typeof body[Symbol.asyncIterator] === \"function\" ? body : readableToIterable(body);\n return this.universalMarshaller.deserialize(bodyIterable, deserializer);\n }\n serialize(input, serializer) {\n return Readable.from(this.universalMarshaller.serialize(input, serializer));\n }\n}\nexport const eventStreamSerdeProvider = (options) => new EventStreamMarshaller(options);\nexport async function* readableToIterable(readStream) {\n let streamEnded = false;\n let generationEnded = false;\n const records = new Array();\n readStream.on(\"error\", (err) => {\n if (!streamEnded) {\n streamEnded = true;\n }\n if (err) {\n throw err;\n }\n });\n readStream.on(\"data\", (data) => {\n records.push(data);\n });\n readStream.on(\"end\", () => {\n streamEnded = true;\n });\n while (!generationEnded) {\n const value = await new Promise((resolve) => setTimeout(() => resolve(records.shift()), 0));\n if (value) {\n yield value;\n }\n generationEnded = streamEnded && records.length === 0;\n }\n}\n","import { hasOwn } from \"@smithy/core/transport\";\nimport { TypeRegistry } from \"@smithy/core/schema\";\nimport { fromUtf8, toUtf8 } from \"@smithy/core/serde\";\nexport class EventStreamSerde {\n marshaller;\n serializer;\n deserializer;\n serdeContext;\n defaultContentType;\n compositeErrorRegistry;\n constructor({ marshaller, serializer, deserializer, serdeContext, defaultContentType, compositeErrorRegistry, }) {\n this.marshaller = marshaller;\n this.serializer = serializer;\n this.deserializer = deserializer;\n this.serdeContext = serdeContext;\n this.defaultContentType = defaultContentType;\n this.compositeErrorRegistry = compositeErrorRegistry;\n }\n async serializeEventStream({ eventStream, requestSchema, initialRequest, initialMessageType, }) {\n const marshaller = this.marshaller;\n const eventStreamMember = requestSchema.getEventStreamMember();\n const unionSchema = requestSchema.getMemberSchema(eventStreamMember);\n const serializer = this.serializer;\n const defaultContentType = this.defaultContentType;\n const initialRequestMarker = Symbol(\"initialRequestMarker\");\n const eventStreamIterable = {\n async *[Symbol.asyncIterator]() {\n if (initialRequest) {\n const headers = {\n \":event-type\": { type: \"string\", value: initialMessageType ?? \"initial-request\" },\n \":message-type\": { type: \"string\", value: \"event\" },\n \":content-type\": { type: \"string\", value: defaultContentType },\n };\n serializer.write(requestSchema, initialRequest);\n const body = serializer.flush();\n yield {\n [initialRequestMarker]: true,\n headers,\n body,\n };\n }\n for await (const page of eventStream) {\n yield page;\n }\n },\n };\n return marshaller.serialize(eventStreamIterable, (event) => {\n if (event[initialRequestMarker]) {\n return {\n headers: event.headers,\n body: event.body,\n };\n }\n let unionMember = \"\";\n for (const key in event) {\n if (!hasOwn(event, key))\n continue;\n if (key !== \"__type\") {\n unionMember = key;\n break;\n }\n }\n const { additionalHeaders, body, eventType, explicitPayloadContentType } = this.writeEventBody(unionMember, unionSchema, event);\n const headers = {\n \":event-type\": { type: \"string\", value: eventType },\n \":message-type\": { type: \"string\", value: \"event\" },\n \":content-type\": { type: \"string\", value: explicitPayloadContentType ?? defaultContentType },\n ...additionalHeaders,\n };\n return {\n headers,\n body,\n };\n });\n }\n async deserializeEventStream({ response, responseSchema, initialResponseContainer, initialMessageType, }) {\n const marshaller = this.marshaller;\n const eventStreamMember = responseSchema.getEventStreamMember();\n const unionSchema = responseSchema.getMemberSchema(eventStreamMember);\n const memberSchemas = unionSchema.getMemberSchemas();\n const initialResponseMarker = Symbol(\"initialResponseMarker\");\n const asyncIterable = marshaller.deserialize(response.body, async (event) => {\n let unionMember = \"\";\n for (const key in event) {\n if (!hasOwn(event, key))\n continue;\n if (key !== \"__type\") {\n unionMember = key;\n break;\n }\n }\n const body = event[unionMember].body;\n if (unionMember === (initialMessageType ?? \"initial-response\")) {\n const dataObject = await this.deserializer.read(responseSchema, body);\n delete dataObject[eventStreamMember];\n return {\n [initialResponseMarker]: true,\n ...dataObject,\n };\n }\n else if (unionMember in memberSchemas) {\n const eventStreamSchema = memberSchemas[unionMember];\n if (eventStreamSchema.isStructSchema()) {\n const out = {};\n let hasBindings = false;\n for (const [name, member] of eventStreamSchema.structIterator()) {\n const { eventHeader, eventPayload } = member.getMergedTraits();\n hasBindings = hasBindings || Boolean(eventHeader || eventPayload);\n if (eventPayload) {\n if (member.isBlobSchema()) {\n out[name] = body;\n }\n else if (member.isStringSchema()) {\n out[name] = (this.serdeContext?.utf8Encoder ?? toUtf8)(body);\n }\n else if (member.isStructSchema()) {\n out[name] = await this.deserializer.read(member, body);\n }\n }\n else if (eventHeader) {\n const value = event[unionMember].headers[name]?.value;\n if (value != null) {\n if (member.isNumericSchema()) {\n if (value && typeof value === \"object\" && \"bytes\" in value) {\n out[name] = BigInt(value.toString());\n }\n else {\n out[name] = Number(value);\n }\n }\n else {\n out[name] = value;\n }\n }\n }\n }\n return {\n [unionMember]: await this.readEventMember(eventStreamSchema, body, hasBindings, out),\n };\n }\n return {\n [unionMember]: await this.deserializer.read(eventStreamSchema, body),\n };\n }\n else {\n return {\n $unknown: event,\n };\n }\n });\n const asyncIterator = asyncIterable[Symbol.asyncIterator]();\n const firstEvent = await asyncIterator.next();\n if (firstEvent.done) {\n return asyncIterable;\n }\n if (firstEvent.value?.[initialResponseMarker]) {\n if (!responseSchema) {\n throw new Error(\"@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.\");\n }\n for (const key in firstEvent.value) {\n if (!hasOwn(firstEvent.value, key))\n continue;\n initialResponseContainer[key] = firstEvent.value[key];\n }\n }\n return {\n async *[Symbol.asyncIterator]() {\n if (!firstEvent?.value?.[initialResponseMarker]) {\n yield firstEvent.value;\n }\n while (true) {\n const { done, value } = await asyncIterator.next();\n if (done) {\n break;\n }\n yield value;\n }\n },\n };\n }\n async readEventMember(eventStreamSchema, body, hasBindings, out) {\n let ErrCtor;\n const staticStructuralSchema = eventStreamSchema.getSchema();\n if (Array.isArray(staticStructuralSchema) && staticStructuralSchema[0] === -3) {\n const namespace = staticStructuralSchema[1];\n const nsRegistry = TypeRegistry.for(namespace);\n this.compositeErrorRegistry?.copyFrom(nsRegistry);\n ErrCtor = (this.compositeErrorRegistry ?? nsRegistry)?.getErrorCtor(staticStructuralSchema);\n }\n const dataObject = hasBindings\n ? out\n : body.byteLength === 0\n ? {}\n : await this.deserializer.read(eventStreamSchema, body);\n if (ErrCtor) {\n const message = dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const metadata = {};\n const $fault = eventStreamSchema.getMergedTraits().error;\n if ($fault) {\n metadata.$fault = $fault;\n }\n return Object.assign(new ErrCtor({}), metadata, {\n message,\n }, dataObject);\n }\n return dataObject;\n }\n writeEventBody(unionMember, unionSchema, event) {\n const serializer = this.serializer;\n let eventType = unionMember;\n let explicitPayloadMember = null;\n let explicitPayloadContentType;\n const isKnownSchema = (() => {\n const struct = unionSchema.getSchema();\n return struct[4].includes(unionMember);\n })();\n const additionalHeaders = {};\n if (!isKnownSchema) {\n const [type, value] = event[unionMember];\n eventType = type;\n serializer.write(15, value);\n }\n else {\n const eventSchema = unionSchema.getMemberSchema(unionMember);\n if (eventSchema.isStructSchema()) {\n for (const [memberName, memberSchema] of eventSchema.structIterator()) {\n const { eventHeader, eventPayload } = memberSchema.getMergedTraits();\n if (eventPayload) {\n explicitPayloadMember = memberName;\n }\n else if (eventHeader) {\n const value = event[unionMember][memberName];\n let type = \"binary\";\n if (memberSchema.isNumericSchema()) {\n if ((-2) ** 31 <= value && value <= 2 ** 31 - 1) {\n type = \"integer\";\n }\n else {\n type = \"long\";\n }\n }\n else if (memberSchema.isTimestampSchema()) {\n type = \"timestamp\";\n }\n else if (memberSchema.isStringSchema()) {\n type = \"string\";\n }\n else if (memberSchema.isBooleanSchema()) {\n type = \"boolean\";\n }\n if (value != null) {\n additionalHeaders[memberName] = {\n type,\n value,\n };\n delete event[unionMember][memberName];\n }\n }\n }\n if (explicitPayloadMember !== null) {\n const payloadSchema = eventSchema.getMemberSchema(explicitPayloadMember);\n if (payloadSchema.isBlobSchema()) {\n explicitPayloadContentType = \"application/octet-stream\";\n }\n else if (payloadSchema.isStringSchema()) {\n explicitPayloadContentType = \"text/plain\";\n }\n serializer.write(payloadSchema, event[unionMember][explicitPayloadMember]);\n }\n else {\n serializer.write(eventSchema, event[unionMember]);\n }\n }\n else if (eventSchema.isUnitSchema()) {\n serializer.write(eventSchema, {});\n }\n else {\n throw new Error(\"@smithy/core/event-streams - non-struct member not supported in event stream union.\");\n }\n }\n const messageSerialization = serializer.flush() ?? new Uint8Array();\n const body = typeof messageSerialization === \"string\"\n ? (this.serdeContext?.utf8Decoder ?? fromUtf8)(messageSerialization)\n : messageSerialization;\n return {\n body,\n eventType,\n explicitPayloadContentType,\n additionalHeaders,\n };\n }\n}\n","export { EventStreamCodec } from \"./eventstream-codec/EventStreamCodec\";\nexport { HeaderMarshaller } from \"./eventstream-codec/HeaderMarshaller\";\nexport { Int64 } from \"./eventstream-codec/Int64\";\nexport { MessageDecoderStream } from \"./eventstream-codec/MessageDecoderStream\";\nexport { MessageEncoderStream } from \"./eventstream-codec/MessageEncoderStream\";\nexport { SmithyMessageDecoderStream } from \"./eventstream-codec/SmithyMessageDecoderStream\";\nexport { SmithyMessageEncoderStream } from \"./eventstream-codec/SmithyMessageEncoderStream\";\nexport { EventStreamMarshaller, eventStreamSerdeProvider } from \"./eventstream-serde/EventStreamMarshaller\";\nexport { readableStreamToIterable, iterableToReadableStream } from \"./eventstream-serde/utils\";\nexport { EventStreamMarshaller as UniversalEventStreamMarshaller, eventStreamSerdeProvider as universalEventStreamSerdeProvider, } from \"./eventstream-serde-universal/EventStreamMarshaller\";\nexport { getChunkedStream } from \"./eventstream-serde-universal/getChunkedStream\";\nexport { getUnmarshalledStream, getMessageUnmarshaller } from \"./eventstream-serde-universal/getUnmarshalledStream\";\nexport { resolveEventStreamSerdeConfig } from \"./eventstream-serde-config-resolver/EventStreamSerdeConfig\";\nexport { EventStreamSerde } from \"./EventStreamSerde\";\n"],"ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import { C as Schedule, n as Platform, o as ScenarioSpec, r as Bounds, v as Violation, w as EffectLog } from "./platform-CGVkTa16.mjs";
2
+ interface BoundsReached {
3
+ readonly runs: number;
4
+ readonly effectPoints: number;
5
+ readonly faultsInjected: number;
6
+ readonly elapsedMs: number;
7
+ }
8
+ interface VerdictBase {
9
+ readonly scenario: string;
10
+ readonly seed: number | string;
11
+ readonly reached: BoundsReached;
12
+ readonly assumptions: readonly string[];
13
+ }
14
+ interface Shrunk {
15
+ readonly faultsRemoved: number;
16
+ readonly eventsRemoved: number;
17
+ readonly runs: number;
18
+ }
19
+ interface Violated extends VerdictBase {
20
+ readonly kind: "VIOLATED";
21
+ readonly violation: Violation;
22
+ /** The replayed, shrunk trace that breaks the invariant. */
23
+ readonly trace: EffectLog;
24
+ readonly schedule: Schedule;
25
+ /** Ids of the drive's events that remain after shrinking. */
26
+ readonly keptEvents: readonly string[];
27
+ readonly shrunk: Shrunk;
28
+ }
29
+ interface Bounded extends VerdictBase {
30
+ readonly kind: "BOUNDED";
31
+ readonly bounds: Bounds;
32
+ }
33
+ type UnsupportedCause = "unsupported_api" | "not_replayable" | "module_state_leak" | "unsupported_bounds";
34
+ interface Unsupported extends VerdictBase {
35
+ readonly kind: "UNSUPPORTED";
36
+ readonly cause: UnsupportedCause;
37
+ readonly reason: string;
38
+ }
39
+ type ScenarioVerdict = Violated | Bounded | Unsupported;
40
+ /** One line per verdict, for error messages; full rendering lives in `report`. */
41
+ declare function describeVerdict(v: ScenarioVerdict): string;
42
+ interface ExploreOptions {
43
+ readonly seed: number | string;
44
+ /** Hard cap on runs, in addition to the scenario's time budget. */
45
+ readonly maxRuns?: number;
46
+ /** Probability of injecting at an eligible effect point. */
47
+ readonly faultProbability?: number;
48
+ /** Clock for the time budget; injectable for tests. */
49
+ readonly now?: () => number;
50
+ /** Hard cap on replay runs spent shrinking a violation. */
51
+ readonly maxShrinkRuns?: number;
52
+ /**
53
+ * How many of the first exploration runs to replay in reverse order
54
+ * before reporting BOUNDED, to detect module-level state leaking between
55
+ * runs. 0 disables the pass.
56
+ */
57
+ readonly leakCheckRuns?: number;
58
+ }
59
+ /** Re-run a recorded schedule exactly. */
60
+ declare function replay(spec: ScenarioSpec, platform: Platform, schedule: Schedule): Promise<EffectLog>;
61
+ declare function explore(spec: ScenarioSpec, platform: Platform, options: ExploreOptions): Promise<ScenarioVerdict>;
62
+ export { BoundsReached as a, Violated as c, Bounded as i, describeVerdict as l, explore as n, ScenarioVerdict as o, replay as r, Unsupported as s, ExploreOptions as t };
63
+ //# sourceMappingURL=explore-C5fDFOoY.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explore-C5fDFOoY.d.mts","names":[],"sources":["../../core/src/verdict.ts","../../engine/src/explore.ts"],"mappings":";UAOiB;WACN;WACA;WACA;WACA;;UAGD;WACC;WACA;WACA,SAAS;WACT;;UAGM;WACN;WACA;WACA;;UAGM,iBAAiB;WACvB;WACA,WAAW;;WAEX,OAAO;WACP,UAAU;;WAEV;WACA,QAAQ;;UAGF,gBAAgB;WACtB;WACA,QAAQ;;KAGP;UAMK,oBAAoB;WAC1B;WACA,OAAO;WACP;;KAGC,kBAAkB,WAAW,UAAU;;iBAGnC,gBAAgB,GAAG;UCnClB;WACN;;WAEA;;WAEA;;WAEA;;WAEA;;;;;;WAMA;;;iBAuDW,OACpB,MAAM,cACN,UAAU,UACV,UAAU,WACT,QAAQ;iBAIW,QACpB,MAAM,cACN,UAAU,UACV,SAAS,iBACR,QAAQ"}
@@ -0,0 +1,24 @@
1
+ import { C as Schedule, S as FaultKind, T as EffectRecord, _ as StateQuery, b as checkInvariants, d as AtMostOncePerKey, f as EffectSelector, g as RowCondition, h as Invariant, l as validateScenario, m as Implies, n as Platform, o as ScenarioSpec, p as EveryRow, r as Bounds, t as EventRef, u as AtLeastOnce, v as Violation, w as EffectLog, x as FaultDecision, y as checkInvariant } from "./platform-CGVkTa16.mjs";
2
+ import { a as BoundsReached, c as Violated, i as Bounded, l as describeVerdict, n as explore, o as ScenarioVerdict, r as replay, s as Unsupported, t as ExploreOptions } from "./explore-C5fDFOoY.mjs";
3
+ /** The scenario restricted to the kept events, with per-message invariants re-derived. */
4
+ export declare function restrictSpec(platform: Platform, spec: ScenarioSpec, keepIds: readonly string[]): ScenarioSpec;
5
+ interface RegressionTestOptions {
6
+ /** Import lines for the scenario, the platform's dependencies, and anything the platform expression needs. */
7
+ readonly imports: readonly string[];
8
+ /** An expression evaluating to the `Platform` (may reference the imports). */
9
+ readonly platform: string;
10
+ /** An expression evaluating to the `ScenarioSpec`. */
11
+ readonly scenario: string;
12
+ /** Module that exports `replay`, `restrictSpec` and `checkInvariants`; the public facade by default. */
13
+ readonly engineModule?: string;
14
+ readonly expect?: "holds" | "violates";
15
+ }
16
+ export declare function emitRegressionTest(verdict: Violated, options: RegressionTestOptions): string;
17
+ /** The JSON report: one object, canonical, with a schema version at the top. */
18
+ export declare function renderJson(verdict: ScenarioVerdict): string;
19
+ /** The trace as a fixed-width table; evidence rows are marked with `*`. */
20
+ export declare function renderTrace(log: EffectLog, evidence?: readonly number[]): string;
21
+ /** A readable report: verdict, what it rests on, and for a violation the schedule and trace. */
22
+ export declare function renderText(verdict: ScenarioVerdict): string;
23
+ export { type AtLeastOnce, type AtMostOncePerKey, type Bounded, type Bounds, type BoundsReached, type EffectLog, type EffectRecord, type EffectSelector, type EventRef, type EveryRow, type ExploreOptions, type FaultDecision, type FaultKind, type Implies, type Invariant, type Platform, type RegressionTestOptions, type RowCondition, type ScenarioSpec, type ScenarioVerdict, type Schedule, type StateQuery, type Unsupported, type Violated, type Violation, checkInvariant, checkInvariants, describeVerdict, explore, replay, validateScenario };
24
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../engine/src/shrink.ts","../../report/src/regression.ts","../../report/src/render.ts"],"mappings":";;;wBAsCgB,aACd,UAAU,UACV,MAAM,cACN,6BACC;UC7Bc;;WAEN;;WAEA;;WAEA;;WAEA;WACA;;wBAGK,mBAAmB,SAAS,UAAU,SAAS;;wBCf/C,WAAW,SAAS;;wBAiBpB,YAAY,KAAK,WAAW;;wBAuB5B,WAAW,SAAS"}
package/dist/index.mjs ADDED
@@ -0,0 +1,5 @@
1
+ import "./src-s6uYyC0B.mjs";
2
+ import { d as validateScenario, f as checkInvariant, n as replay, p as checkInvariants, r as restrictSpec, t as explore } from "./src-BrCsF5RZ.mjs";
3
+ import { t as describeVerdict } from "./verdict-evEM5Gxx.mjs";
4
+ import { i as emitRegressionTest, n as renderText, r as renderTrace, t as renderJson } from "./src-BP6Iqc_9.mjs";
5
+ export { checkInvariant, checkInvariants, describeVerdict, emitRegressionTest, explore, renderJson, renderText, renderTrace, replay, restrictSpec, validateScenario };
@@ -0,0 +1,267 @@
1
+ /**
2
+ * Canonical JSON: the one serialisation of a value, so that equal data always
3
+ * produces equal bytes. Object keys are sorted; numbers must be finite; there
4
+ * is no whitespace. Anything that is not plain JSON data is rejected.
5
+ */
6
+ type JsonValue = null | boolean | number | string | readonly JsonValue[] | {
7
+ readonly [key: string]: JsonValue;
8
+ };
9
+ /** `snapshot` records platform state (e.g. D1 tables) captured at the end of a run; it is not an effect point. */
10
+ type EffectKind = "call" | "result" | "fault" | "snapshot";
11
+ interface EffectRecord {
12
+ /** Position in the log, dense from 0. */
13
+ readonly seq: number;
14
+ readonly kind: EffectKind;
15
+ /** The invocation (request, message, alarm) this effect belongs to. */
16
+ readonly invocation: string;
17
+ /** The binding or global the effect went through, e.g. "D1:DB". */
18
+ readonly target: string;
19
+ /** The operation, e.g. "run", "batch", "send". */
20
+ readonly op: string;
21
+ /** Operation-specific data: arguments, results, or the injected fault. */
22
+ readonly payload: JsonValue;
23
+ }
24
+ interface EffectLog {
25
+ readonly entries: readonly EffectRecord[];
26
+ }
27
+ /**
28
+ * `cut_off` is a crash that happens after a response or acknowledgement was
29
+ * already sent, so only background work (ctx.waitUntil) is lost; platforms
30
+ * offer it at the point where that work would start.
31
+ */
32
+ type FaultKind = "crash_before" | "crash_after" | "ambiguous" | "error" | "cut_off";
33
+ interface FaultDecision {
34
+ /** The invocation the effect belongs to, e.g. "msg-1#2". */
35
+ readonly invocation: string;
36
+ /** Position of the effect within that invocation, from 0. Stable when other invocations are removed. */
37
+ readonly ordinal: number;
38
+ readonly fault: FaultKind;
39
+ /** What the effect was, for people reading the schedule. */
40
+ readonly target: string;
41
+ readonly op: string;
42
+ }
43
+ interface Schedule {
44
+ /** The per-run seed the decisions were drawn from. */
45
+ readonly seed: number;
46
+ readonly faults: readonly FaultDecision[];
47
+ }
48
+ /** Picks effect records by target, op, kind and payload fields. */
49
+ interface EffectSelector {
50
+ readonly target: string;
51
+ readonly op?: string;
52
+ readonly kind?: EffectKind;
53
+ /** Dot paths into the payload that must equal the given values. */
54
+ readonly where?: {
55
+ readonly [path: string]: JsonValue;
56
+ };
57
+ /** Dot paths into the payload whose numeric value must be at least the given bound. */
58
+ readonly atLeast?: {
59
+ readonly [path: string]: number;
60
+ };
61
+ }
62
+ /** No two selected effects share the same key. Catches duplicate writes. */
63
+ interface AtMostOncePerKey {
64
+ readonly kind: "atMostOncePerKey";
65
+ readonly name: string;
66
+ readonly effect: EffectSelector;
67
+ /** Dot path into the payload that identifies the key. */
68
+ readonly key: string;
69
+ }
70
+ /** Every expected key appears in at least one selected effect. Catches lost work. */
71
+ interface AtLeastOnce {
72
+ readonly kind: "atLeastOnce";
73
+ readonly name: string;
74
+ readonly effect: EffectSelector;
75
+ readonly key: string;
76
+ readonly expected: readonly JsonValue[];
77
+ /** Set when `expected` was derived from the drive's message bodies, so it can be re-derived when messages are removed. */
78
+ readonly perMessage?: {
79
+ readonly bodyKey: string;
80
+ };
81
+ }
82
+ /** A condition on one column of a row. */
83
+ type RowCondition = {
84
+ readonly column: string;
85
+ readonly op: "eq" | "neq";
86
+ readonly value: JsonValue;
87
+ } | {
88
+ readonly column: string;
89
+ readonly op: "gt" | "gte" | "lt" | "lte";
90
+ readonly value: number;
91
+ } | {
92
+ readonly column: string;
93
+ readonly op: "in";
94
+ readonly value: readonly JsonValue[];
95
+ } | {
96
+ readonly column: string;
97
+ readonly op: "notNull";
98
+ };
99
+ /** Rows of a table in the last snapshot of a target, optionally filtered. */
100
+ interface StateQuery {
101
+ /** The snapshot target, e.g. "D1:DB". */
102
+ readonly target: string;
103
+ readonly table: string;
104
+ readonly where?: readonly RowCondition[];
105
+ }
106
+ /** Every row the query returns satisfies all of `holds`. */
107
+ interface EveryRow {
108
+ readonly kind: "everyRow";
109
+ readonly name: string;
110
+ readonly query: StateQuery;
111
+ readonly holds: readonly RowCondition[];
112
+ }
113
+ /**
114
+ * For every selected effect, a row exists whose `column` equals the effect's
115
+ * key. Ties what the shell did to what the state says, e.g. "every acked
116
+ * message has its payment row".
117
+ */
118
+ interface Implies {
119
+ readonly kind: "implies";
120
+ readonly name: string;
121
+ readonly when: EffectSelector;
122
+ /** Dot path into the effect payload that yields the key. */
123
+ readonly key: string;
124
+ readonly state: StateQuery;
125
+ readonly column: string;
126
+ }
127
+ type Invariant = AtMostOncePerKey | AtLeastOnce | EveryRow | Implies;
128
+ interface Violation {
129
+ readonly invariant: string;
130
+ readonly message: string;
131
+ /** The keys involved, in canonical JSON, so two violations can be compared across runs. */
132
+ readonly keys: readonly string[];
133
+ /** Sequence numbers of the effects that witness the violation. */
134
+ readonly evidence: readonly number[];
135
+ }
136
+ declare function checkInvariant(log: EffectLog, inv: Invariant): Violation | null;
137
+ declare function checkInvariants(log: EffectLog, invariants: readonly Invariant[]): readonly Violation[];
138
+ /** Opaque, JSON-shaped data owned by a platform package. `kind` names its shape. */
139
+ interface PlatformData {
140
+ readonly kind: string;
141
+ readonly [key: string]: JsonValue;
142
+ }
143
+ /** Where the Worker under test lives, relative to the scenario file. */
144
+ interface WorkerRef {
145
+ readonly entry: string;
146
+ readonly config: string;
147
+ }
148
+ /** A scripted reply from an external: the first matching entry answers a request. */
149
+ interface ScriptedResponse {
150
+ /** HTTP method to match; any when absent. */
151
+ readonly method?: string;
152
+ /** URL path to match exactly, or a prefix when it ends with "*"; any when absent. */
153
+ readonly path?: string;
154
+ readonly status: number;
155
+ readonly headers?: {
156
+ readonly [name: string]: string;
157
+ };
158
+ /** JSON body (sent as application/json) or a string body. */
159
+ readonly body?: JsonValue;
160
+ }
161
+ /**
162
+ * An external service the Worker talks to, what it promises, and how it
163
+ * answers. Requests never reach the network: they are answered from
164
+ * `responses`, and an undeclared host makes the run UNSUPPORTED.
165
+ */
166
+ interface ExternalDecl {
167
+ readonly name: string;
168
+ /** Host to match exactly, or a suffix pattern such as "*.example.com". */
169
+ readonly host: string;
170
+ readonly guarantees: {
171
+ /**
172
+ * Header whose value makes repeated requests idempotent: a request
173
+ * repeating an earlier one's key gets the earlier response and is
174
+ * recorded as not effective.
175
+ */
176
+ readonly dedupeBy?: string;
177
+ };
178
+ /** Omitted: every request gets 200 with an empty body. Present but unmatched: the run is UNSUPPORTED. */
179
+ readonly responses?: readonly ScriptedResponse[];
180
+ }
181
+ /** Exploration bounds. Every verdict reports the bounds actually reached. */
182
+ interface Bounds {
183
+ readonly maxFaultsPerRun: number;
184
+ readonly maxRedeliveries: number;
185
+ readonly maxConcurrentInvocations: number;
186
+ readonly budgetMs: number;
187
+ }
188
+ interface ScenarioSpec {
189
+ readonly version: 1;
190
+ readonly name: string;
191
+ /** Which platform package built and runs this scenario, e.g. "cloudflare" or "aws". Absent means cloudflare. */
192
+ readonly platform?: string;
193
+ readonly worker: WorkerRef;
194
+ /** How the scenario drives the Worker (which events, with what payloads). */
195
+ readonly drive: PlatformData;
196
+ /** State to establish before each run, in order. */
197
+ readonly setup: readonly PlatformData[];
198
+ readonly externals: readonly ExternalDecl[];
199
+ readonly invariants: readonly Invariant[];
200
+ readonly bounds: Bounds;
201
+ }
202
+ /** Every reason a spec is not usable; empty when it is. */
203
+ declare function validateScenario(spec: ScenarioSpec): readonly string[];
204
+ /** One deliverable event, e.g. one attempt to deliver one queue message. */
205
+ interface EventRef {
206
+ readonly id: string;
207
+ /** 1 for the first delivery, 2 for the first redelivery, and so on. */
208
+ readonly attempt: number;
209
+ readonly data: JsonValue;
210
+ }
211
+ /** What a proxy tells the engine about an effect it is about to perform. */
212
+ interface EffectPoint {
213
+ readonly invocation: string;
214
+ readonly target: string;
215
+ readonly op: string;
216
+ readonly args: JsonValue;
217
+ /** Which faults make sense here; the engine only injects from this list. */
218
+ readonly allowed: readonly FaultKind[];
219
+ }
220
+ /** One invocation of the Worker, as the engine tracks it. */
221
+ interface Invocation {
222
+ readonly id: string;
223
+ /** Resolves when the invocation is crashed by an injected fault. */
224
+ readonly crashed: Promise<void>;
225
+ isCrashed(): boolean;
226
+ }
227
+ /** What the engine offers a platform during one run. */
228
+ interface RunHooks {
229
+ startInvocation(id: string): Invocation;
230
+ /** Perform an asynchronous effect under fault injection and record it. */
231
+ effect<T>(point: EffectPoint, perform: () => Promise<T>, summarize: (value: T) => JsonValue): Promise<T>;
232
+ /** Perform a synchronous effect under fault injection and record it. */
233
+ effectSync<T>(point: EffectPoint, perform: () => T, summarize: (value: T) => JsonValue): T;
234
+ /** Declare that the run touched something Eutaxy cannot control. */
235
+ unsupported(reason: string): void;
236
+ /** Record a state snapshot (not an effect point; never faulted). */
237
+ snapshot(invocation: string, target: string, payload: JsonValue): void;
238
+ /**
239
+ * Wait for user code under the engine's virtual clock: real I/O completes,
240
+ * timers fire while the invocation is idle, and a crashed invocation's
241
+ * promise is abandoned. Platforms await handler and background promises
242
+ * through this, never directly.
243
+ */
244
+ settle<T>(promise: Promise<T>, invocation: string): Promise<T>;
245
+ }
246
+ interface DeliveryResult {
247
+ readonly status: "completed" | "errored" | "crashed";
248
+ /** Events the platform's semantics require next, e.g. redeliveries. */
249
+ readonly followUps: readonly EventRef[];
250
+ }
251
+ interface Platform {
252
+ readonly name: string;
253
+ /** What a verdict rests on that this platform decides, one line each. */
254
+ readonly assumptions: readonly string[];
255
+ /** Establish the scenario's initial state. Called before every run. */
256
+ reset(spec: ScenarioSpec): Promise<void>;
257
+ /** The events the scenario's drive produces, in order. */
258
+ initialEvents(spec: ScenarioSpec): readonly EventRef[];
259
+ /** Deliver one event to the Worker under the run's fault injection. */
260
+ deliver(event: EventRef, hooks: RunHooks, spec: ScenarioSpec): Promise<DeliveryResult>;
261
+ /** The same scenario driven only by the events with these ids (for shrinking and regression tests). */
262
+ restrictEvents(spec: ScenarioSpec, keepIds: readonly string[]): ScenarioSpec;
263
+ /** Called once all events are delivered; the place to record end-of-run state snapshots. */
264
+ finish?(spec: ScenarioSpec, hooks: RunHooks): Promise<void>;
265
+ }
266
+ export { Schedule as C, JsonValue as E, FaultKind as S, EffectRecord as T, StateQuery as _, PlatformData as a, checkInvariants as b, WorkerRef as c, AtMostOncePerKey as d, EffectSelector as f, RowCondition as g, Invariant as h, ExternalDecl as i, validateScenario as l, Implies as m, Platform as n, ScenarioSpec as o, EveryRow as p, Bounds as r, ScriptedResponse as s, EventRef as t, AtLeastOnce as u, Violation as v, EffectLog as w, FaultDecision as x, checkInvariant as y };
267
+ //# sourceMappingURL=platform-CGVkTa16.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-CGVkTa16.d.mts","names":[],"sources":["../../core/src/canonical-json.ts","../../core/src/effect-log.ts","../../core/src/faults.ts","../../core/src/invariants.ts","../../core/src/scenario.ts","../../core/src/platform.d.ts"],"mappings":";;;;;KAMY,wDAKC;YACG,cAAc;;;KCDlB;UAEK;;WAEN;WACA,MAAM;;WAEN;;WAEA;;WAEA;;WAEA,SAAS;;UAGH;WACN,kBAAkB;;;;;;;KChBjB;UAUK;;WAEN;;WAEA;WACA,OAAO;;WAEP;WACA;;UAGM;;WAEN;WACA,iBAAiB;;;UC1BX;WACN;WACA;WACA,OAAO;;WAEP;cAAoB,eAAe;;;WAEnC;cAAsB;;;;UAIhB;WACN;WACA;WACA,QAAQ;;WAER;;;UAIM;WACN;WACA;WACA,QAAQ;WACR;WACA,mBAAmB;;WAEnB;aAAwB;;;;KAqBvB;WACG;WAAyB;WAA2B,OAAO;;WAC3D;WAAyB;WAA0C;;WACnE;WAAyB;WAAmB,gBAAgB;;WAC5D;WAAyB;;;UAGvB;;WAEN;WACA;WACA,iBAAiB;;;UAIX;WACN;WACA;WACA,OAAO;WACP,gBAAgB;;;;;;;UAQV;WACN;WACA;WACA,MAAM;;WAEN;WACA,OAAO;WACP;;KAGC,YAAY,mBAAmB,cAAc,WAAW;UA2DnD;WACN;WACA;;WAEA;;WAEA;;iBA4EK,eAAe,KAAK,WAAW,KAAK,YAAY;iBAiGhD,gBACd,KAAK,WACL,qBAAqB,uBACX;;UCrUK;WACN;YACC,cAAc;;;UAIT;WACN;WACA;;;UAIM;;WAEN;;WAEA;WACA;WACA;cAAsB;;;WAEtB,OAAO;;;;;;;UAQD;WACN;;WAEA;WACA;;;;;;aAME;;;WAGF,qBAAqB;;;UAIf;WACN;WACA;WACA;WACA;;UAGM;WACN;WACA;;WAEA;WACA,QAAQ;;WAER,OAAO;;WAEP,gBAAgB;WAChB,oBAAoB;WACpB,qBAAqB;WACrB,QAAQ;;;iBAeH,iBAAiB,MAAM;;UChFtB;WACN;;WAEA;WACA,MAAM;;;UAGA;WACN;WACA;WACA;WACA,MAAM;;WAEN,kBAAkB;;;UAGZ;WACN;;WAEA,SAAS;EAClB;;;UAGe;EACf,gBAAgB,aAAa;;EAE7B,OAAO,GACL,OAAO,aACP,eAAe,QAAQ,IACvB,YAAY,OAAO,MAAM,YACxB,QAAQ;;EAEX,WAAW,GAAG,OAAO,aAAa,eAAe,GAAG,YAAY,OAAO,MAAM,YAAY;;EAEzF,YAAY;;EAEZ,SAAS,oBAAoB,gBAAgB,SAAS;;;;;;;EAOtD,OAAO,GAAG,SAAS,QAAQ,IAAI,qBAAqB,QAAQ;;UAE7C;WACN;;WAEA,oBAAoB;;UAEd;WACN;;WAEA;;EAET,MAAM,MAAM,eAAe;;EAE3B,cAAc,MAAM,wBAAwB;;EAE5C,QAAQ,OAAO,UAAU,OAAO,UAAU,MAAM,eAAe,QAAQ;;EAEvE,eAAe,MAAM,cAAc,6BAA6B;;EAEhE,QAAQ,MAAM,cAAc,OAAO,WAAW"}
@@ -0,0 +1,43 @@
1
+ import { createRequire } from "node:module";
2
+ // \0rolldown/runtime.js
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __esmMin = (fn, res, err) => () => {
10
+ if (err) throw err[0];
11
+ try {
12
+ return fn && (res = fn(fn = 0)), res;
13
+ } catch (e) {
14
+ throw err = [e], e;
15
+ }
16
+ };
17
+ var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod, mod.exports), cb = null), mod.exports);
18
+ var __exportAll = (all, no_symbols) => {
19
+ let target = {};
20
+ for (var name in all) __defProp(target, name, {
21
+ get: all[name],
22
+ enumerable: true
23
+ });
24
+ if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
25
+ return target;
26
+ };
27
+ var __copyProps = (to, from, except, desc) => {
28
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
29
+ key = keys[i];
30
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
31
+ get: ((k) => from[k]).bind(null, key),
32
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
33
+ });
34
+ }
35
+ return to;
36
+ };
37
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", {
38
+ value: mod,
39
+ enumerable: true
40
+ }) : target, mod));
41
+ var __toCommonJS = (mod) => __hasOwnProp.call(mod, "module.exports") ? mod["module.exports"] : __copyProps(__defProp({}, "__esModule", { value: true }), mod);
42
+ var __require = /* #__PURE__ */ (() => createRequire(import.meta.url))();
43
+ export { __toCommonJS as a, __require as i, __esmMin as n, __toESM as o, __exportAll as r, __commonJSMin as t };