@alistigo/claude-storage-plugin 0.2.16 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +332 -1003
- package/dist/index.js.map +1 -1
- package/package.json +5 -8
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../list-domain/dist/errors/list-error.js","../../../node_modules/.pnpm/uuid@10.0.0/node_modules/uuid/dist/esm-browser/regex.js","../../../node_modules/.pnpm/uuid@10.0.0/node_modules/uuid/dist/esm-browser/validate.js","../../../node_modules/.pnpm/uuid@10.0.0/node_modules/uuid/dist/esm-browser/stringify.js","../../../node_modules/.pnpm/uuid@10.0.0/node_modules/uuid/dist/esm-browser/rng.js","../../../node_modules/.pnpm/uuid@10.0.0/node_modules/uuid/dist/esm-browser/v7.js","../../../node_modules/.pnpm/typeid-js@1.2.0/node_modules/typeid-js/dist/index.mjs","../../list-domain/dist/value-objects/list-element-id.js","../../list-domain/dist/value-objects/list-event-id.js","../../list-domain/dist/value-objects/list-id.js","../../list-domain/dist/value-objects/timestamp.js","../../list-domain/dist/aggregates/list.js","../../list-domain/dist/value-objects/actor-id.js","../../list-domain/dist/value-objects/list-element-content.js","../../list-document-format/dist/types.js","../../list-document-format/dist/serializer/list-document-serializer.js","../../../node_modules/.pnpm/quick-format-unescaped@4.0.4/node_modules/quick-format-unescaped/index.js","../../../node_modules/.pnpm/pino@9.14.0/node_modules/pino/browser.js","../../logger/dist/index.js","../src/claude-artifact-list-repository.ts","../src/claude-storage-plugin.ts"],"sourcesContent":["/**\n * Base error for the Core List Context.\n * Raised when a List command is rejected or an invariant is violated.\n */\nexport class ListError extends Error {\n constructor(message) {\n super(message);\n this.name = \"ListError\";\n }\n}\n/** Raised when a command references a ListElementId that does not exist. */\nexport class ListElementNotFoundError extends ListError {\n constructor(listElementId) {\n super(`ListElement not found: ${listElementId}`);\n this.name = \"ListElementNotFoundError\";\n }\n}\n/** Raised when a provided ListId does not match the expected format. */\nexport class InvalidListIdError extends ListError {\n constructor(raw) {\n super(`Invalid ListId: \"${raw}\"`);\n this.name = \"InvalidListIdError\";\n }\n}\n/** Raised when ListElementContent validation fails (empty or too long). */\nexport class InvalidListElementContentError extends ListError {\n constructor(reason) {\n super(`Invalid ListElementContent: ${reason}`);\n this.name = \"InvalidListElementContentError\";\n }\n}\n//# sourceMappingURL=list-error.js.map","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;","import REGEX from './regex.js';\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\nexport default validate;","import validate from './validate.js';\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n //\n // Note to future-self: No, you can't remove the `toLowerCase()` call.\n // REF: https://github.com/uuidjs/uuid/pull/677#issuecomment-1757351351\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n var uuid = unsafeStringify(arr, offset);\n // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\n\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n return getRandomValues(rnds8);\n}","import rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\n/**\n * UUID V7 - Unix Epoch time-based UUID\n *\n * The IETF has published RFC9562, introducing 3 new UUID versions (6,7,8). This\n * implementation of V7 is based on the accepted, though not yet approved,\n * revisions.\n *\n * RFC 9562:https://www.rfc-editor.org/rfc/rfc9562.html Universally Unique\n * IDentifiers (UUIDs)\n\n *\n * Sample V7 value:\n * https://www.rfc-editor.org/rfc/rfc9562.html#name-example-of-a-uuidv7-value\n *\n * Monotonic Bit Layout: RFC rfc9562.6.2 Method 1, Dedicated Counter Bits ref:\n * https://www.rfc-editor.org/rfc/rfc9562.html#section-6.2-5.1\n *\n * 0 1 2 3 0 1 2 3 4 5 6\n * 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1\n * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n * | unix_ts_ms |\n * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n * | unix_ts_ms | ver | seq_hi |\n * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n * |var| seq_low | rand |\n * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n * | rand |\n * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n *\n * seq is a 31 bit serialized counter; comprised of 12 bit seq_hi and 19 bit\n * seq_low, and randomly initialized upon timestamp change. 31 bit counter size\n * was selected as any bitwise operations in node are done as _signed_ 32 bit\n * ints. we exclude the sign bit.\n */\n\nvar _seqLow = null;\nvar _seqHigh = null;\nvar _msecs = 0;\nfunction v7(options, buf, offset) {\n options = options || {};\n\n // initialize buffer and pointer\n var i = buf && offset || 0;\n var b = buf || new Uint8Array(16);\n\n // rnds is Uint8Array(16) filled with random bytes\n var rnds = options.random || (options.rng || rng)();\n\n // milliseconds since unix epoch, 1970-01-01 00:00\n var msecs = options.msecs !== undefined ? options.msecs : Date.now();\n\n // seq is user provided 31 bit counter\n var seq = options.seq !== undefined ? options.seq : null;\n\n // initialize local seq high/low parts\n var seqHigh = _seqHigh;\n var seqLow = _seqLow;\n\n // check if clock has advanced and user has not provided msecs\n if (msecs > _msecs && options.msecs === undefined) {\n _msecs = msecs;\n\n // unless user provided seq, reset seq parts\n if (seq !== null) {\n seqHigh = null;\n seqLow = null;\n }\n }\n\n // if we have a user provided seq\n if (seq !== null) {\n // trim provided seq to 31 bits of value, avoiding overflow\n if (seq > 0x7fffffff) {\n seq = 0x7fffffff;\n }\n\n // split provided seq into high/low parts\n seqHigh = seq >>> 19 & 0xfff;\n seqLow = seq & 0x7ffff;\n }\n\n // randomly initialize seq\n if (seqHigh === null || seqLow === null) {\n seqHigh = rnds[6] & 0x7f;\n seqHigh = seqHigh << 8 | rnds[7];\n seqLow = rnds[8] & 0x3f; // pad for var\n seqLow = seqLow << 8 | rnds[9];\n seqLow = seqLow << 5 | rnds[10] >>> 3;\n }\n\n // increment seq if within msecs window\n if (msecs + 10000 > _msecs && seq === null) {\n if (++seqLow > 0x7ffff) {\n seqLow = 0;\n if (++seqHigh > 0xfff) {\n seqHigh = 0;\n\n // increment internal _msecs. this allows us to continue incrementing\n // while staying monotonic. Note, once we hit 10k milliseconds beyond system\n // clock, we will reset breaking monotonicity (after (2^31)*10000 generations)\n _msecs++;\n }\n }\n } else {\n // resetting; we have advanced more than\n // 10k milliseconds beyond system clock\n _msecs = msecs;\n }\n _seqHigh = seqHigh;\n _seqLow = seqLow;\n\n // [bytes 0-5] 48 bits of local timestamp\n b[i++] = _msecs / 0x10000000000 & 0xff;\n b[i++] = _msecs / 0x100000000 & 0xff;\n b[i++] = _msecs / 0x1000000 & 0xff;\n b[i++] = _msecs / 0x10000 & 0xff;\n b[i++] = _msecs / 0x100 & 0xff;\n b[i++] = _msecs & 0xff;\n\n // [byte 6] - set 4 bits of version (7) with first 4 bits seq_hi\n b[i++] = seqHigh >>> 4 & 0x0f | 0x70;\n\n // [byte 7] remaining 8 bits of seq_hi\n b[i++] = seqHigh & 0xff;\n\n // [byte 8] - variant (2 bits), first 6 bits seq_low\n b[i++] = seqLow >>> 13 & 0x3f | 0x80;\n\n // [byte 9] 8 bits seq_low\n b[i++] = seqLow >>> 5 & 0xff;\n\n // [byte 10] remaining 5 bits seq_low, 3 bits random\n b[i++] = seqLow << 3 & 0xff | rnds[10] & 0x07;\n\n // [bytes 11-15] always random\n b[i++] = rnds[11];\n b[i++] = rnds[12];\n b[i++] = rnds[13];\n b[i++] = rnds[14];\n b[i++] = rnds[15];\n return buf || unsafeStringify(b);\n}\nexport default v7;","// src/typeid.ts\nimport { stringify as stringify2 } from \"uuid\";\n\n// src/parse_uuid.ts\nfunction parseUUID(uuid) {\n let v;\n const arr = new Uint8Array(16);\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 255;\n arr[2] = v >>> 8 & 255;\n arr[3] = v & 255;\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 255;\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 255;\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 255;\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 1099511627776 & 255;\n arr[11] = v / 4294967296 & 255;\n arr[12] = v >>> 24 & 255;\n arr[13] = v >>> 16 & 255;\n arr[14] = v >>> 8 & 255;\n arr[15] = v & 255;\n return arr;\n}\n\n// src/base32.ts\nvar alphabet = \"0123456789abcdefghjkmnpqrstvwxyz\";\nvar dec = new Uint8Array([\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 255,\n 18,\n 19,\n 255,\n 20,\n 21,\n 255,\n 22,\n 23,\n 24,\n 25,\n 26,\n 255,\n 27,\n 28,\n 29,\n 30,\n 31,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255,\n 255\n]);\nfunction encode(src) {\n const dst = new Array(26).fill(\"\");\n if (src.length !== 16) {\n throw new Error(\n `Invalid length. Expected 16 bytes, got ${src.length}. Input: ${src}`\n );\n }\n dst[0] = alphabet[(src[0] & 224) >> 5];\n dst[1] = alphabet[src[0] & 31];\n dst[2] = alphabet[(src[1] & 248) >> 3];\n dst[3] = alphabet[(src[1] & 7) << 2 | (src[2] & 192) >> 6];\n dst[4] = alphabet[(src[2] & 62) >> 1];\n dst[5] = alphabet[(src[2] & 1) << 4 | (src[3] & 240) >> 4];\n dst[6] = alphabet[(src[3] & 15) << 1 | (src[4] & 128) >> 7];\n dst[7] = alphabet[(src[4] & 124) >> 2];\n dst[8] = alphabet[(src[4] & 3) << 3 | (src[5] & 224) >> 5];\n dst[9] = alphabet[src[5] & 31];\n dst[10] = alphabet[(src[6] & 248) >> 3];\n dst[11] = alphabet[(src[6] & 7) << 2 | (src[7] & 192) >> 6];\n dst[12] = alphabet[(src[7] & 62) >> 1];\n dst[13] = alphabet[(src[7] & 1) << 4 | (src[8] & 240) >> 4];\n dst[14] = alphabet[(src[8] & 15) << 1 | (src[9] & 128) >> 7];\n dst[15] = alphabet[(src[9] & 124) >> 2];\n dst[16] = alphabet[(src[9] & 3) << 3 | (src[10] & 224) >> 5];\n dst[17] = alphabet[src[10] & 31];\n dst[18] = alphabet[(src[11] & 248) >> 3];\n dst[19] = alphabet[(src[11] & 7) << 2 | (src[12] & 192) >> 6];\n dst[20] = alphabet[(src[12] & 62) >> 1];\n dst[21] = alphabet[(src[12] & 1) << 4 | (src[13] & 240) >> 4];\n dst[22] = alphabet[(src[13] & 15) << 1 | (src[14] & 128) >> 7];\n dst[23] = alphabet[(src[14] & 124) >> 2];\n dst[24] = alphabet[(src[14] & 3) << 3 | (src[15] & 224) >> 5];\n dst[25] = alphabet[src[15] & 31];\n return dst.join(\"\");\n}\nfunction decode(s) {\n if (s.length !== 26) {\n throw new Error(\n `Invalid length. Expected 26 bytes, got ${s.length}. Input: ${s}`\n );\n }\n const encoder = new TextEncoder();\n const v = encoder.encode(s);\n if (dec[v[0]] === 255 || dec[v[1]] === 255 || dec[v[2]] === 255 || dec[v[3]] === 255 || dec[v[4]] === 255 || dec[v[5]] === 255 || dec[v[6]] === 255 || dec[v[7]] === 255 || dec[v[8]] === 255 || dec[v[9]] === 255 || dec[v[10]] === 255 || dec[v[11]] === 255 || dec[v[12]] === 255 || dec[v[13]] === 255 || dec[v[14]] === 255 || dec[v[15]] === 255 || dec[v[16]] === 255 || dec[v[17]] === 255 || dec[v[18]] === 255 || dec[v[19]] === 255 || dec[v[20]] === 255 || dec[v[21]] === 255 || dec[v[22]] === 255 || dec[v[23]] === 255 || dec[v[24]] === 255 || dec[v[25]] === 255) {\n throw new Error(\"Invalid base32 character\");\n }\n const id = new Uint8Array(16);\n id[0] = dec[v[0]] << 5 | dec[v[1]];\n id[1] = dec[v[2]] << 3 | dec[v[3]] >> 2;\n id[2] = (dec[v[3]] & 3) << 6 | dec[v[4]] << 1 | dec[v[5]] >> 4;\n id[3] = (dec[v[5]] & 15) << 4 | dec[v[6]] >> 1;\n id[4] = (dec[v[6]] & 1) << 7 | dec[v[7]] << 2 | dec[v[8]] >> 3;\n id[5] = (dec[v[8]] & 7) << 5 | dec[v[9]];\n id[6] = dec[v[10]] << 3 | dec[v[11]] >> 2;\n id[7] = (dec[v[11]] & 3) << 6 | dec[v[12]] << 1 | dec[v[13]] >> 4;\n id[8] = (dec[v[13]] & 15) << 4 | dec[v[14]] >> 1;\n id[9] = (dec[v[14]] & 1) << 7 | dec[v[15]] << 2 | dec[v[16]] >> 3;\n id[10] = (dec[v[16]] & 7) << 5 | dec[v[17]];\n id[11] = dec[v[18]] << 3 | dec[v[19]] >> 2;\n id[12] = (dec[v[19]] & 3) << 6 | dec[v[20]] << 1 | dec[v[21]] >> 4;\n id[13] = (dec[v[21]] & 15) << 4 | dec[v[22]] >> 1;\n id[14] = (dec[v[22]] & 1) << 7 | dec[v[23]] << 2 | dec[v[24]] >> 3;\n id[15] = (dec[v[24]] & 7) << 5 | dec[v[25]];\n return id;\n}\n\n// src/unboxed/typeid.ts\nimport { stringify, v7 } from \"uuid\";\n\n// src/prefix.ts\nfunction isValidPrefix(str) {\n if (str.length > 63) {\n return false;\n }\n let code;\n let i;\n let len;\n for (i = 0, len = str.length; i < len; i += 1) {\n code = str.charCodeAt(i);\n const isLowerAtoZ = code > 96 && code < 123;\n const isUnderscore = code === 95;\n if ((i === 0 || i === len - 1) && !isLowerAtoZ) {\n return false;\n }\n if (!(isLowerAtoZ || isUnderscore)) {\n return false;\n }\n }\n return true;\n}\n\n// src/unboxed/error.ts\nvar InvalidPrefixError = class extends Error {\n constructor(prefix) {\n super(`Invalid prefix \"${prefix}\". Must be at most 63 ASCII letters [a-z_]`);\n this.name = \"InvalidPrefixError\";\n }\n};\nvar PrefixMismatchError = class extends Error {\n constructor(expected, actual) {\n super(`Invalid TypeId. Prefix mismatch. Expected ${expected}, got ${actual}`);\n this.name = \"PrefixMismatchError\";\n }\n};\nvar EmptyPrefixError = class extends Error {\n constructor(typeId) {\n super(`Invalid TypeId. Prefix cannot be empty when there's a separator: ${typeId}`);\n this.name = \"EmptyPrefixError\";\n }\n};\nvar InvalidSuffixLengthError = class extends Error {\n constructor(length) {\n super(`Invalid length. Suffix should have 26 characters, got ${length}`);\n this.name = \"InvalidSuffixLengthError\";\n }\n};\nvar InvalidSuffixCharacterError = class extends Error {\n constructor(firstChar) {\n super(`Invalid suffix. First character \"${firstChar}\" must be in the range [0-7]`);\n this.name = \"InvalidSuffixCharacterError\";\n }\n};\nvar TypeIDConversionError = class extends Error {\n constructor(actualPrefix, expectedPrefix) {\n super(`Cannot convert TypeID of type ${actualPrefix} to type ${expectedPrefix}`);\n this.name = \"TypeIDConversionError\";\n }\n};\n\n// src/unboxed/typeid.ts\nfunction typeidUnboxed(prefix = \"\", suffix = \"\") {\n if (!isValidPrefix(prefix)) {\n throw new InvalidPrefixError(prefix);\n }\n let finalSuffix;\n if (suffix) {\n finalSuffix = suffix;\n } else {\n const buffer = new Uint8Array(16);\n v7(void 0, buffer);\n finalSuffix = encode(buffer);\n }\n if (finalSuffix.length !== 26) {\n throw new InvalidSuffixLengthError(finalSuffix.length);\n }\n if (finalSuffix[0] > \"7\") {\n throw new InvalidSuffixCharacterError(finalSuffix[0]);\n }\n decode(finalSuffix);\n if (prefix === \"\") {\n return finalSuffix;\n } else {\n return `${prefix}_${finalSuffix}`;\n }\n}\nfunction fromString(typeId, prefix) {\n let p;\n let s;\n const underscoreIndex = typeId.lastIndexOf(\"_\");\n if (underscoreIndex === -1) {\n p = \"\";\n s = typeId;\n } else {\n p = typeId.substring(0, underscoreIndex);\n s = typeId.substring(underscoreIndex + 1);\n if (!p) {\n throw new EmptyPrefixError(typeId);\n }\n }\n if (!s) {\n throw new InvalidSuffixLengthError(0);\n }\n if (prefix && p !== prefix) {\n throw new PrefixMismatchError(prefix, p);\n }\n return typeidUnboxed(p, s);\n}\nfunction parseTypeId(typeId) {\n return { prefix: getType(typeId), suffix: getSuffix(typeId) };\n}\nfunction getType(typeId) {\n const underscoreIndex = typeId.lastIndexOf(\"_\");\n if (underscoreIndex === -1) {\n return \"\";\n }\n return typeId.substring(0, underscoreIndex);\n}\nfunction getSuffix(typeId) {\n const underscoreIndex = typeId.lastIndexOf(\"_\");\n if (underscoreIndex === -1) {\n return typeId;\n }\n return typeId.substring(underscoreIndex + 1);\n}\nfunction toUUIDBytes(typeId) {\n return decode(getSuffix(typeId));\n}\nfunction toUUID(typeId) {\n return stringify(toUUIDBytes(typeId));\n}\nfunction fromUUIDBytes(prefix, bytes) {\n const suffix = encode(bytes);\n return prefix ? `${prefix}_${suffix}` : suffix;\n}\nfunction fromUUID(uuid, prefix) {\n const suffix = encode(parseUUID(uuid));\n return prefix ? `${prefix}_${suffix}` : suffix;\n}\n\n// src/typeid.ts\nvar TypeID = class {\n constructor(prefix, suffix = \"\") {\n this.prefix = prefix;\n this.suffix = suffix;\n const typeIdRaw = typeidUnboxed(prefix, suffix);\n this.prefix = getType(typeIdRaw);\n this.suffix = getSuffix(typeIdRaw);\n }\n getType() {\n return this.prefix;\n }\n getSuffix() {\n return this.suffix;\n }\n asType(prefix) {\n const self = this;\n if (self.prefix !== prefix) {\n throw new TypeIDConversionError(self.prefix, prefix);\n }\n return self;\n }\n toUUIDBytes() {\n return decode(this.suffix);\n }\n toUUID() {\n return stringify2(this.toUUIDBytes());\n }\n toString() {\n if (this.prefix === \"\") {\n return this.suffix;\n }\n return `${this.prefix}_${this.suffix}`;\n }\n static fromString(str, prefix) {\n const typeIdRaw = fromString(str, prefix);\n return new TypeID(getType(typeIdRaw), getSuffix(typeIdRaw));\n }\n static fromUUIDBytes(prefix, bytes) {\n const suffix = encode(bytes);\n return new TypeID(prefix, suffix);\n }\n static fromUUID(prefix, uuid) {\n const suffix = encode(parseUUID(uuid));\n return new TypeID(prefix, suffix);\n }\n};\nfunction typeid(prefix = \"\", suffix = \"\") {\n return new TypeID(prefix, suffix);\n}\nexport {\n TypeID,\n fromString,\n fromUUID,\n fromUUIDBytes,\n getSuffix,\n getType,\n parseTypeId,\n toUUID,\n toUUIDBytes,\n typeid,\n typeidUnboxed\n};\n//# sourceMappingURL=index.mjs.map","import { TypeID, typeid } from \"typeid-js\";\nexport function generateListElementId() {\n return typeid(\"lse\");\n}\nexport function parseListElementId(str) {\n return TypeID.fromString(str, \"lse\");\n}\n//# sourceMappingURL=list-element-id.js.map","import { TypeID, typeid } from \"typeid-js\";\nexport function generateListEventId() {\n return typeid(\"lev\");\n}\nexport function parseListEventId(str) {\n return TypeID.fromString(str, \"lev\");\n}\n//# sourceMappingURL=list-event-id.js.map","import { TypeID, typeid } from \"typeid-js\";\nexport function generateListId() {\n return typeid(\"lst\");\n}\nexport function parseListId(str) {\n return TypeID.fromString(str, \"lst\");\n}\n//# sourceMappingURL=list-id.js.map","import { ListError } from \"../errors/list-error.js\";\n/**\n * Creates a Timestamp from an ISO 8601 UTC string, validating it parses as a valid date.\n */\nexport function createTimestamp(iso) {\n const d = new Date(iso);\n if (Number.isNaN(d.getTime())) {\n throw new ListError(`Invalid Timestamp: \"${iso}\" does not parse as a valid date`);\n }\n return iso;\n}\n/** Returns the current UTC time as a Timestamp. */\nexport function nowTimestamp() {\n return new Date().toISOString();\n}\n//# sourceMappingURL=timestamp.js.map","import { ListElementNotFoundError } from \"../errors/list-error.js\";\nimport { generateListElementId } from \"../value-objects/list-element-id.js\";\nimport { generateListEventId } from \"../value-objects/list-event-id.js\";\nimport { generateListId } from \"../value-objects/list-id.js\";\nimport { nowTimestamp } from \"../value-objects/timestamp.js\";\n/**\n * List aggregate root.\n *\n * - Private constructor: use List.create() or List.rehydrate().\n * - All state changes flow through command handlers which emit events.\n * - applyEvent() is the only method that mutates internal state.\n */\nexport class List {\n #id;\n #title;\n #elements;\n #uncommittedEvents;\n constructor(id) {\n this.#id = id;\n this.#title = undefined;\n this.#elements = new Map();\n this.#uncommittedEvents = [];\n }\n get id() {\n return this.#id;\n }\n get title() {\n return this.#title;\n }\n get elements() {\n return [...this.#elements.values()];\n }\n // ─────────────────────────────────────────────── Factory\n /**\n * Creates a new List aggregate and emits ListCreated.\n * Generates a ListId if not provided in the command.\n */\n static create(cmd) {\n const listId = cmd.listId ?? generateListId();\n const list = new List(listId);\n const event = {\n type: \"ListCreated\",\n listEventId: generateListEventId(),\n listId,\n actorId: cmd.actorId,\n timestamp: nowTimestamp(),\n ...(cmd.title !== undefined ? { title: cmd.title } : {}),\n };\n list.#applyEvent(event);\n list.#uncommittedEvents.push(event);\n return { list, event };\n }\n // ─────────────────────────────────────────────── Rehydration\n /**\n * Reconstructs a List from its full event log.\n * The resulting List has no uncommitted events.\n */\n static rehydrate(id, events) {\n const list = new List(id);\n for (const event of events) {\n list.#applyEvent(event);\n }\n return list;\n }\n // ─────────────────────────────────────────────── Command Handlers\n /**\n * Appends a new ListElement to the List.\n * Invariant: content must be non-empty after trimming (enforced at ListElementContent creation).\n */\n addListElement(cmd) {\n const listElementId = generateListElementId();\n const event = {\n type: \"ListElementAdded\",\n listEventId: generateListEventId(),\n listId: this.#id,\n actorId: cmd.actorId,\n timestamp: nowTimestamp(),\n listElementId,\n content: cmd.content,\n };\n this.#applyEvent(event);\n this.#uncommittedEvents.push(event);\n return event;\n }\n /**\n * Removes a ListElement from the List by its stable identity.\n * Invariant: the ListElementId must exist in the current elements.\n * Throws ListElementNotFoundError if not found.\n */\n deleteListElement(cmd) {\n const idStr = cmd.listElementId.toString();\n if (!this.#elements.has(idStr)) {\n throw new ListElementNotFoundError(idStr);\n }\n const event = {\n type: \"ListElementDeleted\",\n listEventId: generateListEventId(),\n listId: this.#id,\n actorId: cmd.actorId,\n timestamp: nowTimestamp(),\n listElementId: cmd.listElementId,\n };\n this.#applyEvent(event);\n this.#uncommittedEvents.push(event);\n return event;\n }\n /**\n * Emits a ListExported audit event.\n * Export is always valid — no invariants to check.\n */\n exportListDocument(cmd) {\n const event = {\n type: \"ListExported\",\n listEventId: generateListEventId(),\n listId: this.#id,\n actorId: cmd.actorId,\n timestamp: nowTimestamp(),\n format: \"json-ld\",\n };\n this.#applyEvent(event);\n this.#uncommittedEvents.push(event);\n return event;\n }\n // ─────────────────────────────────────────────── Uncommitted Events\n /** Returns all events emitted since the last load/save. */\n getUncommittedEvents() {\n return [...this.#uncommittedEvents];\n }\n /** Clears uncommitted events after they have been persisted. */\n markEventsAsCommitted() {\n this.#uncommittedEvents.length = 0;\n }\n // ─────────────────────────────────────────────── Private State Mutation\n /** Mutates state from a single event. Used by both command handlers and rehydration. */\n #applyEvent(event) {\n const handlers = {\n ListCreated: (e) => {\n this.#title = e.title;\n },\n ListElementAdded: (e) => {\n this.#elements.set(e.listElementId.toString(), {\n id: e.listElementId,\n content: e.content,\n addedAt: e.timestamp,\n });\n },\n ListElementDeleted: (e) => {\n this.#elements.delete(e.listElementId.toString());\n },\n // Audit-only event — no state change\n ListExported: (_e) => { },\n };\n // biome-ignore lint/suspicious/noExplicitAny: safe — handler key is narrowed by event.type\n handlers[event.type](event);\n }\n}\n//# sourceMappingURL=list.js.map","import { TypeID, typeid } from \"typeid-js\";\nexport function generateActorId() {\n return typeid(\"act\");\n}\nexport function parseActorId(str) {\n return TypeID.fromString(str, \"act\");\n}\n//# sourceMappingURL=actor-id.js.map","import { ListError } from \"../errors/list-error.js\";\nconst MAX_CONTENT_LENGTH = 2000;\n/**\n * Creates a validated ListElementContent value object.\n * Trims whitespace, enforces non-empty and max 2000 characters.\n */\nexport function createListElementContent(raw) {\n const trimmed = raw.trim();\n if (trimmed.length === 0) {\n throw new ListError(\"ListElementContent cannot be empty\");\n }\n if (trimmed.length > MAX_CONTENT_LENGTH) {\n throw new ListError(`ListElementContent exceeds maximum length of ${MAX_CONTENT_LENGTH} characters`);\n }\n return trimmed;\n}\n//# sourceMappingURL=list-element-content.js.map","export const ALISTIGO_CONTEXT = {\n \"@vocab\": \"https://schema.org/\",\n alistigo: \"https://alistigo.ai/vocab/\",\n};\n//# sourceMappingURL=types.js.map","import { createListElementContent, createTimestamp, List, parseActorId, parseListElementId, parseListEventId, parseListId, } from \"@alistigo/list-domain\";\nimport { ALISTIGO_CONTEXT, } from \"../types.js\";\nexport const SCHEMA_VERSION = \"1.0.0\";\nfunction eventToRecord(event) {\n const base = {\n \"alistigo:listEventId\": event.listEventId.toString(),\n \"alistigo:listId\": event.listId.toString(),\n \"alistigo:actorId\": event.actorId.toString(),\n \"alistigo:timestamp\": event.timestamp,\n };\n switch (event.type) {\n case \"ListCreated\": {\n const record = {\n ...base,\n \"alistigo:eventType\": \"ListCreated\",\n ...(event.title !== undefined ? { name: event.title } : {}),\n };\n return record;\n }\n case \"ListElementAdded\": {\n const record = {\n ...base,\n \"alistigo:eventType\": \"ListElementAdded\",\n \"alistigo:listElementId\": event.listElementId.toString(),\n name: event.content,\n };\n return record;\n }\n case \"ListElementDeleted\": {\n const record = {\n ...base,\n \"alistigo:eventType\": \"ListElementDeleted\",\n \"alistigo:listElementId\": event.listElementId.toString(),\n };\n return record;\n }\n case \"ListExported\": {\n const record = {\n ...base,\n \"alistigo:eventType\": \"ListExported\",\n };\n return record;\n }\n }\n}\nfunction recordToEvent(record) {\n const base = {\n listEventId: parseListEventId(record[\"alistigo:listEventId\"]),\n listId: parseListId(record[\"alistigo:listId\"]),\n actorId: parseActorId(record[\"alistigo:actorId\"]),\n timestamp: createTimestamp(record[\"alistigo:timestamp\"]),\n };\n switch (record[\"alistigo:eventType\"]) {\n case \"ListCreated\": {\n const created = record;\n return {\n ...base,\n type: \"ListCreated\",\n ...(created.name !== undefined ? { title: created.name } : {}),\n };\n }\n case \"ListElementAdded\": {\n const added = record;\n return {\n ...base,\n type: \"ListElementAdded\",\n listElementId: parseListElementId(added[\"alistigo:listElementId\"]),\n content: createListElementContent(added.name),\n };\n }\n case \"ListElementDeleted\": {\n const deleted = record;\n return {\n ...base,\n type: \"ListElementDeleted\",\n listElementId: parseListElementId(deleted[\"alistigo:listElementId\"]),\n };\n }\n case \"ListExported\": {\n return {\n ...base,\n type: \"ListExported\",\n format: \"json-ld\",\n };\n }\n }\n}\nexport const ListDocumentSerializer = {\n serialize(list, previousDocument) {\n const existingLog = previousDocument?.[\"alistigo:listEventLog\"] ?? [];\n const newRecords = list.getUncommittedEvents().map(eventToRecord);\n const itemListElement = list.elements.map((element, index) => ({\n \"@type\": \"ListItem\",\n \"alistigo:listElementId\": element.id.toString(),\n position: index + 1,\n name: element.content,\n }));\n const doc = {\n \"@context\": ALISTIGO_CONTEXT,\n \"@type\": \"ItemList\",\n \"alistigo:listId\": list.id.toString(),\n \"alistigo:schemaVersion\": SCHEMA_VERSION,\n itemListElement: itemListElement,\n \"alistigo:listEventLog\": [...existingLog, ...newRecords],\n };\n if (list.title !== undefined) {\n doc.name = list.title;\n }\n return doc;\n },\n deserialize(doc) {\n const listId = parseListId(doc[\"alistigo:listId\"]);\n const events = doc[\"alistigo:listEventLog\"].map(recordToEvent);\n return List.rehydrate(listId, events);\n },\n};\n//# sourceMappingURL=list-document-serializer.js.map","'use strict'\nfunction tryStringify (o) {\n try { return JSON.stringify(o) } catch(e) { return '\"[Circular]\"' }\n}\n\nmodule.exports = format\n\nfunction format(f, args, opts) {\n var ss = (opts && opts.stringify) || tryStringify\n var offset = 1\n if (typeof f === 'object' && f !== null) {\n var len = args.length + offset\n if (len === 1) return f\n var objects = new Array(len)\n objects[0] = ss(f)\n for (var index = 1; index < len; index++) {\n objects[index] = ss(args[index])\n }\n return objects.join(' ')\n }\n if (typeof f !== 'string') {\n return f\n }\n var argLen = args.length\n if (argLen === 0) return f\n var str = ''\n var a = 1 - offset\n var lastPos = -1\n var flen = (f && f.length) || 0\n for (var i = 0; i < flen;) {\n if (f.charCodeAt(i) === 37 && i + 1 < flen) {\n lastPos = lastPos > -1 ? lastPos : 0\n switch (f.charCodeAt(i + 1)) {\n case 100: // 'd'\n case 102: // 'f'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Number(args[a])\n lastPos = i + 2\n i++\n break\n case 105: // 'i'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Math.floor(Number(args[a]))\n lastPos = i + 2\n i++\n break\n case 79: // 'O'\n case 111: // 'o'\n case 106: // 'j'\n if (a >= argLen)\n break\n if (args[a] === undefined) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n var type = typeof args[a]\n if (type === 'string') {\n str += '\\'' + args[a] + '\\''\n lastPos = i + 2\n i++\n break\n }\n if (type === 'function') {\n str += args[a].name || '<anonymous>'\n lastPos = i + 2\n i++\n break\n }\n str += ss(args[a])\n lastPos = i + 2\n i++\n break\n case 115: // 's'\n if (a >= argLen)\n break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += String(args[a])\n lastPos = i + 2\n i++\n break\n case 37: // '%'\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += '%'\n lastPos = i + 2\n i++\n a--\n break\n }\n ++a\n }\n ++i\n }\n if (lastPos === -1)\n return f\n else if (lastPos < flen) {\n str += f.slice(lastPos)\n }\n\n return str\n}\n","'use strict'\n\nconst format = require('quick-format-unescaped')\n\nmodule.exports = pino\n\nconst _console = pfGlobalThisOrFallback().console || {}\nconst stdSerializers = {\n mapHttpRequest: mock,\n mapHttpResponse: mock,\n wrapRequestSerializer: passthrough,\n wrapResponseSerializer: passthrough,\n wrapErrorSerializer: passthrough,\n req: mock,\n res: mock,\n err: asErrValue,\n errWithCause: asErrValue\n}\nfunction levelToValue (level, logger) {\n return level === 'silent'\n ? Infinity\n : logger.levels.values[level]\n}\nconst baseLogFunctionSymbol = Symbol('pino.logFuncs')\nconst hierarchySymbol = Symbol('pino.hierarchy')\n\nconst logFallbackMap = {\n error: 'log',\n fatal: 'error',\n warn: 'error',\n info: 'log',\n debug: 'log',\n trace: 'log'\n}\n\nfunction appendChildLogger (parentLogger, childLogger) {\n const newEntry = {\n logger: childLogger,\n parent: parentLogger[hierarchySymbol]\n }\n childLogger[hierarchySymbol] = newEntry\n}\n\nfunction setupBaseLogFunctions (logger, levels, proto) {\n const logFunctions = {}\n levels.forEach(level => {\n logFunctions[level] = proto[level] ? proto[level] : (_console[level] || _console[logFallbackMap[level] || 'log'] || noop)\n })\n logger[baseLogFunctionSymbol] = logFunctions\n}\n\nfunction shouldSerialize (serialize, serializers) {\n if (Array.isArray(serialize)) {\n const hasToFilter = serialize.filter(function (k) {\n return k !== '!stdSerializers.err'\n })\n return hasToFilter\n } else if (serialize === true) {\n return Object.keys(serializers)\n }\n\n return false\n}\n\nfunction pino (opts) {\n opts = opts || {}\n opts.browser = opts.browser || {}\n\n const transmit = opts.browser.transmit\n if (transmit && typeof transmit.send !== 'function') { throw Error('pino: transmit option must have a send function') }\n\n const proto = opts.browser.write || _console\n if (opts.browser.write) opts.browser.asObject = true\n const serializers = opts.serializers || {}\n const serialize = shouldSerialize(opts.browser.serialize, serializers)\n let stdErrSerialize = opts.browser.serialize\n\n if (\n Array.isArray(opts.browser.serialize) &&\n opts.browser.serialize.indexOf('!stdSerializers.err') > -1\n ) stdErrSerialize = false\n\n const customLevels = Object.keys(opts.customLevels || {})\n const levels = ['error', 'fatal', 'warn', 'info', 'debug', 'trace'].concat(customLevels)\n\n if (typeof proto === 'function') {\n levels.forEach(function (level) {\n proto[level] = proto\n })\n }\n if (opts.enabled === false || opts.browser.disabled) opts.level = 'silent'\n const level = opts.level || 'info'\n const logger = Object.create(proto)\n if (!logger.log) logger.log = noop\n\n setupBaseLogFunctions(logger, levels, proto)\n // setup root hierarchy entry\n appendChildLogger({}, logger)\n\n Object.defineProperty(logger, 'levelVal', {\n get: getLevelVal\n })\n Object.defineProperty(logger, 'level', {\n get: getLevel,\n set: setLevel\n })\n\n const setOpts = {\n transmit,\n serialize,\n asObject: opts.browser.asObject,\n asObjectBindingsOnly: opts.browser.asObjectBindingsOnly,\n formatters: opts.browser.formatters,\n levels,\n timestamp: getTimeFunction(opts),\n messageKey: opts.messageKey || 'msg',\n onChild: opts.onChild || noop\n }\n logger.levels = getLevels(opts)\n logger.level = level\n\n logger.isLevelEnabled = function (level) {\n if (!this.levels.values[level]) {\n return false\n }\n\n return this.levels.values[level] >= this.levels.values[this.level]\n }\n logger.setMaxListeners = logger.getMaxListeners =\n logger.emit = logger.addListener = logger.on =\n logger.prependListener = logger.once =\n logger.prependOnceListener = logger.removeListener =\n logger.removeAllListeners = logger.listeners =\n logger.listenerCount = logger.eventNames =\n logger.write = logger.flush = noop\n logger.serializers = serializers\n logger._serialize = serialize\n logger._stdErrSerialize = stdErrSerialize\n logger.child = function (...args) { return child.call(this, setOpts, ...args) }\n\n if (transmit) logger._logEvent = createLogEventShape()\n\n function getLevelVal () {\n return levelToValue(this.level, this)\n }\n\n function getLevel () {\n return this._level\n }\n function setLevel (level) {\n if (level !== 'silent' && !this.levels.values[level]) {\n throw Error('unknown level ' + level)\n }\n this._level = level\n\n set(this, setOpts, logger, 'error') // <-- must stay first\n set(this, setOpts, logger, 'fatal')\n set(this, setOpts, logger, 'warn')\n set(this, setOpts, logger, 'info')\n set(this, setOpts, logger, 'debug')\n set(this, setOpts, logger, 'trace')\n\n customLevels.forEach((level) => {\n set(this, setOpts, logger, level)\n })\n }\n\n function child (setOpts, bindings, childOptions) {\n if (!bindings) {\n throw new Error('missing bindings for child Pino')\n }\n childOptions = childOptions || {}\n if (serialize && bindings.serializers) {\n childOptions.serializers = bindings.serializers\n }\n const childOptionsSerializers = childOptions.serializers\n if (serialize && childOptionsSerializers) {\n var childSerializers = Object.assign({}, serializers, childOptionsSerializers)\n var childSerialize = opts.browser.serialize === true\n ? Object.keys(childSerializers)\n : serialize\n delete bindings.serializers\n applySerializers([bindings], childSerialize, childSerializers, this._stdErrSerialize)\n }\n function Child (parent) {\n this._childLevel = (parent._childLevel | 0) + 1\n\n // make sure bindings are available in the `set` function\n this.bindings = bindings\n\n if (childSerializers) {\n this.serializers = childSerializers\n this._serialize = childSerialize\n }\n if (transmit) {\n this._logEvent = createLogEventShape(\n [].concat(parent._logEvent.bindings, bindings)\n )\n }\n }\n Child.prototype = this\n const newLogger = new Child(this)\n\n // must happen before the level is assigned\n appendChildLogger(this, newLogger)\n newLogger.child = function (...args) { return child.call(this, setOpts, ...args) }\n // required to actually initialize the logger functions for any given child\n newLogger.level = childOptions.level || this.level // allow level to be set by childOptions\n setOpts.onChild(newLogger)\n\n return newLogger\n }\n return logger\n}\n\nfunction getLevels (opts) {\n const customLevels = opts.customLevels || {}\n\n const values = Object.assign({}, pino.levels.values, customLevels)\n const labels = Object.assign({}, pino.levels.labels, invertObject(customLevels))\n\n return {\n values,\n labels\n }\n}\n\nfunction invertObject (obj) {\n const inverted = {}\n Object.keys(obj).forEach(function (key) {\n inverted[obj[key]] = key\n })\n return inverted\n}\n\npino.levels = {\n values: {\n fatal: 60,\n error: 50,\n warn: 40,\n info: 30,\n debug: 20,\n trace: 10\n },\n labels: {\n 10: 'trace',\n 20: 'debug',\n 30: 'info',\n 40: 'warn',\n 50: 'error',\n 60: 'fatal'\n }\n}\n\npino.stdSerializers = stdSerializers\npino.stdTimeFunctions = Object.assign({}, { nullTime, epochTime, unixTime, isoTime })\n\nfunction getBindingChain (logger) {\n const bindings = []\n if (logger.bindings) {\n bindings.push(logger.bindings)\n }\n\n // traverse up the tree to get all bindings\n let hierarchy = logger[hierarchySymbol]\n while (hierarchy.parent) {\n hierarchy = hierarchy.parent\n if (hierarchy.logger.bindings) {\n bindings.push(hierarchy.logger.bindings)\n }\n }\n\n return bindings.reverse()\n}\n\nfunction set (self, opts, rootLogger, level) {\n // override the current log functions with either `noop` or the base log function\n Object.defineProperty(self, level, {\n value: (levelToValue(self.level, rootLogger) > levelToValue(level, rootLogger)\n ? noop\n : rootLogger[baseLogFunctionSymbol][level]),\n writable: true,\n enumerable: true,\n configurable: true\n })\n\n if (self[level] === noop) {\n if (!opts.transmit) return\n\n const transmitLevel = opts.transmit.level || self.level\n const transmitValue = levelToValue(transmitLevel, rootLogger)\n const methodValue = levelToValue(level, rootLogger)\n if (methodValue < transmitValue) return\n }\n\n // make sure the log format is correct\n self[level] = createWrap(self, opts, rootLogger, level)\n\n // prepend bindings if it is not the root logger\n const bindings = getBindingChain(self)\n if (bindings.length === 0) {\n // early exit in case for rootLogger\n return\n }\n self[level] = prependBindingsInArguments(bindings, self[level])\n}\n\nfunction prependBindingsInArguments (bindings, logFunc) {\n return function () {\n return logFunc.apply(this, [...bindings, ...arguments])\n }\n}\n\nfunction createWrap (self, opts, rootLogger, level) {\n return (function (write) {\n return function LOG () {\n const ts = opts.timestamp()\n const args = new Array(arguments.length)\n const proto = (Object.getPrototypeOf && Object.getPrototypeOf(this) === _console) ? _console : this\n for (var i = 0; i < args.length; i++) args[i] = arguments[i]\n\n var argsIsSerialized = false\n if (opts.serialize) {\n applySerializers(args, this._serialize, this.serializers, this._stdErrSerialize)\n argsIsSerialized = true\n }\n if (opts.asObject || opts.formatters) {\n write.call(proto, ...asObject(this, level, args, ts, opts))\n } else write.apply(proto, args)\n\n if (opts.transmit) {\n const transmitLevel = opts.transmit.level || self._level\n const transmitValue = levelToValue(transmitLevel, rootLogger)\n const methodValue = levelToValue(level, rootLogger)\n if (methodValue < transmitValue) return\n transmit(this, {\n ts,\n methodLevel: level,\n methodValue,\n transmitLevel,\n transmitValue: rootLogger.levels.values[opts.transmit.level || self._level],\n send: opts.transmit.send,\n val: levelToValue(self._level, rootLogger)\n }, args, argsIsSerialized)\n }\n }\n })(self[baseLogFunctionSymbol][level])\n}\n\nfunction asObject (logger, level, args, ts, opts) {\n const {\n level: levelFormatter,\n log: logObjectFormatter = (obj) => obj\n } = opts.formatters || {}\n const argsCloned = args.slice()\n let msg = argsCloned[0]\n const logObject = {}\n\n let lvl = (logger._childLevel | 0) + 1\n if (lvl < 1) lvl = 1\n\n if (ts) {\n logObject.time = ts\n }\n\n if (levelFormatter) {\n const formattedLevel = levelFormatter(level, logger.levels.values[level])\n Object.assign(logObject, formattedLevel)\n } else {\n logObject.level = logger.levels.values[level]\n }\n\n if (opts.asObjectBindingsOnly) {\n if (msg !== null && typeof msg === 'object') {\n while (lvl-- && typeof argsCloned[0] === 'object') {\n Object.assign(logObject, argsCloned.shift())\n }\n }\n\n const formattedLogObject = logObjectFormatter(logObject)\n return [formattedLogObject, ...argsCloned]\n } else {\n // deliberate, catching objects, arrays\n if (msg !== null && typeof msg === 'object') {\n while (lvl-- && typeof argsCloned[0] === 'object') {\n Object.assign(logObject, argsCloned.shift())\n }\n msg = argsCloned.length ? format(argsCloned.shift(), argsCloned) : undefined\n } else if (typeof msg === 'string') msg = format(argsCloned.shift(), argsCloned)\n if (msg !== undefined) logObject[opts.messageKey] = msg\n\n const formattedLogObject = logObjectFormatter(logObject)\n return [formattedLogObject]\n }\n}\n\nfunction applySerializers (args, serialize, serializers, stdErrSerialize) {\n for (const i in args) {\n if (stdErrSerialize && args[i] instanceof Error) {\n args[i] = pino.stdSerializers.err(args[i])\n } else if (typeof args[i] === 'object' && !Array.isArray(args[i]) && serialize) {\n for (const k in args[i]) {\n if (serialize.indexOf(k) > -1 && k in serializers) {\n args[i][k] = serializers[k](args[i][k])\n }\n }\n }\n }\n}\n\nfunction transmit (logger, opts, args, argsIsSerialized = false) {\n const send = opts.send\n const ts = opts.ts\n const methodLevel = opts.methodLevel\n const methodValue = opts.methodValue\n const val = opts.val\n const bindings = logger._logEvent.bindings\n\n if (!argsIsSerialized) {\n applySerializers(\n args,\n logger._serialize || Object.keys(logger.serializers),\n logger.serializers,\n logger._stdErrSerialize === undefined ? true : logger._stdErrSerialize\n )\n }\n\n logger._logEvent.ts = ts\n logger._logEvent.messages = args.filter(function (arg) {\n // bindings can only be objects, so reference equality check via indexOf is fine\n return bindings.indexOf(arg) === -1\n })\n\n logger._logEvent.level.label = methodLevel\n logger._logEvent.level.value = methodValue\n\n send(methodLevel, logger._logEvent, val)\n\n logger._logEvent = createLogEventShape(bindings)\n}\n\nfunction createLogEventShape (bindings) {\n return {\n ts: 0,\n messages: [],\n bindings: bindings || [],\n level: { label: '', value: 0 }\n }\n}\n\nfunction asErrValue (err) {\n const obj = {\n type: err.constructor.name,\n msg: err.message,\n stack: err.stack\n }\n for (const key in err) {\n if (obj[key] === undefined) {\n obj[key] = err[key]\n }\n }\n return obj\n}\n\nfunction getTimeFunction (opts) {\n if (typeof opts.timestamp === 'function') {\n return opts.timestamp\n }\n if (opts.timestamp === false) {\n return nullTime\n }\n return epochTime\n}\n\nfunction mock () { return {} }\nfunction passthrough (a) { return a }\nfunction noop () {}\n\nfunction nullTime () { return false }\nfunction epochTime () { return Date.now() }\nfunction unixTime () { return Math.round(Date.now() / 1000.0) }\nfunction isoTime () { return new Date(Date.now()).toISOString() } // using Date.now() for testability\n\n/* eslint-disable */\n/* istanbul ignore next */\nfunction pfGlobalThisOrFallback () {\n function defd (o) { return typeof o !== 'undefined' && o }\n try {\n if (typeof globalThis !== 'undefined') return globalThis\n Object.defineProperty(Object.prototype, 'globalThis', {\n get: function () {\n delete Object.prototype.globalThis\n return (this.globalThis = this)\n },\n configurable: true\n })\n return globalThis\n } catch (e) {\n return defd(self) || defd(window) || defd(this) || {}\n }\n}\n/* eslint-enable */\n\nmodule.exports.default = pino\nmodule.exports.pino = pino\n","import pino from \"pino\";\n// Root logger — starts silent. App entry points call setLogLevel() before rendering.\n// Changing root.level propagates to all child loggers at write time (pino checks the\n// root level before forwarding to its transport).\nconst root = pino({\n level: \"silent\",\n browser: { asObject: true },\n});\nexport const setLogLevel = (level) => {\n root.level = level;\n};\n// Creates a child logger with a bound `module` field on every log entry.\n// Optionally accepts additional static context (e.g. { listId }).\nexport const createLogger = (module, ctx) => root.child({ module, ...ctx });\n//# sourceMappingURL=index.js.map","import type { ClaudeStorage } from \"@alistigo/claude-artifact-api\";\nimport type { AlistigoListStore } from \"@alistigo/list-document-editor\";\nimport type { AlistigoDocument } from \"@alistigo/list-document-format\";\nimport { ListDocumentSerializer } from \"@alistigo/list-document-format\";\nimport type { List, ListId } from \"@alistigo/list-domain\";\nimport { createLogger } from \"@alistigo/logger\";\n\nconst log = createLogger(\"alistigo:claude-storage\");\n\nconst STORAGE_TIMEOUT_MS = 1000;\n\nexport function withStorageTimeout<T>(p: Promise<T>): Promise<T> {\n return Promise.race([\n p,\n new Promise<T>((_, reject) =>\n setTimeout(() => reject(new Error(\"Storage operation timed out\")), STORAGE_TIMEOUT_MS),\n ),\n ]);\n}\n\n// Key format: no whitespace, no / \\ ' \" — TypeID format (alistigo-{listId}) is safe\n// since TypeIDs use only alphanumeric chars and underscores.\nconst storageKey = (listId: ListId): string => `alistigo-${listId.toString()}`;\n\nexport class ClaudeArtifactListRepository implements AlistigoListStore {\n private get storage(): ClaudeStorage {\n const s = (window as Window).storage;\n if (!s)\n throw new Error(\n \"ClaudeArtifactListRepository requires window.storage — use isClaudeArtifactContext() before instantiating\",\n );\n return s;\n }\n\n async load(id: ListId): Promise<List | undefined> {\n try {\n log.debug({ key: storageKey(id) }, \"loading from claude storage\");\n const result = await withStorageTimeout(this.storage.get(storageKey(id)));\n const doc = JSON.parse(result.value) as AlistigoDocument;\n return ListDocumentSerializer.deserialize(doc);\n } catch (err) {\n // window.storage.get throws for non-existent keys — not an error worth logging\n log.debug({ err }, \"load from claude storage returned nothing (key may not exist)\");\n return undefined;\n }\n }\n\n async save(list: List): Promise<void> {\n const prev = await this.loadDocument(list.id);\n const doc = ListDocumentSerializer.serialize(list, prev);\n await withStorageTimeout(this.storage.set(storageKey(list.id), JSON.stringify(doc)));\n log.debug({ key: storageKey(list.id) }, \"saved to claude storage\");\n }\n\n async loadDocument(id: ListId): Promise<AlistigoDocument | undefined> {\n try {\n const result = await withStorageTimeout(this.storage.get(storageKey(id)));\n return JSON.parse(result.value) as AlistigoDocument;\n } catch (err) {\n log.debug({ err }, \"loadDocument from claude storage returned nothing (key may not exist)\");\n return undefined;\n }\n }\n}\n\n/** Returns true when running inside a Claude artifact that exposes window.claude */\nexport function isClaudeArtifactContext(): boolean {\n return typeof window !== \"undefined\" && typeof window.claude?.complete === \"function\";\n}\n","import type { AlistigoPlugin } from \"@alistigo/artifact-plugin-api\";\nimport pkg from \"../package.json\" with { type: \"json\" };\nimport {\n ClaudeArtifactListRepository,\n isClaudeArtifactContext,\n withStorageTimeout,\n} from \"./claude-artifact-list-repository.js\";\n\nconst claudeStoragePlugin: AlistigoPlugin = {\n name: \"@alistigo/claude-storage-plugin\",\n version: pkg.version,\n type: \"storage\",\n storage: {\n isAvailable(): boolean {\n return isClaudeArtifactContext();\n },\n createStore() {\n return new ClaudeArtifactListRepository();\n },\n async listKeys(prefix = \"\"): Promise<Array<{ key: string; value: string }>> {\n const storage = window.storage;\n if (!storage) return [];\n try {\n // window.storage.list() returns ClaudeStorageListResult { keys: string[], prefix?, shared }\n // — not an array of {key,value}. Fetch each value individually.\n const result = await withStorageTimeout(storage.list(prefix));\n if (!result) return [];\n const entries = await Promise.all(\n result.keys.map(async (key) => {\n try {\n const item = await withStorageTimeout(storage.get(key));\n return { key, value: item.value };\n } catch {\n return null;\n }\n }),\n );\n return entries.filter((e): e is { key: string; value: string } => e !== null);\n } catch {\n return [];\n }\n },\n },\n};\n\nexport default claudeStoragePlugin;\n"],"names":["ListError","message","ListElementNotFoundError","listElementId","REGEX","validate","uuid","byteToHex","i","unsafeStringify","arr","offset","stringify","getRandomValues","rnds8","rng","_seqLow","_seqHigh","_msecs","v7","options","buf","b","rnds","msecs","seq","seqHigh","seqLow","parseUUID","v","alphabet","dec","encode","src","dst","decode","s","id","isValidPrefix","str","code","len","isLowerAtoZ","isUnderscore","InvalidPrefixError","prefix","PrefixMismatchError","expected","actual","EmptyPrefixError","typeId","InvalidSuffixLengthError","length","InvalidSuffixCharacterError","firstChar","TypeIDConversionError","actualPrefix","expectedPrefix","typeidUnboxed","suffix","finalSuffix","buffer","fromString","p","underscoreIndex","getType","getSuffix","TypeID","typeIdRaw","self","stringify2","bytes","typeid","generateListElementId","parseListElementId","generateListEventId","parseListEventId","generateListId","parseListId","createTimestamp","iso","d","nowTimestamp","List","#id","#title","#elements","#uncommittedEvents","cmd","listId","list","event","#applyEvent","events","idStr","e","_e","parseActorId","MAX_CONTENT_LENGTH","createListElementContent","raw","trimmed","ALISTIGO_CONTEXT","SCHEMA_VERSION","eventToRecord","base","recordToEvent","record","created","added","ListDocumentSerializer","previousDocument","existingLog","newRecords","itemListElement","element","index","doc","tryStringify","o","quickFormatUnescaped","format","f","args","opts","ss","objects","argLen","a","lastPos","flen","type","require$$0","browserModule","pino","_console","pfGlobalThisOrFallback","stdSerializers","mock","passthrough","asErrValue","levelToValue","level","logger","baseLogFunctionSymbol","hierarchySymbol","logFallbackMap","appendChildLogger","parentLogger","childLogger","newEntry","setupBaseLogFunctions","levels","proto","logFunctions","noop","shouldSerialize","serialize","serializers","k","transmit","stdErrSerialize","customLevels","getLevelVal","getLevel","setLevel","setOpts","getTimeFunction","getLevels","child","createLogEventShape","set","bindings","childOptions","childOptionsSerializers","childSerializers","childSerialize","applySerializers","Child","parent","newLogger","values","labels","invertObject","obj","inverted","key","nullTime","epochTime","unixTime","isoTime","getBindingChain","hierarchy","rootLogger","transmitLevel","transmitValue","createWrap","prependBindingsInArguments","logFunc","write","ts","argsIsSerialized","asObject","methodValue","levelFormatter","logObjectFormatter","argsCloned","msg","logObject","lvl","formattedLevel","send","methodLevel","val","arg","err","defd","root","createLogger","module","ctx","log","STORAGE_TIMEOUT_MS","withStorageTimeout","_","reject","storageKey","ClaudeArtifactListRepository","result","prev","isClaudeArtifactContext","claudeStoragePlugin","pkg","storage","item"],"mappings":"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ACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,E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","x_google_ignoreList":[1,2,3,4,5,6,16,17]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../claude-artifact-api/src/index.ts","../../../node_modules/.pnpm/quick-format-unescaped@4.0.4/node_modules/quick-format-unescaped/index.js","../../../node_modules/.pnpm/pino@9.14.0/node_modules/pino/browser.js","../../logger/dist/index.js","../src/retry.ts","../src/claude-key-value-store.ts","../src/claude-storage-plugin.ts"],"sourcesContent":["export interface ClaudeStorageGetResult {\n key: string;\n value: string;\n shared: boolean;\n \"@type\": string;\n}\n\nexport interface ClaudeStorageSetResult {\n key: string;\n value: string;\n shared: boolean;\n \"@type\": string;\n}\n\nexport interface ClaudeStorageDeleteResult {\n key: string;\n deleted: boolean;\n shared: boolean;\n \"@type\": string;\n}\n\nexport interface ClaudeStorageListResult {\n keys: string[];\n prefix: string;\n shared: boolean;\n \"@type\": string;\n}\n\nexport interface ClaudeStorage {\n /** Rejects (never resolves) when the key does not exist. */\n get(key: string, shared?: boolean): Promise<ClaudeStorageGetResult>;\n set(key: string, value: string, shared?: boolean): Promise<ClaudeStorageSetResult>;\n /** Rejects (never resolves) when the key does not exist. */\n delete(key: string, shared?: boolean): Promise<ClaudeStorageDeleteResult>;\n list(prefix?: string, shared?: boolean): Promise<ClaudeStorageListResult>;\n}\n\nexport interface ClaudeApi {\n complete(prompt: string): Promise<string>;\n}\n\ndeclare global {\n interface Window {\n storage?: ClaudeStorage;\n claude?: ClaudeApi;\n /** Dev-mode override injected by the playground — supersedes URL-based detection in artifactContext(). */\n claudeArtifactStatus?: \"published\";\n }\n}\n\nexport interface ArtifactContext {\n /** True only when the artifact is accessed via its published public URL. */\n published: boolean;\n /** The artifact UUID extracted from the public URL, or null in draft mode. */\n artifactId: string | null;\n}\n\n/**\n * Detects whether the artifact is running in draft (AI preview panel) or\n * published (public URL) mode by inspecting document.baseURI.\n *\n * Draft: https://www.claudeusercontent.com/?domain=… → published: false\n * Published: https://www.claudeusercontent.com/artifact/<uuid> → published: true\n */\nfunction baseURIPath(): string {\n try {\n return new URL(document.baseURI).pathname;\n } catch {\n return \"\";\n }\n}\n\nexport function artifactContext(): ArtifactContext {\n // Playground injects window.claudeArtifactStatus = \"published\" to simulate published mode.\n if (window.claudeArtifactStatus === \"published\") {\n return { published: true, artifactId: null };\n }\n const m = baseURIPath().match(/^\\/artifact\\/([0-9a-f-]{36})/i);\n return { published: Boolean(m), artifactId: m?.[1] ?? null };\n}\n","'use strict'\nfunction tryStringify (o) {\n try { return JSON.stringify(o) } catch(e) { return '\"[Circular]\"' }\n}\n\nmodule.exports = format\n\nfunction format(f, args, opts) {\n var ss = (opts && opts.stringify) || tryStringify\n var offset = 1\n if (typeof f === 'object' && f !== null) {\n var len = args.length + offset\n if (len === 1) return f\n var objects = new Array(len)\n objects[0] = ss(f)\n for (var index = 1; index < len; index++) {\n objects[index] = ss(args[index])\n }\n return objects.join(' ')\n }\n if (typeof f !== 'string') {\n return f\n }\n var argLen = args.length\n if (argLen === 0) return f\n var str = ''\n var a = 1 - offset\n var lastPos = -1\n var flen = (f && f.length) || 0\n for (var i = 0; i < flen;) {\n if (f.charCodeAt(i) === 37 && i + 1 < flen) {\n lastPos = lastPos > -1 ? lastPos : 0\n switch (f.charCodeAt(i + 1)) {\n case 100: // 'd'\n case 102: // 'f'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Number(args[a])\n lastPos = i + 2\n i++\n break\n case 105: // 'i'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Math.floor(Number(args[a]))\n lastPos = i + 2\n i++\n break\n case 79: // 'O'\n case 111: // 'o'\n case 106: // 'j'\n if (a >= argLen)\n break\n if (args[a] === undefined) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n var type = typeof args[a]\n if (type === 'string') {\n str += '\\'' + args[a] + '\\''\n lastPos = i + 2\n i++\n break\n }\n if (type === 'function') {\n str += args[a].name || '<anonymous>'\n lastPos = i + 2\n i++\n break\n }\n str += ss(args[a])\n lastPos = i + 2\n i++\n break\n case 115: // 's'\n if (a >= argLen)\n break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += String(args[a])\n lastPos = i + 2\n i++\n break\n case 37: // '%'\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += '%'\n lastPos = i + 2\n i++\n a--\n break\n }\n ++a\n }\n ++i\n }\n if (lastPos === -1)\n return f\n else if (lastPos < flen) {\n str += f.slice(lastPos)\n }\n\n return str\n}\n","'use strict'\n\nconst format = require('quick-format-unescaped')\n\nmodule.exports = pino\n\nconst _console = pfGlobalThisOrFallback().console || {}\nconst stdSerializers = {\n mapHttpRequest: mock,\n mapHttpResponse: mock,\n wrapRequestSerializer: passthrough,\n wrapResponseSerializer: passthrough,\n wrapErrorSerializer: passthrough,\n req: mock,\n res: mock,\n err: asErrValue,\n errWithCause: asErrValue\n}\nfunction levelToValue (level, logger) {\n return level === 'silent'\n ? Infinity\n : logger.levels.values[level]\n}\nconst baseLogFunctionSymbol = Symbol('pino.logFuncs')\nconst hierarchySymbol = Symbol('pino.hierarchy')\n\nconst logFallbackMap = {\n error: 'log',\n fatal: 'error',\n warn: 'error',\n info: 'log',\n debug: 'log',\n trace: 'log'\n}\n\nfunction appendChildLogger (parentLogger, childLogger) {\n const newEntry = {\n logger: childLogger,\n parent: parentLogger[hierarchySymbol]\n }\n childLogger[hierarchySymbol] = newEntry\n}\n\nfunction setupBaseLogFunctions (logger, levels, proto) {\n const logFunctions = {}\n levels.forEach(level => {\n logFunctions[level] = proto[level] ? proto[level] : (_console[level] || _console[logFallbackMap[level] || 'log'] || noop)\n })\n logger[baseLogFunctionSymbol] = logFunctions\n}\n\nfunction shouldSerialize (serialize, serializers) {\n if (Array.isArray(serialize)) {\n const hasToFilter = serialize.filter(function (k) {\n return k !== '!stdSerializers.err'\n })\n return hasToFilter\n } else if (serialize === true) {\n return Object.keys(serializers)\n }\n\n return false\n}\n\nfunction pino (opts) {\n opts = opts || {}\n opts.browser = opts.browser || {}\n\n const transmit = opts.browser.transmit\n if (transmit && typeof transmit.send !== 'function') { throw Error('pino: transmit option must have a send function') }\n\n const proto = opts.browser.write || _console\n if (opts.browser.write) opts.browser.asObject = true\n const serializers = opts.serializers || {}\n const serialize = shouldSerialize(opts.browser.serialize, serializers)\n let stdErrSerialize = opts.browser.serialize\n\n if (\n Array.isArray(opts.browser.serialize) &&\n opts.browser.serialize.indexOf('!stdSerializers.err') > -1\n ) stdErrSerialize = false\n\n const customLevels = Object.keys(opts.customLevels || {})\n const levels = ['error', 'fatal', 'warn', 'info', 'debug', 'trace'].concat(customLevels)\n\n if (typeof proto === 'function') {\n levels.forEach(function (level) {\n proto[level] = proto\n })\n }\n if (opts.enabled === false || opts.browser.disabled) opts.level = 'silent'\n const level = opts.level || 'info'\n const logger = Object.create(proto)\n if (!logger.log) logger.log = noop\n\n setupBaseLogFunctions(logger, levels, proto)\n // setup root hierarchy entry\n appendChildLogger({}, logger)\n\n Object.defineProperty(logger, 'levelVal', {\n get: getLevelVal\n })\n Object.defineProperty(logger, 'level', {\n get: getLevel,\n set: setLevel\n })\n\n const setOpts = {\n transmit,\n serialize,\n asObject: opts.browser.asObject,\n asObjectBindingsOnly: opts.browser.asObjectBindingsOnly,\n formatters: opts.browser.formatters,\n levels,\n timestamp: getTimeFunction(opts),\n messageKey: opts.messageKey || 'msg',\n onChild: opts.onChild || noop\n }\n logger.levels = getLevels(opts)\n logger.level = level\n\n logger.isLevelEnabled = function (level) {\n if (!this.levels.values[level]) {\n return false\n }\n\n return this.levels.values[level] >= this.levels.values[this.level]\n }\n logger.setMaxListeners = logger.getMaxListeners =\n logger.emit = logger.addListener = logger.on =\n logger.prependListener = logger.once =\n logger.prependOnceListener = logger.removeListener =\n logger.removeAllListeners = logger.listeners =\n logger.listenerCount = logger.eventNames =\n logger.write = logger.flush = noop\n logger.serializers = serializers\n logger._serialize = serialize\n logger._stdErrSerialize = stdErrSerialize\n logger.child = function (...args) { return child.call(this, setOpts, ...args) }\n\n if (transmit) logger._logEvent = createLogEventShape()\n\n function getLevelVal () {\n return levelToValue(this.level, this)\n }\n\n function getLevel () {\n return this._level\n }\n function setLevel (level) {\n if (level !== 'silent' && !this.levels.values[level]) {\n throw Error('unknown level ' + level)\n }\n this._level = level\n\n set(this, setOpts, logger, 'error') // <-- must stay first\n set(this, setOpts, logger, 'fatal')\n set(this, setOpts, logger, 'warn')\n set(this, setOpts, logger, 'info')\n set(this, setOpts, logger, 'debug')\n set(this, setOpts, logger, 'trace')\n\n customLevels.forEach((level) => {\n set(this, setOpts, logger, level)\n })\n }\n\n function child (setOpts, bindings, childOptions) {\n if (!bindings) {\n throw new Error('missing bindings for child Pino')\n }\n childOptions = childOptions || {}\n if (serialize && bindings.serializers) {\n childOptions.serializers = bindings.serializers\n }\n const childOptionsSerializers = childOptions.serializers\n if (serialize && childOptionsSerializers) {\n var childSerializers = Object.assign({}, serializers, childOptionsSerializers)\n var childSerialize = opts.browser.serialize === true\n ? Object.keys(childSerializers)\n : serialize\n delete bindings.serializers\n applySerializers([bindings], childSerialize, childSerializers, this._stdErrSerialize)\n }\n function Child (parent) {\n this._childLevel = (parent._childLevel | 0) + 1\n\n // make sure bindings are available in the `set` function\n this.bindings = bindings\n\n if (childSerializers) {\n this.serializers = childSerializers\n this._serialize = childSerialize\n }\n if (transmit) {\n this._logEvent = createLogEventShape(\n [].concat(parent._logEvent.bindings, bindings)\n )\n }\n }\n Child.prototype = this\n const newLogger = new Child(this)\n\n // must happen before the level is assigned\n appendChildLogger(this, newLogger)\n newLogger.child = function (...args) { return child.call(this, setOpts, ...args) }\n // required to actually initialize the logger functions for any given child\n newLogger.level = childOptions.level || this.level // allow level to be set by childOptions\n setOpts.onChild(newLogger)\n\n return newLogger\n }\n return logger\n}\n\nfunction getLevels (opts) {\n const customLevels = opts.customLevels || {}\n\n const values = Object.assign({}, pino.levels.values, customLevels)\n const labels = Object.assign({}, pino.levels.labels, invertObject(customLevels))\n\n return {\n values,\n labels\n }\n}\n\nfunction invertObject (obj) {\n const inverted = {}\n Object.keys(obj).forEach(function (key) {\n inverted[obj[key]] = key\n })\n return inverted\n}\n\npino.levels = {\n values: {\n fatal: 60,\n error: 50,\n warn: 40,\n info: 30,\n debug: 20,\n trace: 10\n },\n labels: {\n 10: 'trace',\n 20: 'debug',\n 30: 'info',\n 40: 'warn',\n 50: 'error',\n 60: 'fatal'\n }\n}\n\npino.stdSerializers = stdSerializers\npino.stdTimeFunctions = Object.assign({}, { nullTime, epochTime, unixTime, isoTime })\n\nfunction getBindingChain (logger) {\n const bindings = []\n if (logger.bindings) {\n bindings.push(logger.bindings)\n }\n\n // traverse up the tree to get all bindings\n let hierarchy = logger[hierarchySymbol]\n while (hierarchy.parent) {\n hierarchy = hierarchy.parent\n if (hierarchy.logger.bindings) {\n bindings.push(hierarchy.logger.bindings)\n }\n }\n\n return bindings.reverse()\n}\n\nfunction set (self, opts, rootLogger, level) {\n // override the current log functions with either `noop` or the base log function\n Object.defineProperty(self, level, {\n value: (levelToValue(self.level, rootLogger) > levelToValue(level, rootLogger)\n ? noop\n : rootLogger[baseLogFunctionSymbol][level]),\n writable: true,\n enumerable: true,\n configurable: true\n })\n\n if (self[level] === noop) {\n if (!opts.transmit) return\n\n const transmitLevel = opts.transmit.level || self.level\n const transmitValue = levelToValue(transmitLevel, rootLogger)\n const methodValue = levelToValue(level, rootLogger)\n if (methodValue < transmitValue) return\n }\n\n // make sure the log format is correct\n self[level] = createWrap(self, opts, rootLogger, level)\n\n // prepend bindings if it is not the root logger\n const bindings = getBindingChain(self)\n if (bindings.length === 0) {\n // early exit in case for rootLogger\n return\n }\n self[level] = prependBindingsInArguments(bindings, self[level])\n}\n\nfunction prependBindingsInArguments (bindings, logFunc) {\n return function () {\n return logFunc.apply(this, [...bindings, ...arguments])\n }\n}\n\nfunction createWrap (self, opts, rootLogger, level) {\n return (function (write) {\n return function LOG () {\n const ts = opts.timestamp()\n const args = new Array(arguments.length)\n const proto = (Object.getPrototypeOf && Object.getPrototypeOf(this) === _console) ? _console : this\n for (var i = 0; i < args.length; i++) args[i] = arguments[i]\n\n var argsIsSerialized = false\n if (opts.serialize) {\n applySerializers(args, this._serialize, this.serializers, this._stdErrSerialize)\n argsIsSerialized = true\n }\n if (opts.asObject || opts.formatters) {\n write.call(proto, ...asObject(this, level, args, ts, opts))\n } else write.apply(proto, args)\n\n if (opts.transmit) {\n const transmitLevel = opts.transmit.level || self._level\n const transmitValue = levelToValue(transmitLevel, rootLogger)\n const methodValue = levelToValue(level, rootLogger)\n if (methodValue < transmitValue) return\n transmit(this, {\n ts,\n methodLevel: level,\n methodValue,\n transmitLevel,\n transmitValue: rootLogger.levels.values[opts.transmit.level || self._level],\n send: opts.transmit.send,\n val: levelToValue(self._level, rootLogger)\n }, args, argsIsSerialized)\n }\n }\n })(self[baseLogFunctionSymbol][level])\n}\n\nfunction asObject (logger, level, args, ts, opts) {\n const {\n level: levelFormatter,\n log: logObjectFormatter = (obj) => obj\n } = opts.formatters || {}\n const argsCloned = args.slice()\n let msg = argsCloned[0]\n const logObject = {}\n\n let lvl = (logger._childLevel | 0) + 1\n if (lvl < 1) lvl = 1\n\n if (ts) {\n logObject.time = ts\n }\n\n if (levelFormatter) {\n const formattedLevel = levelFormatter(level, logger.levels.values[level])\n Object.assign(logObject, formattedLevel)\n } else {\n logObject.level = logger.levels.values[level]\n }\n\n if (opts.asObjectBindingsOnly) {\n if (msg !== null && typeof msg === 'object') {\n while (lvl-- && typeof argsCloned[0] === 'object') {\n Object.assign(logObject, argsCloned.shift())\n }\n }\n\n const formattedLogObject = logObjectFormatter(logObject)\n return [formattedLogObject, ...argsCloned]\n } else {\n // deliberate, catching objects, arrays\n if (msg !== null && typeof msg === 'object') {\n while (lvl-- && typeof argsCloned[0] === 'object') {\n Object.assign(logObject, argsCloned.shift())\n }\n msg = argsCloned.length ? format(argsCloned.shift(), argsCloned) : undefined\n } else if (typeof msg === 'string') msg = format(argsCloned.shift(), argsCloned)\n if (msg !== undefined) logObject[opts.messageKey] = msg\n\n const formattedLogObject = logObjectFormatter(logObject)\n return [formattedLogObject]\n }\n}\n\nfunction applySerializers (args, serialize, serializers, stdErrSerialize) {\n for (const i in args) {\n if (stdErrSerialize && args[i] instanceof Error) {\n args[i] = pino.stdSerializers.err(args[i])\n } else if (typeof args[i] === 'object' && !Array.isArray(args[i]) && serialize) {\n for (const k in args[i]) {\n if (serialize.indexOf(k) > -1 && k in serializers) {\n args[i][k] = serializers[k](args[i][k])\n }\n }\n }\n }\n}\n\nfunction transmit (logger, opts, args, argsIsSerialized = false) {\n const send = opts.send\n const ts = opts.ts\n const methodLevel = opts.methodLevel\n const methodValue = opts.methodValue\n const val = opts.val\n const bindings = logger._logEvent.bindings\n\n if (!argsIsSerialized) {\n applySerializers(\n args,\n logger._serialize || Object.keys(logger.serializers),\n logger.serializers,\n logger._stdErrSerialize === undefined ? true : logger._stdErrSerialize\n )\n }\n\n logger._logEvent.ts = ts\n logger._logEvent.messages = args.filter(function (arg) {\n // bindings can only be objects, so reference equality check via indexOf is fine\n return bindings.indexOf(arg) === -1\n })\n\n logger._logEvent.level.label = methodLevel\n logger._logEvent.level.value = methodValue\n\n send(methodLevel, logger._logEvent, val)\n\n logger._logEvent = createLogEventShape(bindings)\n}\n\nfunction createLogEventShape (bindings) {\n return {\n ts: 0,\n messages: [],\n bindings: bindings || [],\n level: { label: '', value: 0 }\n }\n}\n\nfunction asErrValue (err) {\n const obj = {\n type: err.constructor.name,\n msg: err.message,\n stack: err.stack\n }\n for (const key in err) {\n if (obj[key] === undefined) {\n obj[key] = err[key]\n }\n }\n return obj\n}\n\nfunction getTimeFunction (opts) {\n if (typeof opts.timestamp === 'function') {\n return opts.timestamp\n }\n if (opts.timestamp === false) {\n return nullTime\n }\n return epochTime\n}\n\nfunction mock () { return {} }\nfunction passthrough (a) { return a }\nfunction noop () {}\n\nfunction nullTime () { return false }\nfunction epochTime () { return Date.now() }\nfunction unixTime () { return Math.round(Date.now() / 1000.0) }\nfunction isoTime () { return new Date(Date.now()).toISOString() } // using Date.now() for testability\n\n/* eslint-disable */\n/* istanbul ignore next */\nfunction pfGlobalThisOrFallback () {\n function defd (o) { return typeof o !== 'undefined' && o }\n try {\n if (typeof globalThis !== 'undefined') return globalThis\n Object.defineProperty(Object.prototype, 'globalThis', {\n get: function () {\n delete Object.prototype.globalThis\n return (this.globalThis = this)\n },\n configurable: true\n })\n return globalThis\n } catch (e) {\n return defd(self) || defd(window) || defd(this) || {}\n }\n}\n/* eslint-enable */\n\nmodule.exports.default = pino\nmodule.exports.pino = pino\n","import pino from \"pino\";\n// Root logger — starts silent. App entry points call setLogLevel() before rendering.\n// Changing root.level propagates to all child loggers at write time (pino checks the\n// root level before forwarding to its transport).\nconst root = pino({\n level: \"silent\",\n browser: { asObject: true },\n});\nexport const setLogLevel = (level) => {\n root.level = level;\n};\n// Creates a child logger with a bound `module` field on every log entry.\n// Optionally accepts additional static context (e.g. { listId }).\nexport const createLogger = (module, ctx) => root.child({ module, ...ctx });\n//# sourceMappingURL=index.js.map","import { createLogger } from \"@alistigo/logger\";\n\nconst log = createLogger(\"alistigo:claude-storage:retry\");\n\nconst STORAGE_TIMEOUT_MS = 1000;\nconst STORAGE_MAX_RETRIES = 3;\n\ntype AttemptResult<T> =\n | { tag: \"ok\"; value: T }\n | { tag: \"timeout\" }\n | { tag: \"error\"; err: unknown };\n\nfunction attemptWithTimeout<T>(\n factory: () => Promise<T>,\n timeoutMs: number,\n): Promise<AttemptResult<T>> {\n return Promise.race([\n factory()\n .then((value): AttemptResult<T> => ({ tag: \"ok\", value }))\n .catch((err): AttemptResult<T> => ({ tag: \"error\", err })),\n new Promise<AttemptResult<T>>((resolve) =>\n setTimeout(() => resolve({ tag: \"timeout\" }), timeoutMs),\n ),\n ]);\n}\n\n/**\n * Calls `factory()` and waits up to `timeoutMs` (default 1 s). On timeout retries up to\n * `maxRetries` (default 3) times. Non-timeout errors are re-thrown immediately.\n * After all attempts time out, throws a descriptive error.\n */\nexport async function withStorageRetry<T>(\n factory: () => Promise<T>,\n timeoutMs = STORAGE_TIMEOUT_MS,\n maxRetries = STORAGE_MAX_RETRIES,\n): Promise<T> {\n for (let attempt = 0; attempt <= maxRetries; attempt++) {\n const result = await attemptWithTimeout(factory, timeoutMs);\n if (result.tag === \"ok\") return result.value;\n if (result.tag === \"error\") throw result.err;\n if (attempt < maxRetries) {\n log.debug({ attempt }, \"claude storage timed out, retrying\");\n }\n }\n throw new Error(`Claude storage timed out after ${maxRetries + 1} attempts`);\n}\n","import type { KeyValueStore } from \"@alistigo/artifact-plugin-api\";\nimport { artifactContext, type ClaudeStorage } from \"@alistigo/claude-artifact-api\";\nimport { createLogger } from \"@alistigo/logger\";\nimport { withStorageRetry } from \"./retry.js\";\n\nconst log = createLogger(\"alistigo:claude-storage\");\n\nexport class ClaudeKeyValueStore implements KeyValueStore {\n private get storage(): ClaudeStorage {\n const s = (window as Window).storage;\n if (!s)\n throw new Error(\n \"ClaudeKeyValueStore requires window.storage — check isClaudeArtifactContext() first\",\n );\n return s;\n }\n\n private requirePublished(): void {\n if (!artifactContext().published) {\n throw new Error(\n \"Storage is unavailable in draft mode — publish the artifact and open it via its public URL.\",\n );\n }\n }\n\n async get(key: string): Promise<unknown> {\n this.requirePublished();\n try {\n log.debug({ key }, \"get\");\n const result = await withStorageRetry(() => this.storage.get(key));\n return JSON.parse(result.value) as unknown;\n } catch (err) {\n log.debug({ key, err }, \"get returned nothing (key may not exist)\");\n return undefined;\n }\n }\n\n async set(key: string, value: unknown): Promise<void> {\n this.requirePublished();\n log.debug({ key }, \"set\");\n await withStorageRetry(() => this.storage.set(key, JSON.stringify(value)));\n }\n\n async del(key: string): Promise<void> {\n this.requirePublished();\n log.debug({ key }, \"del\");\n await withStorageRetry(() => this.storage.delete(key));\n }\n\n async list(prefix = \"\"): Promise<string[]> {\n this.requirePublished();\n try {\n log.debug({ prefix }, \"list\");\n const result = await withStorageRetry(() => this.storage.list(prefix));\n return result?.keys ?? [];\n } catch {\n return [];\n }\n }\n}\n\n/** Returns true when running inside a Claude artifact that exposes window.claude */\nexport function isClaudeArtifactContext(): boolean {\n return typeof window !== \"undefined\" && typeof window.claude?.complete === \"function\";\n}\n","import type { AlistigoPlugin } from \"@alistigo/artifact-plugin-api\";\nimport pkg from \"../package.json\" with { type: \"json\" };\nimport { ClaudeKeyValueStore, isClaudeArtifactContext } from \"./claude-key-value-store.js\";\nimport { withStorageRetry } from \"./retry.js\";\n\nconst claudeStoragePlugin: AlistigoPlugin = {\n name: \"@alistigo/claude-storage-plugin\",\n version: pkg.version,\n type: \"storage\",\n storage: {\n isAvailable(): boolean {\n return isClaudeArtifactContext();\n },\n createStore() {\n return new ClaudeKeyValueStore();\n },\n async listKeys(prefix = \"\"): Promise<Array<{ key: string; value: string }>> {\n const storage = window.storage;\n if (!storage) return [];\n try {\n const result = await withStorageRetry(() => storage.list(prefix));\n if (!result) return [];\n const entries = await Promise.all(\n result.keys.map(async (key) => {\n try {\n const item = await withStorageRetry(() => storage.get(key));\n return { key, value: item.value };\n } catch {\n return null;\n }\n }),\n );\n return entries.filter((e): e is { key: string; value: string } => e !== null);\n } catch {\n return [];\n }\n },\n },\n};\n\nexport default claudeStoragePlugin;\n"],"names":["baseURIPath","artifactContext","m","tryStringify","o","quickFormatUnescaped","format","f","args","opts","ss","offset","len","objects","index","argLen","str","a","lastPos","flen","i","type","require$$0","browserModule","pino","_console","pfGlobalThisOrFallback","stdSerializers","mock","passthrough","asErrValue","levelToValue","level","logger","baseLogFunctionSymbol","hierarchySymbol","logFallbackMap","appendChildLogger","parentLogger","childLogger","newEntry","setupBaseLogFunctions","levels","proto","logFunctions","noop","shouldSerialize","serialize","serializers","k","transmit","stdErrSerialize","customLevels","getLevelVal","getLevel","setLevel","setOpts","getTimeFunction","getLevels","child","createLogEventShape","set","bindings","childOptions","childOptionsSerializers","childSerializers","childSerialize","applySerializers","Child","parent","newLogger","values","labels","invertObject","obj","inverted","key","nullTime","epochTime","unixTime","isoTime","getBindingChain","hierarchy","self","rootLogger","transmitLevel","transmitValue","createWrap","prependBindingsInArguments","logFunc","write","ts","argsIsSerialized","asObject","methodValue","levelFormatter","logObjectFormatter","argsCloned","msg","logObject","lvl","formattedLevel","send","methodLevel","val","arg","err","defd","root","createLogger","module","ctx","log","STORAGE_TIMEOUT_MS","STORAGE_MAX_RETRIES","attemptWithTimeout","factory","timeoutMs","value","resolve","withStorageRetry","maxRetries","attempt","result","ClaudeKeyValueStore","prefix","isClaudeArtifactContext","claudeStoragePlugin","pkg","storage","item","e"],"mappings":"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","x_google_ignoreList":[1,2]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alistigo/claude-storage-plugin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Window.storage-backed AlistigoPlugin (type: storage) implementation for the Claude artifact runtime.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -42,14 +42,11 @@
|
|
|
42
42
|
"access": "public"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@alistigo/
|
|
46
|
-
"@alistigo/claude-artifact-api": "0.2.
|
|
47
|
-
"@alistigo/
|
|
48
|
-
"@alistigo/list-document-format": "0.2.14",
|
|
49
|
-
"@alistigo/list-document-editor": "0.2.14"
|
|
45
|
+
"@alistigo/artifact-plugin-api": "0.3.1",
|
|
46
|
+
"@alistigo/claude-artifact-api": "0.2.2",
|
|
47
|
+
"@alistigo/logger": "0.2.16"
|
|
50
48
|
},
|
|
51
49
|
"devDependencies": {
|
|
52
|
-
"vite": "^7.0.0"
|
|
53
|
-
"@alistigo/artifact-plugin-api": "0.2.2"
|
|
50
|
+
"vite": "^7.0.0"
|
|
54
51
|
}
|
|
55
52
|
}
|