@semiont/graph 0.5.10 → 0.5.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-RUQUFRTB.js → chunk-2FZWFAHI.js} +2 -2
- package/dist/{chunk-7UEKNJE3.js → chunk-7W3WYDYY.js} +947 -768
- package/dist/chunk-7W3WYDYY.js.map +1 -0
- package/dist/{chunk-HQ3XLO52.js → chunk-ANBNC7ET.js} +9 -11
- package/dist/chunk-ANBNC7ET.js.map +1 -0
- package/dist/{chunk-DCLCNCC5.js → chunk-FG7DZRU2.js} +47 -138
- package/dist/chunk-FG7DZRU2.js.map +1 -0
- package/dist/{chunk-WVFBW2BJ.js → chunk-FUH65BXZ.js} +3 -3
- package/dist/chunk-GH2BPPIO.js +358 -0
- package/dist/chunk-GH2BPPIO.js.map +1 -0
- package/dist/{chunk-2UFYZAZA.js → chunk-SIIGOCAF.js} +88 -169
- package/dist/chunk-SIIGOCAF.js.map +1 -0
- package/dist/chunk-TTCF2MVW.js +2238 -0
- package/dist/chunk-TTCF2MVW.js.map +1 -0
- package/dist/dist-es-2TLZH4GR.js +286 -0
- package/dist/dist-es-2TLZH4GR.js.map +1 -0
- package/dist/{dist-es-F3ITMM62.js → dist-es-3LHYAN2Z.js} +4 -4
- package/dist/{dist-es-RKGSX75L.js → dist-es-ERGUA43M.js} +126 -265
- package/dist/dist-es-ERGUA43M.js.map +1 -0
- package/dist/{dist-es-RHZZGTBH.js → dist-es-FF2QSTPC.js} +20 -14
- package/dist/dist-es-FF2QSTPC.js.map +1 -0
- package/dist/{dist-es-T7UQEVTL.js → dist-es-FYIEMWHW.js} +5 -5
- package/dist/{dist-es-SEF7BNPV.js → dist-es-QUWKNR3E.js} +3 -3
- package/dist/{dist-es-PIT4UOVB.js → dist-es-VWWFUSHN.js} +7 -7
- package/dist/dist-es-WPIJNMD4.js +220 -0
- package/dist/dist-es-WPIJNMD4.js.map +1 -0
- package/dist/{dist-es-HQN7ECGH.js → dist-es-YDMYLFPU.js} +5 -5
- package/dist/{event-streams-AI5RIQ2F.js → event-streams-C2JNHHGL.js} +20 -503
- package/dist/event-streams-C2JNHHGL.js.map +1 -0
- package/dist/index.js +45 -19
- package/dist/index.js.map +1 -1
- package/dist/{loadSso-GG2G7R6K.js → loadSso-XDB76252.js} +22 -19
- package/dist/loadSso-XDB76252.js.map +1 -0
- package/dist/{signin-W2DUKDEU.js → signin-AHFRIARE.js} +24 -21
- package/dist/signin-AHFRIARE.js.map +1 -0
- package/dist/{sso-oidc-QMDDOWYK.js → sso-oidc-3B3W33KS.js} +22 -18
- package/dist/sso-oidc-3B3W33KS.js.map +1 -0
- package/dist/{sts-3APBVT3H.js → sts-OXRUFMHG.js} +23 -25
- package/dist/sts-OXRUFMHG.js.map +1 -0
- package/package.json +7 -7
- package/dist/chunk-2UFYZAZA.js.map +0 -1
- package/dist/chunk-7UEKNJE3.js.map +0 -1
- package/dist/chunk-DCLCNCC5.js.map +0 -1
- package/dist/chunk-GXSQEW4F.js +0 -694
- package/dist/chunk-GXSQEW4F.js.map +0 -1
- package/dist/chunk-HQ3XLO52.js.map +0 -1
- package/dist/chunk-MTWDPBDH.js +0 -576
- package/dist/chunk-MTWDPBDH.js.map +0 -1
- package/dist/chunk-USQJFUZP.js +0 -1166
- package/dist/chunk-USQJFUZP.js.map +0 -1
- package/dist/dist-es-RHZZGTBH.js.map +0 -1
- package/dist/dist-es-RKGSX75L.js.map +0 -1
- package/dist/dist-es-ZEE6WCCG.js +0 -492
- package/dist/dist-es-ZEE6WCCG.js.map +0 -1
- package/dist/event-streams-AI5RIQ2F.js.map +0 -1
- package/dist/loadSso-GG2G7R6K.js.map +0 -1
- package/dist/signin-W2DUKDEU.js.map +0 -1
- package/dist/sso-oidc-QMDDOWYK.js.map +0 -1
- package/dist/sts-3APBVT3H.js.map +0 -1
- /package/dist/{chunk-RUQUFRTB.js.map → chunk-2FZWFAHI.js.map} +0 -0
- /package/dist/{chunk-WVFBW2BJ.js.map → chunk-FUH65BXZ.js.map} +0 -0
- /package/dist/{dist-es-F3ITMM62.js.map → dist-es-3LHYAN2Z.js.map} +0 -0
- /package/dist/{dist-es-T7UQEVTL.js.map → dist-es-FYIEMWHW.js.map} +0 -0
- /package/dist/{dist-es-SEF7BNPV.js.map → dist-es-QUWKNR3E.js.map} +0 -0
- /package/dist/{dist-es-PIT4UOVB.js.map → dist-es-VWWFUSHN.js.map} +0 -0
- /package/dist/{dist-es-HQN7ECGH.js.map → dist-es-YDMYLFPU.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/Int64.js","../../../node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/HeaderMarshaller.js","../../../node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/splitMessage.js","../../../node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/EventStreamCodec.js","../../../node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/MessageDecoderStream.js","../../../node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/MessageEncoderStream.js","../../../node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/SmithyMessageDecoderStream.js","../../../node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/SmithyMessageEncoderStream.js","../../../node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde/EventStreamMarshaller.js","../../../node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-universal/getChunkedStream.js","../../../node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-universal/getUnmarshalledStream.js","../../../node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-universal/EventStreamMarshaller.js","../../../node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde/utils.js","../../../node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-config-resolver/EventStreamSerdeConfig.js","../../../node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.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 { 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 of Object.keys(headers)) {\n const bytes = this.fromUtf8(headerName);\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 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 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}$/;\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","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","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","export const readableStreamToIterable = (readableStream) => ({\n [Symbol.asyncIterator]: async function* () {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done)\n return;\n yield value;\n }\n }\n finally {\n reader.releaseLock();\n }\n },\n});\nexport const iterableToReadableStream = (asyncIterable) => {\n const iterator = asyncIterable[Symbol.asyncIterator]();\n return new ReadableStream({\n async pull(controller) {\n const { done, value } = await iterator.next();\n if (done) {\n return controller.close();\n }\n controller.enqueue(value);\n },\n });\n};\n","export const resolveEventStreamSerdeConfig = (input) => Object.assign(input, {\n eventStreamMarshaller: input.eventStreamSerdeProvider(input),\n});\n","import { fromUtf8, toUtf8 } from \"@smithy/core/serde\";\nexport class EventStreamSerde {\n marshaller;\n serializer;\n deserializer;\n serdeContext;\n defaultContentType;\n constructor({ marshaller, serializer, deserializer, serdeContext, defaultContentType, }) {\n this.marshaller = marshaller;\n this.serializer = serializer;\n this.deserializer = deserializer;\n this.serdeContext = serdeContext;\n this.defaultContentType = defaultContentType;\n }\n async serializeEventStream({ eventStream, requestSchema, initialRequest, }) {\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: \"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 (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, }) {\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 (key !== \"__type\") {\n unionMember = key;\n break;\n }\n }\n const body = event[unionMember].body;\n if (unionMember === \"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 if (hasBindings) {\n return {\n [unionMember]: out,\n };\n }\n if (body.byteLength === 0) {\n return {\n [unionMember]: {},\n };\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 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 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"],"mappings":"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","names":["toUtf8","fromUtf8","HEADER_VALUE_TYPE","toUtf8","fromUtf8","toUtf8","EventStreamMarshaller","eventStreamSerdeProvider"]}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
// src/interface.ts
|
|
2
|
+
var MUTABLE_RESOURCE_FACETS = /* @__PURE__ */ new Set(["archived", "entityTypes"]);
|
|
3
|
+
function assertMutableResourceUpdate(input) {
|
|
4
|
+
const keys = Object.keys(input);
|
|
5
|
+
if (keys.length === 0 || keys.some((k) => !MUTABLE_RESOURCE_FACETS.has(k))) {
|
|
6
|
+
throw new Error("Resources are immutable apart from archival state and entity tags.");
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
1
10
|
// src/implementations/neptune.ts
|
|
2
11
|
import { getEntityTypes } from "@semiont/ontology";
|
|
3
12
|
import { annotationId as makeAnnotationId } from "@semiont/core";
|
|
@@ -13,7 +22,7 @@ var cardinality;
|
|
|
13
22
|
var __;
|
|
14
23
|
async function loadDependencies() {
|
|
15
24
|
if (!NeptuneClient) {
|
|
16
|
-
const neptuneModule = await import("./dist-es-
|
|
25
|
+
const neptuneModule = await import("./dist-es-ERGUA43M.js");
|
|
17
26
|
NeptuneClient = neptuneModule.NeptuneClient;
|
|
18
27
|
DescribeDBClustersCommand = neptuneModule.DescribeDBClustersCommand;
|
|
19
28
|
}
|
|
@@ -274,11 +283,16 @@ var NeptuneGraphDatabase = class {
|
|
|
274
283
|
}
|
|
275
284
|
}
|
|
276
285
|
async updateResource(id, input) {
|
|
277
|
-
|
|
278
|
-
throw new Error("Resources are immutable. Only archiving is allowed.");
|
|
279
|
-
}
|
|
286
|
+
assertMutableResourceUpdate(input);
|
|
280
287
|
try {
|
|
281
|
-
|
|
288
|
+
let traversal = this.g.V().hasLabel("Resource").has("id", id);
|
|
289
|
+
if (input.archived !== void 0) {
|
|
290
|
+
traversal = traversal.property("archived", input.archived);
|
|
291
|
+
}
|
|
292
|
+
if (input.entityTypes !== void 0) {
|
|
293
|
+
traversal = traversal.property("entityTypes", JSON.stringify(input.entityTypes));
|
|
294
|
+
}
|
|
295
|
+
const result = await traversal.elementMap().next();
|
|
282
296
|
if (!result.value) {
|
|
283
297
|
throw new Error("Resource not found");
|
|
284
298
|
}
|
|
@@ -344,7 +358,7 @@ var NeptuneGraphDatabase = class {
|
|
|
344
358
|
}
|
|
345
359
|
}
|
|
346
360
|
async createAnnotation(input) {
|
|
347
|
-
const id =
|
|
361
|
+
const id = input.id;
|
|
348
362
|
const annotation = {
|
|
349
363
|
"@context": "http://www.w3.org/ns/anno.jsonld",
|
|
350
364
|
"type": "Annotation",
|
|
@@ -950,16 +964,24 @@ var Neo4jGraphDatabase = class {
|
|
|
950
964
|
}
|
|
951
965
|
}
|
|
952
966
|
async updateResource(id, input) {
|
|
953
|
-
|
|
954
|
-
|
|
967
|
+
assertMutableResourceUpdate(input);
|
|
968
|
+
const sets = [];
|
|
969
|
+
const params = { id };
|
|
970
|
+
if (input.archived !== void 0) {
|
|
971
|
+
sets.push("d.archived = $archived");
|
|
972
|
+
params.archived = input.archived;
|
|
973
|
+
}
|
|
974
|
+
if (input.entityTypes !== void 0) {
|
|
975
|
+
sets.push("d.entityTypes = $entityTypes");
|
|
976
|
+
params.entityTypes = input.entityTypes;
|
|
955
977
|
}
|
|
956
978
|
const session = this.getSession();
|
|
957
979
|
try {
|
|
958
980
|
const result = await session.run(
|
|
959
981
|
`MATCH (d:Resource {id: $id})
|
|
960
|
-
SET
|
|
982
|
+
SET ${sets.join(", ")}
|
|
961
983
|
RETURN d`,
|
|
962
|
-
|
|
984
|
+
params
|
|
963
985
|
);
|
|
964
986
|
if (result.records.length === 0) {
|
|
965
987
|
throw new Error("Resource not found");
|
|
@@ -1961,10 +1983,15 @@ var JanusGraphDatabase = class {
|
|
|
1961
1983
|
return this.vertexToResource(vertices[0]);
|
|
1962
1984
|
}
|
|
1963
1985
|
async updateResource(id, input) {
|
|
1964
|
-
|
|
1965
|
-
|
|
1986
|
+
assertMutableResourceUpdate(input);
|
|
1987
|
+
let traversal = this.g.V().has("Resource", "id", id);
|
|
1988
|
+
if (input.archived !== void 0) {
|
|
1989
|
+
traversal = traversal.property("archived", input.archived);
|
|
1966
1990
|
}
|
|
1967
|
-
|
|
1991
|
+
if (input.entityTypes !== void 0) {
|
|
1992
|
+
traversal = traversal.property("entityTypes", JSON.stringify(input.entityTypes));
|
|
1993
|
+
}
|
|
1994
|
+
await traversal.next();
|
|
1968
1995
|
const updatedResource = await this.getResource(id);
|
|
1969
1996
|
if (!updatedResource) {
|
|
1970
1997
|
throw new Error("Resource not found");
|
|
@@ -2002,7 +2029,7 @@ var JanusGraphDatabase = class {
|
|
|
2002
2029
|
return result.resources;
|
|
2003
2030
|
}
|
|
2004
2031
|
async createAnnotation(input) {
|
|
2005
|
-
const id =
|
|
2032
|
+
const id = input.id;
|
|
2006
2033
|
const motivation = input.motivation;
|
|
2007
2034
|
const annotation = {
|
|
2008
2035
|
"@context": "http://www.w3.org/ns/anno.jsonld",
|
|
@@ -2363,12 +2390,11 @@ var MemoryGraphDatabase = class {
|
|
|
2363
2390
|
return this.resources.get(String(id)) || null;
|
|
2364
2391
|
}
|
|
2365
2392
|
async updateResource(id, input) {
|
|
2366
|
-
|
|
2367
|
-
throw new Error("Resources are immutable. Only archiving is allowed.");
|
|
2368
|
-
}
|
|
2393
|
+
assertMutableResourceUpdate(input);
|
|
2369
2394
|
const doc = this.resources.get(String(id));
|
|
2370
2395
|
if (!doc) throw new Error("Resource not found");
|
|
2371
|
-
doc.archived = input.archived;
|
|
2396
|
+
if (input.archived !== void 0) doc.archived = input.archived;
|
|
2397
|
+
if (input.entityTypes !== void 0) doc.entityTypes = input.entityTypes;
|
|
2372
2398
|
return doc;
|
|
2373
2399
|
}
|
|
2374
2400
|
async deleteResource(id) {
|
|
@@ -2407,7 +2433,7 @@ var MemoryGraphDatabase = class {
|
|
|
2407
2433
|
return results;
|
|
2408
2434
|
}
|
|
2409
2435
|
async createAnnotation(input) {
|
|
2410
|
-
const id =
|
|
2436
|
+
const id = input.id;
|
|
2411
2437
|
const annotation = {
|
|
2412
2438
|
"@context": "http://www.w3.org/ns/anno.jsonld",
|
|
2413
2439
|
"type": "Annotation",
|