rivetkit 2.3.30 → 3.0.0-preview.1
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/browser/client.d.ts +58 -9
- package/dist/browser/client.js +193 -20
- package/dist/browser/client.js.map +1 -1
- package/dist/browser/inspector/client.js +1 -2
- package/dist/browser/inspector/client.js.map +1 -1
- package/dist/tsup/{chunk-5UUOECX2.cjs → chunk-3E2BPHQO.cjs} +10 -10
- package/dist/tsup/{chunk-5UUOECX2.cjs.map → chunk-3E2BPHQO.cjs.map} +1 -1
- package/dist/tsup/{chunk-I472KTIC.js → chunk-3MMTF3QA.js} +188 -28
- package/dist/tsup/chunk-3MMTF3QA.js.map +1 -0
- package/dist/tsup/{chunk-CORYIKDC.js → chunk-5OCN7VHH.js} +10 -11
- package/dist/tsup/chunk-5OCN7VHH.js.map +1 -0
- package/dist/tsup/{chunk-OJFVABRH.cjs → chunk-6DDQSAAT.cjs} +7 -7
- package/dist/tsup/{chunk-OJFVABRH.cjs.map → chunk-6DDQSAAT.cjs.map} +1 -1
- package/dist/tsup/{chunk-JI6GZ2C2.js → chunk-A2CF6PFH.js} +18 -1
- package/dist/tsup/chunk-A2CF6PFH.js.map +1 -0
- package/dist/tsup/{chunk-P2PHHJMH.cjs → chunk-CTQKKUZC.cjs} +327 -167
- package/dist/tsup/chunk-CTQKKUZC.cjs.map +1 -0
- package/dist/tsup/{chunk-H3SGQEHZ.js → chunk-DCDCHB5J.js} +2 -2
- package/dist/tsup/{chunk-EKAQ7HG2.js → chunk-DQ6K3VVV.js} +3 -3
- package/dist/tsup/{chunk-OUB7SGSA.js → chunk-H6W37YLT.js} +2 -2
- package/dist/tsup/{chunk-5SN6GAYX.cjs → chunk-HW2D5OFJ.cjs} +3 -3
- package/dist/tsup/{chunk-5SN6GAYX.cjs.map → chunk-HW2D5OFJ.cjs.map} +1 -1
- package/dist/tsup/{chunk-2BIRGEIU.cjs → chunk-IBEFA6CX.cjs} +10 -11
- package/dist/tsup/chunk-IBEFA6CX.cjs.map +1 -0
- package/dist/tsup/{chunk-GEUBEODU.cjs → chunk-JLBPBEWC.cjs} +3 -3
- package/dist/tsup/{chunk-GEUBEODU.cjs.map → chunk-JLBPBEWC.cjs.map} +1 -1
- package/dist/tsup/{chunk-4SNS3PYZ.js → chunk-KQ2WQDYT.js} +2 -2
- package/dist/tsup/{chunk-MYWZCDML.cjs → chunk-RTWH3AX3.cjs} +19 -2
- package/dist/tsup/chunk-RTWH3AX3.cjs.map +1 -0
- package/dist/tsup/{chunk-6LOYTFPZ.js → chunk-SJPPKBT3.js} +2 -2
- package/dist/tsup/{chunk-MXV26ZBB.js → chunk-TBJ4I3R3.js} +4 -4
- package/dist/tsup/{chunk-ZIIQQHC3.cjs → chunk-VCVV726P.cjs} +4 -4
- package/dist/tsup/{chunk-ZIIQQHC3.cjs.map → chunk-VCVV726P.cjs.map} +1 -1
- package/dist/tsup/{chunk-ABPZG7QV.cjs → chunk-XUO6G4H6.cjs} +3 -3
- package/dist/tsup/{chunk-ABPZG7QV.cjs.map → chunk-XUO6G4H6.cjs.map} +1 -1
- package/dist/tsup/client/mod.cjs +6 -6
- package/dist/tsup/client/mod.d.cts +15 -3
- package/dist/tsup/client/mod.d.ts +15 -3
- package/dist/tsup/client/mod.js +5 -5
- package/dist/tsup/common/log.cjs +2 -2
- package/dist/tsup/common/log.js +1 -1
- package/dist/tsup/common/websocket.cjs +3 -3
- package/dist/tsup/common/websocket.js +2 -2
- package/dist/tsup/{config-osdJqQwX.d.cts → config-8NgsxIcT.d.cts} +43 -12
- package/dist/tsup/{config-ey2I2zz5.d.ts → config-B2wlj9wx.d.cts} +7 -1
- package/dist/tsup/{config-ey2I2zz5.d.cts → config-B2wlj9wx.d.ts} +7 -1
- package/dist/tsup/{config-Cv6pjCt-.d.ts → config-DJ3KW-fe.d.ts} +43 -12
- package/dist/tsup/{context-CoVbKBuk.d.ts → context-BL8kUGjq.d.ts} +2 -2
- package/dist/tsup/{context-DpjrM7n7.d.cts → context-_RoE_YHL.d.cts} +2 -2
- package/dist/tsup/db/drizzle.cjs +2 -2
- package/dist/tsup/db/drizzle.d.cts +1 -1
- package/dist/tsup/db/drizzle.d.ts +1 -1
- package/dist/tsup/db/drizzle.js +1 -1
- package/dist/tsup/db/mod.cjs +3 -3
- package/dist/tsup/db/mod.d.cts +2 -2
- package/dist/tsup/db/mod.d.ts +2 -2
- package/dist/tsup/db/mod.js +2 -2
- package/dist/tsup/dynamic/mod.d.cts +2 -2
- package/dist/tsup/dynamic/mod.d.ts +2 -2
- package/dist/tsup/inspector/mod.cjs +5 -5
- package/dist/tsup/inspector/mod.js +4 -4
- package/dist/tsup/inspector/workflow.cjs +4 -4
- package/dist/tsup/inspector/workflow.js +3 -3
- package/dist/tsup/inspector-tab/mod.d.cts +3 -3
- package/dist/tsup/inspector-tab/mod.d.ts +3 -3
- package/dist/tsup/mod.cjs +254 -166
- package/dist/tsup/mod.cjs.map +1 -1
- package/dist/tsup/mod.d.cts +4 -4
- package/dist/tsup/mod.d.ts +4 -4
- package/dist/tsup/mod.js +168 -80
- package/dist/tsup/mod.js.map +1 -1
- package/dist/tsup/test/mod.cjs +7 -7
- package/dist/tsup/test/mod.d.cts +2 -2
- package/dist/tsup/test/mod.d.ts +2 -2
- package/dist/tsup/test/mod.js +5 -5
- package/dist/tsup/unstable/migrations.d.cts +1 -1
- package/dist/tsup/unstable/migrations.d.ts +1 -1
- package/dist/tsup/utils.cjs +2 -2
- package/dist/tsup/utils.js +1 -1
- package/dist/tsup/workflow/mod.cjs +17 -17
- package/dist/tsup/workflow/mod.d.cts +4 -4
- package/dist/tsup/workflow/mod.d.ts +4 -4
- package/dist/tsup/workflow/mod.js +5 -5
- package/package.json +9 -10
- package/src/actor/keys.ts +86 -0
- package/src/client/actor-conn.ts +92 -6
- package/src/client/actor-handle.ts +21 -3
- package/src/client/client.ts +6 -0
- package/src/client/config.ts +12 -1
- package/src/client/lifecycle-errors.ts +16 -1
- package/src/client/retry-budget.ts +78 -0
- package/src/client/utils.ts +13 -2
- package/src/common/database/config.ts +7 -1
- package/src/common/database/native-database.ts +17 -6
- package/src/common/router.ts +1 -1
- package/src/engine-api/actors.ts +3 -3
- package/src/engine-client/actor-websocket-client.ts +4 -2
- package/src/engine-client/api-endpoints.ts +44 -14
- package/src/engine-client/mod.ts +2 -2
- package/src/registry/config/envoy.ts +1 -1
- package/src/registry/config/index.ts +28 -31
- package/src/registry/index.ts +51 -19
- package/src/registry/napi-runtime.ts +3 -2
- package/src/registry/native.ts +126 -34
- package/src/registry/runtime.ts +27 -10
- package/src/registry/wasm-runtime.ts +6 -3
- package/src/utils/env-vars.ts +15 -10
- package/dist/tsup/chunk-2BIRGEIU.cjs.map +0 -1
- package/dist/tsup/chunk-CORYIKDC.js.map +0 -1
- package/dist/tsup/chunk-I472KTIC.js.map +0 -1
- package/dist/tsup/chunk-JI6GZ2C2.js.map +0 -1
- package/dist/tsup/chunk-MYWZCDML.cjs.map +0 -1
- package/dist/tsup/chunk-P2PHHJMH.cjs.map +0 -1
- package/src/actor/config.test.ts +0 -78
- package/src/actor/keys.test.ts +0 -275
- package/src/actor/utils.test.ts +0 -48
- package/src/client/test.ts +0 -44
- package/src/client/token-provider.test.ts +0 -86
- package/src/common/database/mod.test.ts +0 -364
- package/src/common/database/native-database.test.ts +0 -220
- package/src/common/inline-websocket-adapter.test.ts +0 -51
- package/src/db/drizzle.test.ts +0 -164
- package/src/registry/config/index.test.ts +0 -25
- package/src/registry/run-handler-coordinator.test.ts +0 -252
- package/src/registry/runtime.test.ts +0 -124
- package/src/unstable/migrations.test.ts +0 -170
- package/src/utils/endpoint-parser.test.ts +0 -206
- package/src/utils.test.ts +0 -34
- package/src/workflow/driver.test.ts +0 -62
- /package/dist/tsup/{chunk-H3SGQEHZ.js.map → chunk-DCDCHB5J.js.map} +0 -0
- /package/dist/tsup/{chunk-EKAQ7HG2.js.map → chunk-DQ6K3VVV.js.map} +0 -0
- /package/dist/tsup/{chunk-OUB7SGSA.js.map → chunk-H6W37YLT.js.map} +0 -0
- /package/dist/tsup/{chunk-4SNS3PYZ.js.map → chunk-KQ2WQDYT.js.map} +0 -0
- /package/dist/tsup/{chunk-6LOYTFPZ.js.map → chunk-SJPPKBT3.js.map} +0 -0
- /package/dist/tsup/{chunk-MXV26ZBB.js.map → chunk-TBJ4I3R3.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/actor/keys.ts"],"sourcesContent":["import type { ActorKey } from \"@/mod\";\n\nexport const EMPTY_KEY = \"/\";\nexport const KEY_SEPARATOR = \"/\";\nexport const KEYS = {\n\tPERSIST_DATA: Uint8Array.from([1]),\n\tCONN_PREFIX: Uint8Array.from([2]),\n\tINSPECTOR_TOKEN: Uint8Array.from([3]),\n\tKV: Uint8Array.from([4]),\n\tQUEUE_PREFIX: Uint8Array.from([5]),\n\tLAST_PUSHED_ALARM: Uint8Array.from([6]),\n\tWORKFLOW_PREFIX: Uint8Array.from([6]),\n\tTRACES_PREFIX: Uint8Array.from([7]),\n};\n\nexport const STORAGE_VERSION = {\n\tQUEUE: 1,\n\tWORKFLOW: 1,\n\tTRACES: 1,\n} as const;\n\nconst STORAGE_VERSION_BYTES = {\n\tQUEUE: Uint8Array.from([STORAGE_VERSION.QUEUE]),\n\tWORKFLOW: Uint8Array.from([STORAGE_VERSION.WORKFLOW]),\n\tTRACES: Uint8Array.from([STORAGE_VERSION.TRACES]),\n} as const;\n\nconst QUEUE_NAMESPACE = {\n\tMETADATA: Uint8Array.from([1]),\n\tMESSAGES: Uint8Array.from([2]),\n} as const;\n\nconst QUEUE_ID_BYTES = 8;\n\nfunction concatPrefix(prefix: Uint8Array, suffix: Uint8Array): Uint8Array {\n\tconst merged = new Uint8Array(prefix.length + suffix.length);\n\tmerged.set(prefix, 0);\n\tmerged.set(suffix, prefix.length);\n\treturn merged;\n}\n\nconst QUEUE_STORAGE_PREFIX = concatPrefix(\n\tKEYS.QUEUE_PREFIX,\n\tSTORAGE_VERSION_BYTES.QUEUE,\n);\nconst QUEUE_METADATA_KEY = concatPrefix(\n\tQUEUE_STORAGE_PREFIX,\n\tQUEUE_NAMESPACE.METADATA,\n);\nconst QUEUE_MESSAGES_PREFIX = concatPrefix(\n\tQUEUE_STORAGE_PREFIX,\n\tQUEUE_NAMESPACE.MESSAGES,\n);\nconst WORKFLOW_STORAGE_PREFIX = concatPrefix(\n\tKEYS.WORKFLOW_PREFIX,\n\tSTORAGE_VERSION_BYTES.WORKFLOW,\n);\nconst TRACES_STORAGE_PREFIX = concatPrefix(\n\tKEYS.TRACES_PREFIX,\n\tSTORAGE_VERSION_BYTES.TRACES,\n);\n\nexport function serializeActorKey(key: ActorKey): string {\n\t// Use a special marker for empty key arrays\n\tif (key.length === 0) {\n\t\treturn EMPTY_KEY;\n\t}\n\n\t// Escape each key part to handle the separator and the empty key marker\n\tconst escapedParts = key.map((part) => {\n\t\t// Handle empty strings by using a special marker\n\t\tif (part === \"\") {\n\t\t\treturn \"\\\\0\"; // Use \\0 as a marker for empty strings\n\t\t}\n\n\t\t// Escape backslashes first to avoid conflicts with our markers\n\t\tlet escaped = part.replace(/\\\\/g, \"\\\\\\\\\");\n\n\t\t// Then escape separators\n\t\tescaped = escaped.replace(/\\//g, `\\\\${KEY_SEPARATOR}`);\n\n\t\treturn escaped;\n\t});\n\n\treturn escapedParts.join(KEY_SEPARATOR);\n}\n\nexport function deserializeActorKey(keyString: string | undefined): ActorKey {\n\t// Check for special empty key marker\n\tif (\n\t\tkeyString === undefined ||\n\t\tkeyString === null ||\n\t\tkeyString === EMPTY_KEY\n\t) {\n\t\treturn [];\n\t}\n\n\t// Split by unescaped separators and unescape the escaped characters\n\tconst parts: string[] = [];\n\tlet currentPart = \"\";\n\tlet escaping = false;\n\tlet isEmptyStringMarker = false;\n\n\tfor (let i = 0; i < keyString.length; i++) {\n\t\tconst char = keyString[i];\n\n\t\tif (escaping) {\n\t\t\t// Handle special escape sequences\n\t\t\tif (char === \"0\") {\n\t\t\t\t// \\0 represents an empty string marker\n\t\t\t\tisEmptyStringMarker = true;\n\t\t\t} else {\n\t\t\t\t// This is an escaped character, add it directly\n\t\t\t\tcurrentPart += char;\n\t\t\t}\n\t\t\tescaping = false;\n\t\t} else if (char === \"\\\\\") {\n\t\t\t// Start of an escape sequence\n\t\t\tescaping = true;\n\t\t} else if (char === KEY_SEPARATOR) {\n\t\t\t// This is a separator\n\t\t\tif (isEmptyStringMarker) {\n\t\t\t\tparts.push(\"\");\n\t\t\t\tisEmptyStringMarker = false;\n\t\t\t} else {\n\t\t\t\tparts.push(currentPart);\n\t\t\t}\n\t\t\tcurrentPart = \"\";\n\t\t} else {\n\t\t\t// Regular character\n\t\t\tcurrentPart += char;\n\t\t}\n\t}\n\n\t// Add the last part\n\tif (escaping) {\n\t\t// Incomplete escape at the end - treat as literal backslash\n\t\tparts.push(`${currentPart}\\\\`);\n\t} else if (isEmptyStringMarker) {\n\t\tparts.push(\"\");\n\t} else if (currentPart !== \"\" || parts.length > 0) {\n\t\tparts.push(currentPart);\n\t}\n\n\treturn parts;\n}\n\nexport function makePrefixedKey(key: Uint8Array): Uint8Array {\n\tconst prefixed = new Uint8Array(KEYS.KV.length + key.length);\n\tprefixed.set(KEYS.KV, 0);\n\tprefixed.set(key, KEYS.KV.length);\n\treturn prefixed;\n}\n\nexport function removePrefixFromKey(prefixedKey: Uint8Array): Uint8Array {\n\treturn prefixedKey.slice(KEYS.KV.length);\n}\n\nexport function makeWorkflowKey(key: Uint8Array): Uint8Array {\n\treturn concatPrefix(WORKFLOW_STORAGE_PREFIX, key);\n}\n\nexport function makeTracesKey(key: Uint8Array): Uint8Array {\n\treturn concatPrefix(TRACES_STORAGE_PREFIX, key);\n}\n\nexport function workflowStoragePrefix(): Uint8Array {\n\treturn Uint8Array.from(WORKFLOW_STORAGE_PREFIX);\n}\n\nexport function tracesStoragePrefix(): Uint8Array {\n\treturn Uint8Array.from(TRACES_STORAGE_PREFIX);\n}\n\nexport function queueStoragePrefix(): Uint8Array {\n\treturn Uint8Array.from(QUEUE_STORAGE_PREFIX);\n}\n\nexport function queueMetadataKey(): Uint8Array {\n\treturn Uint8Array.from(QUEUE_METADATA_KEY);\n}\n\nexport function queueMessagesPrefix(): Uint8Array {\n\treturn Uint8Array.from(QUEUE_MESSAGES_PREFIX);\n}\n\nexport function makeConnKey(connId: string): Uint8Array {\n\tconst encoder = new TextEncoder();\n\tconst connIdBytes = encoder.encode(connId);\n\tconst key = new Uint8Array(KEYS.CONN_PREFIX.length + connIdBytes.length);\n\tkey.set(KEYS.CONN_PREFIX, 0);\n\tkey.set(connIdBytes, KEYS.CONN_PREFIX.length);\n\treturn key;\n}\n\nexport function makeQueueMessageKey(id: bigint): Uint8Array {\n\tconst key = new Uint8Array(QUEUE_MESSAGES_PREFIX.length + QUEUE_ID_BYTES);\n\tkey.set(QUEUE_MESSAGES_PREFIX, 0);\n\tconst view = new DataView(key.buffer, key.byteOffset, key.byteLength);\n\tview.setBigUint64(QUEUE_MESSAGES_PREFIX.length, id, false);\n\treturn key;\n}\n\nexport function decodeQueueMessageKey(key: Uint8Array): bigint {\n\tconst offset = QUEUE_MESSAGES_PREFIX.length;\n\tif (key.length < offset + QUEUE_ID_BYTES) {\n\t\tthrow new Error(\"Queue key is too short\");\n\t}\n\tfor (let i = 0; i < QUEUE_MESSAGES_PREFIX.length; i++) {\n\t\tif (key[i] !== QUEUE_MESSAGES_PREFIX[i]) {\n\t\t\tthrow new Error(\"Queue key has invalid prefix\");\n\t\t}\n\t}\n\tconst view = new DataView(\n\t\tkey.buffer,\n\t\tkey.byteOffset + offset,\n\t\tQUEUE_ID_BYTES,\n\t);\n\treturn view.getBigUint64(0, false);\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-MYWZCDML.cjs","../../src/actor/keys.ts"],"names":[],"mappings":"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","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-MYWZCDML.cjs","sourcesContent":[null,"import type { ActorKey } from \"@/mod\";\n\nexport const EMPTY_KEY = \"/\";\nexport const KEY_SEPARATOR = \"/\";\nexport const KEYS = {\n\tPERSIST_DATA: Uint8Array.from([1]),\n\tCONN_PREFIX: Uint8Array.from([2]),\n\tINSPECTOR_TOKEN: Uint8Array.from([3]),\n\tKV: Uint8Array.from([4]),\n\tQUEUE_PREFIX: Uint8Array.from([5]),\n\tLAST_PUSHED_ALARM: Uint8Array.from([6]),\n\tWORKFLOW_PREFIX: Uint8Array.from([6]),\n\tTRACES_PREFIX: Uint8Array.from([7]),\n};\n\nexport const STORAGE_VERSION = {\n\tQUEUE: 1,\n\tWORKFLOW: 1,\n\tTRACES: 1,\n} as const;\n\nconst STORAGE_VERSION_BYTES = {\n\tQUEUE: Uint8Array.from([STORAGE_VERSION.QUEUE]),\n\tWORKFLOW: Uint8Array.from([STORAGE_VERSION.WORKFLOW]),\n\tTRACES: Uint8Array.from([STORAGE_VERSION.TRACES]),\n} as const;\n\nconst QUEUE_NAMESPACE = {\n\tMETADATA: Uint8Array.from([1]),\n\tMESSAGES: Uint8Array.from([2]),\n} as const;\n\nconst QUEUE_ID_BYTES = 8;\n\nfunction concatPrefix(prefix: Uint8Array, suffix: Uint8Array): Uint8Array {\n\tconst merged = new Uint8Array(prefix.length + suffix.length);\n\tmerged.set(prefix, 0);\n\tmerged.set(suffix, prefix.length);\n\treturn merged;\n}\n\nconst QUEUE_STORAGE_PREFIX = concatPrefix(\n\tKEYS.QUEUE_PREFIX,\n\tSTORAGE_VERSION_BYTES.QUEUE,\n);\nconst QUEUE_METADATA_KEY = concatPrefix(\n\tQUEUE_STORAGE_PREFIX,\n\tQUEUE_NAMESPACE.METADATA,\n);\nconst QUEUE_MESSAGES_PREFIX = concatPrefix(\n\tQUEUE_STORAGE_PREFIX,\n\tQUEUE_NAMESPACE.MESSAGES,\n);\nconst WORKFLOW_STORAGE_PREFIX = concatPrefix(\n\tKEYS.WORKFLOW_PREFIX,\n\tSTORAGE_VERSION_BYTES.WORKFLOW,\n);\nconst TRACES_STORAGE_PREFIX = concatPrefix(\n\tKEYS.TRACES_PREFIX,\n\tSTORAGE_VERSION_BYTES.TRACES,\n);\n\nexport function serializeActorKey(key: ActorKey): string {\n\t// Use a special marker for empty key arrays\n\tif (key.length === 0) {\n\t\treturn EMPTY_KEY;\n\t}\n\n\t// Escape each key part to handle the separator and the empty key marker\n\tconst escapedParts = key.map((part) => {\n\t\t// Handle empty strings by using a special marker\n\t\tif (part === \"\") {\n\t\t\treturn \"\\\\0\"; // Use \\0 as a marker for empty strings\n\t\t}\n\n\t\t// Escape backslashes first to avoid conflicts with our markers\n\t\tlet escaped = part.replace(/\\\\/g, \"\\\\\\\\\");\n\n\t\t// Then escape separators\n\t\tescaped = escaped.replace(/\\//g, `\\\\${KEY_SEPARATOR}`);\n\n\t\treturn escaped;\n\t});\n\n\treturn escapedParts.join(KEY_SEPARATOR);\n}\n\nexport function deserializeActorKey(keyString: string | undefined): ActorKey {\n\t// Check for special empty key marker\n\tif (\n\t\tkeyString === undefined ||\n\t\tkeyString === null ||\n\t\tkeyString === EMPTY_KEY\n\t) {\n\t\treturn [];\n\t}\n\n\t// Split by unescaped separators and unescape the escaped characters\n\tconst parts: string[] = [];\n\tlet currentPart = \"\";\n\tlet escaping = false;\n\tlet isEmptyStringMarker = false;\n\n\tfor (let i = 0; i < keyString.length; i++) {\n\t\tconst char = keyString[i];\n\n\t\tif (escaping) {\n\t\t\t// Handle special escape sequences\n\t\t\tif (char === \"0\") {\n\t\t\t\t// \\0 represents an empty string marker\n\t\t\t\tisEmptyStringMarker = true;\n\t\t\t} else {\n\t\t\t\t// This is an escaped character, add it directly\n\t\t\t\tcurrentPart += char;\n\t\t\t}\n\t\t\tescaping = false;\n\t\t} else if (char === \"\\\\\") {\n\t\t\t// Start of an escape sequence\n\t\t\tescaping = true;\n\t\t} else if (char === KEY_SEPARATOR) {\n\t\t\t// This is a separator\n\t\t\tif (isEmptyStringMarker) {\n\t\t\t\tparts.push(\"\");\n\t\t\t\tisEmptyStringMarker = false;\n\t\t\t} else {\n\t\t\t\tparts.push(currentPart);\n\t\t\t}\n\t\t\tcurrentPart = \"\";\n\t\t} else {\n\t\t\t// Regular character\n\t\t\tcurrentPart += char;\n\t\t}\n\t}\n\n\t// Add the last part\n\tif (escaping) {\n\t\t// Incomplete escape at the end - treat as literal backslash\n\t\tparts.push(`${currentPart}\\\\`);\n\t} else if (isEmptyStringMarker) {\n\t\tparts.push(\"\");\n\t} else if (currentPart !== \"\" || parts.length > 0) {\n\t\tparts.push(currentPart);\n\t}\n\n\treturn parts;\n}\n\nexport function makePrefixedKey(key: Uint8Array): Uint8Array {\n\tconst prefixed = new Uint8Array(KEYS.KV.length + key.length);\n\tprefixed.set(KEYS.KV, 0);\n\tprefixed.set(key, KEYS.KV.length);\n\treturn prefixed;\n}\n\nexport function removePrefixFromKey(prefixedKey: Uint8Array): Uint8Array {\n\treturn prefixedKey.slice(KEYS.KV.length);\n}\n\nexport function makeWorkflowKey(key: Uint8Array): Uint8Array {\n\treturn concatPrefix(WORKFLOW_STORAGE_PREFIX, key);\n}\n\nexport function makeTracesKey(key: Uint8Array): Uint8Array {\n\treturn concatPrefix(TRACES_STORAGE_PREFIX, key);\n}\n\nexport function workflowStoragePrefix(): Uint8Array {\n\treturn Uint8Array.from(WORKFLOW_STORAGE_PREFIX);\n}\n\nexport function tracesStoragePrefix(): Uint8Array {\n\treturn Uint8Array.from(TRACES_STORAGE_PREFIX);\n}\n\nexport function queueStoragePrefix(): Uint8Array {\n\treturn Uint8Array.from(QUEUE_STORAGE_PREFIX);\n}\n\nexport function queueMetadataKey(): Uint8Array {\n\treturn Uint8Array.from(QUEUE_METADATA_KEY);\n}\n\nexport function queueMessagesPrefix(): Uint8Array {\n\treturn Uint8Array.from(QUEUE_MESSAGES_PREFIX);\n}\n\nexport function makeConnKey(connId: string): Uint8Array {\n\tconst encoder = new TextEncoder();\n\tconst connIdBytes = encoder.encode(connId);\n\tconst key = new Uint8Array(KEYS.CONN_PREFIX.length + connIdBytes.length);\n\tkey.set(KEYS.CONN_PREFIX, 0);\n\tkey.set(connIdBytes, KEYS.CONN_PREFIX.length);\n\treturn key;\n}\n\nexport function makeQueueMessageKey(id: bigint): Uint8Array {\n\tconst key = new Uint8Array(QUEUE_MESSAGES_PREFIX.length + QUEUE_ID_BYTES);\n\tkey.set(QUEUE_MESSAGES_PREFIX, 0);\n\tconst view = new DataView(key.buffer, key.byteOffset, key.byteLength);\n\tview.setBigUint64(QUEUE_MESSAGES_PREFIX.length, id, false);\n\treturn key;\n}\n\nexport function decodeQueueMessageKey(key: Uint8Array): bigint {\n\tconst offset = QUEUE_MESSAGES_PREFIX.length;\n\tif (key.length < offset + QUEUE_ID_BYTES) {\n\t\tthrow new Error(\"Queue key is too short\");\n\t}\n\tfor (let i = 0; i < QUEUE_MESSAGES_PREFIX.length; i++) {\n\t\tif (key[i] !== QUEUE_MESSAGES_PREFIX[i]) {\n\t\t\tthrow new Error(\"Queue key has invalid prefix\");\n\t\t}\n\t}\n\tconst view = new DataView(\n\t\tkey.buffer,\n\t\tkey.byteOffset + offset,\n\t\tQUEUE_ID_BYTES,\n\t);\n\treturn view.getBigUint64(0, false);\n}\n"]}
|