@ai-matrx/vault 0.0.0 → 0.1.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/CHANGELOG.md +13 -0
- package/README.md +27 -1
- package/dist/index.cjs +8823 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +1186 -0
- package/dist/index.d.ts +1186 -0
- package/dist/index.js +8790 -0
- package/dist/index.js.map +1 -0
- package/dist/io/bitwarden-json.worker.js +819 -0
- package/dist/io/bitwarden-json.worker.js.map +1 -0
- package/dist/io/csv-import.worker.js +289 -0
- package/dist/io/csv-import.worker.js.map +1 -0
- package/dist/io/keepass-xml.worker.js +2563 -0
- package/dist/io/keepass-xml.worker.js.map +1 -0
- package/dist/io/onepux.worker.js +8726 -0
- package/dist/io/onepux.worker.js.map +1 -0
- package/dist/io/proton-pass.worker.js +9058 -0
- package/dist/io/proton-pass.worker.js.map +1 -0
- package/package.json +86 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/.pnpm/xmlchars@2.2.0/src/xml/1.0/ed5.ts","../../../../node_modules/.pnpm/xmlchars@2.2.0/src/xml/1.1/ed2.ts","../../../../node_modules/.pnpm/xmlchars@2.2.0/src/xmlns/1.0/ed3.ts","../../../../node_modules/.pnpm/saxes@6.0.0/src/saxes.ts","../../src/io/keepass-xml.ts","../../src/io/csv-import.ts","../../src/io/keepass-xml.worker.ts"],"sourcesContent":[null,null,null,null,"import { SaxesParser } from \"saxes\";\nimport { safeDestination, type CsvImportLimits } from \"./csv-import\";\nimport type { StructuredImportFileNotice } from \"./structured-import-worker-protocol\";\nimport type { StructuredImportRecord } from \"./structured-import\";\ntype Limits = Pick<\n CsvImportLimits,\n \"maxFileBytes\" | \"maxRecords\" | \"maxCellBytes\"\n> & { maxJsonDepth?: number };\ntype C = string | N;\ntype N = {\n name: string;\n attrs: [string, string][];\n content: C[];\n start: number;\n end: number;\n};\ntype I = {\n invalid: boolean;\n unsupported: boolean;\n fields: Map<string, string>;\n title: string;\n};\ntype S = {\n children: readonly string[];\n repeat?: readonly string[];\n required?: readonly string[];\n};\ntype BinaryIds = Set<string>;\nconst passkeys = new Set([\n \"KPEX_PASSKEY_USERNAME\",\n \"KPEX_PASSKEY_CREDENTIAL_ID\",\n \"KPEX_PASSKEY_PRIVATE_KEY_PEM\",\n \"KPEX_PASSKEY_RELYING_PARTY\",\n \"KPEX_PASSKEY_USER_HANDLE\",\n \"KPEX_PASSKEY_FLAG_BE\",\n \"KPEX_PASSKEY_FLAG_BS\",\n \"KPEX_PASSKEY_GENERATED_USER_ID\",\n]);\nconst shapes: Record<string, S> = {\n KeePassFile: { children: [\"Meta\", \"Root\"], required: [\"Meta\", \"Root\"] },\n Meta: {\n children: [\n \"Generator\",\n \"HeaderHash\",\n \"SettingsChanged\",\n \"DatabaseName\",\n \"DatabaseNameChanged\",\n \"DatabaseDescription\",\n \"DatabaseDescriptionChanged\",\n \"DefaultUserName\",\n \"DefaultUserNameChanged\",\n \"MaintenanceHistoryDays\",\n \"Color\",\n \"MasterKeyChanged\",\n \"MasterKeyChangeRec\",\n \"MasterKeyChangeForce\",\n \"MemoryProtection\",\n \"CustomIcons\",\n \"RecycleBinEnabled\",\n \"RecycleBinUUID\",\n \"RecycleBinChanged\",\n \"EntryTemplatesGroup\",\n \"EntryTemplatesGroupChanged\",\n \"LastSelectedGroup\",\n \"LastTopVisibleGroup\",\n \"HistoryMaxItems\",\n \"HistoryMaxSize\",\n \"Binaries\",\n \"CustomData\",\n ],\n },\n Root: { children: [\"Group\", \"DeletedObjects\"], required: [\"Group\"] },\n Group: {\n children: [\n \"UUID\",\n \"Name\",\n \"Notes\",\n \"Tags\",\n \"IconID\",\n \"CustomIconUUID\",\n \"Times\",\n \"IsExpanded\",\n \"DefaultAutoTypeSequence\",\n \"EnableAutoType\",\n \"EnableSearching\",\n \"LastTopVisibleEntry\",\n \"CustomData\",\n \"PreviousParentGroup\",\n \"Group\",\n \"Entry\",\n ],\n repeat: [\"Group\", \"Entry\"],\n required: [\"UUID\", \"Name\"],\n },\n Entry: {\n children: [\n \"UUID\",\n \"IconID\",\n \"CustomIconUUID\",\n \"ForegroundColor\",\n \"BackgroundColor\",\n \"OverrideURL\",\n \"Tags\",\n \"Times\",\n \"String\",\n \"Binary\",\n \"AutoType\",\n \"History\",\n \"CustomData\",\n \"QualityCheck\",\n \"PreviousParentGroup\",\n ],\n repeat: [\"String\", \"Binary\"],\n required: [\"UUID\"],\n },\n String: { children: [\"Key\", \"Value\"], required: [\"Key\", \"Value\"] },\n Binary: { children: [\"Key\", \"Value\"], required: [\"Key\", \"Value\"] },\n Times: {\n children: [\n \"LastModificationTime\",\n \"CreationTime\",\n \"LastAccessTime\",\n \"ExpiryTime\",\n \"Expires\",\n \"UsageCount\",\n \"LocationChanged\",\n \"PreviousParentGroup\",\n ],\n },\n AutoType: {\n children: [\n \"Enabled\",\n \"DataTransferObfuscation\",\n \"DefaultSequence\",\n \"Association\",\n ],\n repeat: [\"Association\"],\n },\n Association: {\n children: [\"Window\", \"KeystrokeSequence\"],\n required: [\"Window\", \"KeystrokeSequence\"],\n },\n History: { children: [\"Entry\"], repeat: [\"Entry\"] },\n CustomData: { children: [\"Item\"], repeat: [\"Item\"] },\n Item: {\n children: [\"Key\", \"Value\", \"LastModificationTime\"],\n required: [\"Key\", \"Value\"],\n },\n MemoryProtection: {\n children: [\n \"ProtectTitle\",\n \"ProtectUserName\",\n \"ProtectPassword\",\n \"ProtectURL\",\n \"ProtectNotes\",\n ],\n },\n CustomIcons: { children: [\"Icon\"], repeat: [\"Icon\"] },\n Icon: {\n children: [\"UUID\", \"Name\", \"LastModificationTime\", \"Data\"],\n required: [\"UUID\", \"Data\"],\n },\n DeletedObjects: { children: [\"DeletedObject\"], repeat: [\"DeletedObject\"] },\n DeletedObject: {\n children: [\"UUID\", \"DeletionTime\"],\n required: [\"UUID\", \"DeletionTime\"],\n },\n Binaries: { children: [\"Binary\"], repeat: [\"Binary\"] },\n};\nconst bytes = (x: string) =>\n typeof TextEncoder === \"undefined\"\n ? unescape(encodeURIComponent(x)).length\n : new TextEncoder().encode(x).byteLength,\n fail = (): never => {\n throw new Error(\"The KeePass XML file is invalid.\");\n },\n kids = (n: N, name?: string) =>\n n.content.filter(\n (x): x is N => typeof x !== \"string\" && (!name || x.name === name),\n ),\n one = (n: N, name: string) => {\n const x = kids(n, name);\n return x.length === 1 ? x[0] : undefined;\n },\n val = (n: N) =>\n n.content.every((x) => typeof x === \"string\")\n ? n.content.join(\"\")\n : undefined,\n at = (n: N, k: string): string | undefined =>\n n.attrs.find(([a]) => a === k)?.[1],\n ws = (n: N) =>\n n.content.every((x) => typeof x !== \"string\" || /^\\s*$/.test(x));\nfunction invalidFile(): never {\n throw new Error(\"The KeePass XML file is invalid.\");\n}\nfunction b64(x: string) {\n try {\n return /^[A-Za-z0-9+/]*={0,2}$/.test(x) &&\n x.length % 4 === 0 &&\n btoa(atob(x)) === x\n ? atob(x)\n : undefined;\n } catch {\n return undefined;\n }\n}\nconst uuid = (x: string) => b64(x)?.length === 16,\n bool = (x: string) =>\n [\"True\", \"False\", \"true\", \"false\", \"1\", \"0\"].includes(x),\n tri = (x: string) => bool(x) || x === \"Null\" || x === \"null\",\n integer = (x: string, n = false) =>\n /^(?:0|-?[1-9]\\d*)$/.test(x) &&\n Number.isSafeInteger(Number(x)) &&\n (!n || !x.startsWith(\"-\"));\nfunction time(x: string) {\n const raw = b64(x);\n if (raw?.length === 8) {\n let s = BigInt(0);\n for (let i = 7; i >= 0; i--)\n s = s * BigInt(256) + BigInt(raw.charCodeAt(i));\n return s >= BigInt(0);\n }\n const m = /^(\\d{4})-(\\d\\d)-(\\d\\d)T(\\d\\d):(\\d\\d):(\\d\\d)(?:\\.\\d+)?Z$/.exec(x);\n if (!m) return false;\n const [y, mo, d, h, mi, se] = m.slice(1).map(Number) as [number, number, number, number, number, number];\n const z = new Date(0);\n z.setUTCFullYear(y, mo - 1, d);\n z.setUTCHours(h, mi, se, 0);\n return (\n z.getUTCFullYear() === y &&\n z.getUTCMonth() === mo - 1 &&\n z.getUTCDate() === d &&\n z.getUTCHours() === h &&\n z.getUTCMinutes() === mi &&\n z.getUTCSeconds() === se\n );\n}\nfunction closed(n: N, k: keyof typeof shapes) {\n const s = shapes[k];\n return (\n !!s &&\n ws(n) &&\n !n.attrs.length &&\n !kids(n).some((x) => !s.children.includes(x.name)) &&\n s.children.every(\n (name) =>\n (s.repeat?.includes(name) || kids(n, name).length <= 1) &&\n (!s.required?.includes(name) || kids(n, name).length === 1),\n )\n );\n}\nfunction scalar(n: N, test: (x: string) => boolean, attrs: string[] = []) {\n const x = val(n);\n return (\n x !== undefined && test(x) && n.attrs.every(([k]) => attrs.includes(k))\n );\n}\nfunction custom(n: N) {\n const keys = new Set<string>();\n return (\n closed(n, \"CustomData\") &&\n kids(n).every((item) => {\n const key = one(item, \"Key\");\n if (!key || !closed(item, \"Item\") || !scalar(key, () => true))\n return false;\n const keyText = val(key);\n if (keyText === undefined || keys.has(keyText)) return false;\n keys.add(keyText);\n return (\n scalar(one(item, \"Value\")!, () => true) &&\n (!one(item, \"LastModificationTime\") ||\n scalar(one(item, \"LastModificationTime\")!, time))\n );\n })\n );\n}\nfunction times(n: N) {\n return (\n closed(n, \"Times\") &&\n kids(n).every((x) =>\n scalar(\n x,\n x.name === \"Expires\"\n ? bool\n : x.name === \"UsageCount\"\n ? (v) => integer(v, true)\n : x.name === \"PreviousParentGroup\"\n ? uuid\n : time,\n ),\n )\n );\n}\nfunction auto(n: N) {\n return (\n closed(n, \"AutoType\") &&\n kids(n).every((x) =>\n x.name === \"Association\"\n ? closed(x, \"Association\") &&\n scalar(one(x, \"Window\")!, () => true) &&\n scalar(one(x, \"KeystrokeSequence\")!, () => true)\n : scalar(\n x,\n x.name === \"Enabled\"\n ? bool\n : x.name === \"DataTransferObfuscation\"\n ? integer\n : () => true,\n ),\n )\n );\n}\nfunction row(n: N, f: Map<string, string>) {\n if (!closed(n, \"String\")) return { bad: true, p: false };\n const k = one(n, \"Key\")!,\n v = one(n, \"Value\")!,\n key = val(k),\n p = at(v, \"Protected\"),\n m = at(v, \"ProtectInMemory\");\n if (\n !scalar(k, () => true) ||\n !scalar(v, () => true, [\"Protected\", \"ProtectInMemory\"]) ||\n !key ||\n f.has(key) ||\n (p !== undefined && !bool(p)) ||\n (m !== undefined && !bool(m))\n )\n return { bad: true, p: false };\n f.set(key, val(v)!);\n return { bad: false, p: p === \"True\" || p === \"true\" || p === \"1\" };\n}\nfunction binary(n: N, ids: BinaryIds) {\n if (!closed(n, \"Binary\"))\n return { bad: true, inline: false, ref: undefined as string | undefined };\n const k = one(n, \"Key\")!,\n v = one(n, \"Value\")!,\n r = at(v, \"Ref\"),\n attrs = [\"Ref\", \"Protected\", \"ProtectInMemory\", \"Compressed\"];\n if (\n !scalar(k, () => true) ||\n !val(k) ||\n !scalar(v, () => true, attrs) ||\n [\"Protected\", \"ProtectInMemory\", \"Compressed\"].some(\n (a) => at(v, a) !== undefined && !bool(at(v, a)!),\n )\n )\n return { bad: true, inline: false, ref: undefined };\n if (r !== undefined)\n return {\n bad: val(v) !== \"\" || !integer(r, true) || !ids.has(r),\n inline: false,\n ref: r,\n };\n return { bad: b64(val(v)!) === undefined, inline: true, ref: undefined };\n}\nfunction inspect(n: N, ids: BinaryIds, permitHistory = true): I {\n const f = new Map<string, string>(),\n allowed = new Set(shapes.Entry!.children);\n let invalid = !ws(n) || !!n.attrs.length,\n unsupported = kids(n).some((c) => !allowed.has(c.name));\n for (const name of allowed)\n if (name !== \"String\" && name !== \"Binary\" && kids(n, name).length > 1)\n invalid = true;\n const simple: Record<string, (x: string) => boolean> = {\n UUID: uuid,\n IconID: (x) => integer(x, true),\n CustomIconUUID: uuid,\n ForegroundColor: () => true,\n BackgroundColor: () => true,\n OverrideURL: () => true,\n Tags: () => true,\n QualityCheck: bool,\n PreviousParentGroup: uuid,\n };\n for (const c of kids(n)) {\n if (!allowed.has(c.name)) continue;\n if (c.name === \"String\") {\n const z = row(c, f);\n invalid ||= z.bad;\n unsupported ||= z.p;\n } else if (c.name === \"Binary\") {\n const z = binary(c, ids);\n invalid ||= z.bad;\n unsupported ||= !z.bad;\n } else if (c.name === \"Times\") invalid ||= !times(c);\n else if (c.name === \"AutoType\") invalid ||= !auto(c);\n else if (c.name === \"CustomData\") invalid ||= !custom(c);\n else if (c.name === \"History\") {\n if (!permitHistory || !closed(c, \"History\")) invalid = true;\n for (const h of kids(c)) {\n const z = inspect(h, ids, false);\n invalid ||= z.invalid;\n unsupported ||= z.unsupported;\n }\n } else if (c.name in simple) invalid ||= !scalar(c, simple[c.name]!);\n }\n if (!one(n, \"UUID\") || !f.get(\"Title\")?.trim()) invalid = true;\n if ([...f].some(([k]) => passkeys.has(k))) unsupported = true;\n return {\n invalid,\n unsupported,\n fields: f,\n title: f.get(\"Title\") ?? \"Untitled entry\",\n };\n}\nfunction countParsedWork(node: N, inBinaryPool = false): number {\n const countedNames = new Set([\"Entry\", \"DeletedObject\", \"Icon\", \"Item\"]);\n return (\n (countedNames.has(node.name) || (inBinaryPool && node.name === \"Binary\")\n ? 1\n : 0) +\n kids(node).reduce(\n (total, child) =>\n total + countParsedWork(child, node.name === \"Binaries\"),\n 0,\n )\n );\n}\nfunction tree(xml: string, l: Limits): N {\n if (bytes(xml) > l.maxFileBytes)\n throw new Error(\"The file exceeds this organization’s import size limit.\");\n const stack: N[] = [];\n let root: N | undefined,\n count = 0;\n const p = new SaxesParser({ xmlns: false, position: true });\n p.on(\"error\", fail);\n p.on(\"doctype\", fail);\n p.on(\"processinginstruction\", fail);\n p.on(\"xmldecl\", (d) => {\n if (\n d.version !== \"1.0\" ||\n (d.encoding !== undefined && d.encoding.toLowerCase() !== \"utf-8\") ||\n (d.standalone !== undefined &&\n d.standalone !== \"yes\" &&\n d.standalone !== \"no\")\n )\n fail();\n });\n p.on(\"opentagstart\", (t) => {\n const n: N = {\n name: t.name,\n attrs: [],\n content: [],\n start: p.position - t.name.length - 2,\n end: -1,\n };\n if (stack.length) stack.at(-1)!.content.push(n);\n else if (root) fail();\n else root = n;\n stack.push(n);\n });\n p.on(\"opentag\", (t) => {\n if (\n ++count > l.maxFileBytes ||\n stack.length > (l.maxJsonDepth ?? 64) ||\n t.name.includes(\":\")\n )\n fail();\n const a = Object.entries(t.attributes).map(\n ([k, v]) => [k, String(v)] as [string, string],\n );\n if (\n new Set(a.map((x) => x[0])).size !== a.length ||\n a.some(\n ([k, v]) =>\n k.includes(\":\") ||\n bytes(k) > l.maxCellBytes ||\n bytes(v) > l.maxCellBytes,\n )\n )\n fail();\n stack.at(-1)!.attrs = a;\n });\n const append = (x: string) => {\n const n = stack.at(-1);\n if (!n) {\n if (!/^\\s*$/.test(x)) fail();\n return;\n }\n const last = n.content.at(-1);\n if (typeof last === \"string\") n.content[n.content.length - 1] = last + x;\n else n.content.push(x);\n if (\n bytes(\n n.content.filter((z): z is string => typeof z === \"string\").join(\"\"),\n ) > l.maxCellBytes\n )\n fail();\n };\n p.on(\"text\", append);\n p.on(\"cdata\", append);\n p.on(\"closetag\", () => {\n const n = stack.pop();\n if (!n) fail();\n n!.end = p.position;\n });\n p.write(xml).close();\n if (!root || stack.length) fail();\n return root!;\n}\nexport function parseKeePassXml(\n xml: string,\n limits: Limits,\n): {\n records: StructuredImportRecord[];\n fileNotices: StructuredImportFileNotice[];\n} {\n const file = tree(xml, limits);\n if (countParsedWork(file) > limits.maxRecords)\n throw new Error(\"The file has more records than this organization allows.\");\n if (!closed(file, \"KeePassFile\")) fail();\n const meta = one(file, \"Meta\")!,\n root = one(file, \"Root\")!;\n if (\n !closed(meta, \"Meta\") ||\n !closed(root, \"Root\") ||\n kids(root, \"Group\").length !== 1\n )\n fail();\n const metaScalar: Record<string, (x: string) => boolean> = {\n Generator: () => true,\n HeaderHash: (x) => b64(x) !== undefined,\n SettingsChanged: time,\n DatabaseName: () => true,\n DatabaseNameChanged: time,\n DatabaseDescription: () => true,\n DatabaseDescriptionChanged: time,\n DefaultUserName: () => true,\n DefaultUserNameChanged: time,\n MaintenanceHistoryDays: integer,\n Color: () => true,\n MasterKeyChanged: time,\n MasterKeyChangeRec: integer,\n MasterKeyChangeForce: integer,\n RecycleBinEnabled: bool,\n RecycleBinUUID: uuid,\n RecycleBinChanged: time,\n EntryTemplatesGroup: uuid,\n EntryTemplatesGroupChanged: time,\n LastSelectedGroup: uuid,\n LastTopVisibleGroup: uuid,\n HistoryMaxItems: integer,\n HistoryMaxSize: integer,\n };\n const ids = new Set<string>();\n let pool = 0;\n for (const c of kids(meta)) {\n if (c.name === \"MemoryProtection\") {\n if (\n !closed(c, \"MemoryProtection\") ||\n kids(c).some((x) => !scalar(x, bool))\n )\n fail();\n } else if (c.name === \"CustomData\") {\n if (!custom(c)) fail();\n } else if (c.name === \"CustomIcons\") {\n if (\n !closed(c, \"CustomIcons\") ||\n kids(c).some(\n (x) =>\n !closed(x, \"Icon\") ||\n !scalar(one(x, \"UUID\")!, uuid) ||\n !scalar(one(x, \"Data\")!, (v) => b64(v) !== undefined) ||\n (!!one(x, \"Name\") && !scalar(one(x, \"Name\")!, () => true)) ||\n (!!one(x, \"LastModificationTime\") &&\n !scalar(one(x, \"LastModificationTime\")!, time)),\n )\n )\n fail();\n } else if (c.name === \"Binaries\") {\n if (!closed(c, \"Binaries\")) fail();\n for (const x of kids(c)) {\n const id = at(x, \"ID\");\n if (!id) invalidFile();\n if (\n !integer(id, true) ||\n ids.has(id) ||\n x.attrs.some(\n ([k, v]) => k !== \"ID\" && (k !== \"Compressed\" || !bool(v)),\n ) ||\n !scalar(x, (v) => b64(v) !== undefined, [\"ID\", \"Compressed\"])\n )\n fail();\n ids.add(id);\n pool++;\n }\n } else if (!scalar(c, metaScalar[c.name]!)) fail();\n }\n const tomb = one(root, \"DeletedObjects\");\n const tombs = tomb ? kids(tomb).length : 0;\n if (\n tomb &&\n (!closed(tomb, \"DeletedObjects\") ||\n kids(tomb).some(\n (x) =>\n !closed(x, \"DeletedObject\") ||\n !scalar(one(x, \"UUID\")!, uuid) ||\n !scalar(one(x, \"DeletionTime\")!, time),\n ))\n )\n fail();\n const rec: StructuredImportRecord[] = [];\n const seen = new Set<string>(),\n refs = new Set<string>(),\n recycle = one(meta, \"RecycleBinUUID\"),\n metaXml = kids(meta)\n .filter((x) => x.name !== \"Binaries\")\n .map((x) => xml.slice(x.start, x.end));\n const visit = (g: N, path: string[], deleted: boolean) => {\n if (!closed(g, \"Group\")) fail();\n const simple: Record<string, (x: string) => boolean> = {\n UUID: uuid,\n Name: () => true,\n Notes: () => true,\n Tags: () => true,\n IconID: (x) => integer(x, true),\n CustomIconUUID: uuid,\n IsExpanded: bool,\n DefaultAutoTypeSequence: () => true,\n EnableAutoType: tri,\n EnableSearching: tri,\n LastTopVisibleEntry: uuid,\n PreviousParentGroup: uuid,\n };\n for (const c of kids(g)) {\n if (\n (c.name === \"Times\" && !times(c)) ||\n (c.name === \"CustomData\" && !custom(c)) ||\n (c.name in simple && !scalar(c, simple[c.name]!))\n )\n fail();\n }\n const name = val(one(g, \"Name\")!)!,\n isDeleted = deleted || val(one(g, \"UUID\")!) === val(recycle ?? g);\n for (const c of kids(g)) {\n if (c.name === \"Group\") visit(c, [...path, name], isDeleted);\n if (c.name !== \"Entry\") continue;\n const z = inspect(c, ids);\n const uuidNode = one(c, \"UUID\");\n const id = uuidNode ? val(uuidNode) : undefined;\n if (id && uuid(id)) {\n if (seen.has(id)) z.invalid = true;\n seen.add(id);\n }\n const h = one(c, \"History\");\n for (const e of [c, ...(h ? kids(h) : [])])\n for (const b of kids(e, \"Binary\")) {\n const q = binary(b, ids);\n if (q.ref) refs.add(q.ref);\n }\n const ordinal = rec.length;\n if (z.invalid) {\n rec.push({\n status: \"invalid\",\n ordinal,\n title: z.title,\n reason: \"The entry has invalid or duplicate fields.\",\n });\n continue;\n }\n if (z.unsupported) {\n rec.push({\n status: \"unsupported\",\n ordinal,\n title: z.title,\n reason:\n \"Attachments, protected values, or passkeys require a later import path.\",\n });\n continue;\n }\n const u = z.fields.get(\"URL\")\n ? safeDestination(z.fields.get(\"URL\")!).metadata\n : null,\n user = z.fields.get(\"UserName\")?.trim()\n ? z.fields.get(\"UserName\")!\n : null,\n password = z.fields.get(\"Password\")?.length\n ? z.fields.get(\"Password\")!\n : null,\n common = {\n status: \"supported\" as const,\n ordinal,\n title: z.title,\n sourceState: isDeleted ? (\"deleted\" as const) : (\"active\" as const),\n sourceRecord: JSON.stringify({\n source: \"keepass_xml\",\n version: 1,\n entry_xml: xml.slice(c.start, c.end),\n group_path: [...path, name],\n meta_xml: metaXml,\n excluded_binary_definition_count: pool,\n }),\n hasOtp: [...z.fields.keys()].some((k) =>\n /(?:totp|otp|one.?time)/i.test(k),\n ),\n ...(z.fields.get(\"Notes\") ? { notes: z.fields.get(\"Notes\") } : {}),\n };\n rec.push(\n u && (user || password)\n ? {\n ...common,\n kind: \"website_login\",\n urls: [u],\n username: user,\n password,\n }\n : { ...common, kind: \"custom\" },\n );\n }\n };\n visit(one(root, \"Group\")!, [], false);\n const notices: StructuredImportFileNotice[] = [];\n if (pool - refs.size)\n notices.push({\n code: \"unsupported_binary_definitions\",\n count: pool - refs.size,\n });\n if (tombs) notices.push({ code: \"deleted_tombstones\", count: tombs });\n return { records: rec, fileNotices: notices };\n}\n","/** Local-only CSV normalization for Vault's first password-manager import. */\nimport type { VaultItemCreateRequest } from \"@ai-matrx/api/account\";\nimport { parseDelimited } from \"@ai-matrx/kit/delimited\";\n\nimport { isLoopbackUrl } from \"./loopback\";\n\nexport type CsvImportLimits = {\n maxFileBytes: number;\n maxRecords: number;\n maxColumns: number;\n maxCellBytes: number;\n maxFields: number;\n maxPlaintextFieldBytes: number;\n maxRequestBodyBytes: number;\n maxJsonDepth?: number;\n jsonWorkerTimeoutMs?: number;\n};\nexport type CsvColumnRole =\n \"title\" | \"username\" | \"password\" | \"url\" | \"notes\" | \"otp\" | \"keep\";\nexport type CsvImportRow = {\n rowNumber: number;\n cells: string[];\n issue?: \"invalid\" | \"unsupported\" | undefined;\n};\nexport type CsvImportPreview = {\n headers: string[];\n rows: CsvImportRow[];\n issues: number;\n};\nexport type CsvImportCommand = {\n rowId: string;\n body: VaultItemCreateRequest;\n hasOtp: boolean;\n};\nexport type CsvImportPreparation =\n | { status: \"ready\"; command: CsvImportCommand }\n | {\n status: \"skipped\";\n reason:\n | \"invalid\"\n | \"unsupported\"\n | \"deleted\"\n | \"archived\"\n | \"possible_duplicate\";\n }\n | { status: \"invalid\"; diagnostic: string };\nexport type CsvImportOutcome = {\n imported: number;\n skipped: number;\n failed: number;\n cancelled: boolean;\n definitive: boolean;\n /** The first command that was not confirmed. Reuse it on a same-session retry. */\n progressCursor: number;\n};\n\nexport type CsvImportDispatch = \"committed\" | \"retryable\" | \"definitive\";\n\n/** The request's owner: an organization's vault, or the person's own. */\nexport function principalOf(organizationId: string | null): NonNullable<VaultItemCreateRequest[\"principal\"]> {\n return organizationId ? { type: \"organization\", organization_id: organizationId } : { type: \"user\" };\n}\n\nfunction utf8ByteLength(value: string): number {\n if (typeof TextEncoder !== \"undefined\")\n return new TextEncoder().encode(value).byteLength;\n return unescape(encodeURIComponent(value)).length;\n}\n\nfunction csvParserInput(text: string): string {\n // The parser emits an extra empty record for the final record terminator. Remove\n // exactly that terminator; interior/explicit blank rows retain their numbers.\n return text.replace(/^\\uFEFF/, \"\").replace(/(?:\\r\\n|\\r|\\n)$/, \"\");\n}\n\nexport function parseCsvText(\n text: string,\n limits: CsvImportLimits,\n): CsvImportPreview {\n if (utf8ByteLength(text) > limits.maxFileBytes)\n throw new Error(\"The file exceeds this organization’s import size limit.\");\n const parsed = parseDelimited(csvParserInput(text), {\n delimiter: \",\",\n skipEmptyLines: false,\n });\n if (\n parsed.errors.some(\n (error) =>\n error.code !== \"TooFewFields\" && error.code !== \"TooManyFields\",\n )\n )\n throw new Error(\"The CSV could not be read. Fix the file and try again.\");\n return validateParsedCsv(parsed.data, limits);\n}\n\nfunction validateParsedCsv(\n parsed: string[][],\n limits: CsvImportLimits,\n): CsvImportPreview {\n const [headers, ...data] = parsed;\n if (!headers?.length || headers.length > limits.maxColumns)\n throw new Error(\"The CSV has an unsupported number of columns.\");\n if (data.length > limits.maxRecords)\n throw new Error(\"The CSV has more records than this organization allows.\");\n const nonLoginTypeColumn = headers.findIndex((header) =>\n /^(item )?(type|kind|category)$/i.test(header.trim()),\n );\n const unsupportedValueColumns = headers\n .map((header, index) =>\n /(?:^|[\\s_-])(passkey|webauthn|fido|attachment|file)(?:$|[\\s_-])/i.test(\n header.trim(),\n )\n ? index\n : -1,\n )\n .filter((index) => index >= 0);\n let issues = 0;\n const rows = data.map((cells, index) => {\n const invalid =\n cells.length !== headers.length ||\n cells.some((cell) => utf8ByteLength(cell) > limits.maxCellBytes) ||\n cells.every((cell) => cell.trim().length === 0);\n const type =\n nonLoginTypeColumn >= 0\n ? (cells[nonLoginTypeColumn] ?? \"\").trim().toLowerCase()\n : \"\";\n const unsupported =\n !invalid &&\n (unsupportedValueColumns.some((column) =>\n Boolean(cells[column]?.trim()),\n ) ||\n (Boolean(type) &&\n !/^(login|website|web|password|credential)$/.test(type)));\n if (invalid || unsupported) issues += 1;\n return {\n rowNumber: index + 2,\n cells,\n issue: invalid\n ? (\"invalid\" as const)\n : unsupported\n ? (\"unsupported\" as const)\n : undefined,\n };\n });\n return { headers, rows, issues };\n}\n\nexport function safeDestination(raw: string): {\n metadata: string | null;\n host: string | null;\n} {\n try {\n const parsed = new URL(raw);\n if (!/^https?:$/.test(parsed.protocol))\n return { metadata: null, host: null };\n if (parsed.username || parsed.password)\n return { metadata: null, host: null };\n return { metadata: parsed.origin, host: parsed.host };\n } catch {\n return { metadata: null, host: null };\n }\n}\n\nexport function suggestedCsvMapping(\n headers: string[],\n source?: string,\n): CsvColumnRole[] {\n const aliases: Record<CsvColumnRole, ReadonlySet<string>> = {\n title: new Set([\"name\", \"title\", \"label\"]),\n username: new Set([\n \"username\",\n \"user\",\n \"login\",\n \"email\",\n \"loginusername\",\n \"loginemail\",\n ]),\n password: new Set([\"password\", \"pass\", \"pwd\", \"loginpassword\"]),\n url: new Set([\n \"url\",\n \"uri\",\n \"website\",\n \"websiteaddress\",\n \"loginurl\",\n \"loginuri\",\n ]),\n notes: new Set([\"note\", \"notes\", \"extra\"]),\n otp: new Set([\"otp\", \"totp\", \"otpauth\", \"onetimepassword\", \"onetimecode\"]),\n keep: new Set(),\n };\n let usernameAssigned = false;\n return headers.map((header) => {\n const key = header.trim().toLowerCase().replace(/[ _-]/g, \"\");\n if (source === \"nordpass\" && key === \"email\" && usernameAssigned)\n return \"keep\";\n const role =\n (Object.entries(aliases) as [CsvColumnRole, ReadonlySet<string>][]).find(\n ([, values]) => values.has(key),\n )?.[0] ?? \"keep\";\n if (role === \"username\") usernameAssigned = true;\n return role;\n });\n}\n\nfunction fieldKey(index: number, used: Set<string>): string {\n const base = `import_column_${index + 1}`;\n let key = base;\n let suffix = 2;\n while (used.has(key)) key = `${base}_${suffix++}`;\n used.add(key);\n return key;\n}\n\nfunction roleValue(\n row: CsvImportRow,\n mapping: CsvColumnRole[],\n role: CsvColumnRole,\n): string | null {\n const index = mapping.findIndex((entry) => entry === role);\n return index < 0 ? null : (row.cells[index] ?? \"\");\n}\n\nexport function hasAmbiguousCsvMapping(mapping: CsvColumnRole[]): boolean {\n return ([\"title\", \"username\", \"password\", \"notes\", \"otp\"] as const).some(\n (role) => mapping.filter((entry) => entry === role).length > 1,\n );\n}\n\nexport function isPossibleDuplicateRow(\n row: CsvImportRow,\n _preview: CsvImportPreview,\n mapping: CsvColumnRole[],\n existingItems: { displayName: string; loginUrls: string[] }[],\n): boolean {\n if (row.issue) return false;\n const title =\n roleValue(row, mapping, \"title\") || `Imported credential ${row.rowNumber}`;\n const urls = row.cells\n .filter((_, index) => mapping[index] === \"url\")\n .map(safeDestination)\n .flatMap((destination) =>\n destination.metadata ? [destination.metadata] : [],\n );\n return existingItems.some((item) => {\n if (item.displayName !== title) return false;\n const existingOrigins = item.loginUrls\n .map(safeDestination)\n .flatMap((destination) =>\n destination.metadata ? [destination.metadata] : [],\n );\n return urls.length > 0\n ? existingOrigins.some((origin) => urls.includes(origin))\n : existingOrigins.length === 0;\n });\n}\n\nexport function prepareCsvImportRow(input: {\n source: string;\n preview: CsvImportPreview;\n row: CsvImportRow;\n mapping: CsvColumnRole[];\n /** null = the person's own vault. */\n organizationId: string | null;\n rowId: string;\n limits: CsvImportLimits;\n browserFillEnabled?: boolean;\n existingItems?: { displayName: string; loginUrls: string[] }[];\n skipPossibleDuplicate?: boolean;\n}): CsvImportPreparation {\n if (input.row.issue === \"invalid\")\n return { status: \"skipped\", reason: \"invalid\" };\n if (input.row.issue === \"unsupported\")\n return { status: \"skipped\", reason: \"unsupported\" };\n if (\n input.skipPossibleDuplicate &&\n isPossibleDuplicateRow(\n input.row,\n input.preview,\n input.mapping,\n input.existingItems ?? [],\n )\n )\n return { status: \"skipped\", reason: \"possible_duplicate\" };\n const { headers } = input.preview;\n const { row, mapping } = input;\n const title =\n roleValue(row, mapping, \"title\") || `Imported credential ${row.rowNumber}`;\n const rawUrls = row.cells\n .filter((_, index) => mapping[index] === \"url\")\n .filter(Boolean);\n const urls = rawUrls\n .map(safeDestination)\n .flatMap((url) => (url.metadata ? [url.metadata] : []));\n const fields: NonNullable<VaultItemCreateRequest[\"fields\"]> = [];\n const used = new Set<string>();\n const add = (field_key: string, value: string, editable = true) => {\n if (!value) return;\n used.add(field_key);\n fields.push({\n field_key,\n value,\n handling: \"revealable\",\n editable,\n inject_into_sandbox: false,\n });\n };\n add(\"username\", roleValue(row, mapping, \"username\") ?? \"\");\n add(\"password\", roleValue(row, mapping, \"password\") ?? \"\");\n add(\"import_notes\", roleValue(row, mapping, \"notes\") ?? \"\");\n for (let index = 0; index < row.cells.length; index += 1) {\n if (mapping[index] === \"keep\")\n add(fieldKey(index, used), row.cells[index] ?? \"\");\n }\n // OTP stays only in the encrypted, revealable source representation until explicit enrollment.\n add(\n \"import_source_record\",\n JSON.stringify({\n source_vendor: input.source,\n format: \"csv\",\n cells: row.cells.map((value: string, column_index: number) => ({\n column_index,\n header: headers[column_index] ?? \"\",\n value,\n })),\n }),\n false,\n );\n if (\n fields.length > input.limits.maxFields ||\n fields.some(\n (field) =>\n utf8ByteLength(field.value) > input.limits.maxPlaintextFieldBytes,\n )\n )\n return {\n status: \"invalid\",\n diagnostic: `Row ${row.rowNumber} exceeds this organization’s encrypted field limit.`,\n };\n const command: CsvImportCommand = {\n rowId: input.rowId,\n hasOtp: Boolean(roleValue(row, mapping, \"otp\")),\n body: {\n principal: principalOf(input.organizationId),\n display_name: title,\n definition_key: \"website_login\",\n source: \"system_import\",\n login_urls: urls,\n uri_match_mode: \"never\",\n browser_fill_enabled:\n Boolean(input.browserFillEnabled) &&\n Boolean(roleValue(row, mapping, \"username\")) &&\n Boolean(roleValue(row, mapping, \"password\")) &&\n urls.length > 0 &&\n urls.every(\n (url) => new URL(url).protocol === \"https:\" || isLoopbackUrl(url),\n ),\n fields,\n },\n };\n // The browser matcher treats `never` as an absolute refusal. Keep this pair\n // coherent with the explicit, eligible bulk opt-in rather than advertising a\n // fill capability the canonical matcher will always reject.\n if (command.body.browser_fill_enabled) command.body.uri_match_mode = \"host\";\n if (\n utf8ByteLength(JSON.stringify(command.body)) >\n input.limits.maxRequestBodyBytes\n )\n return {\n status: \"invalid\",\n diagnostic: `Row ${row.rowNumber} exceeds this organization’s request size limit.`,\n };\n return { status: \"ready\", command };\n}\n\n/** Compatibility helper for callers that only need a command after preparation. */\nexport function toCsvImportCommand(\n input: Parameters<typeof prepareCsvImportRow>[0],\n): CsvImportCommand | null {\n const prepared = prepareCsvImportRow(input);\n return prepared.status === \"ready\" ? prepared.command : null;\n}\n\n/** Dispatch only one immutable command at a time; cancellation never rolls back a committed row. */\nexport async function runCsvImportCommands(\n commands: Array<CsvImportCommand | null>,\n dispatch: (command: CsvImportCommand) => Promise<CsvImportDispatch>,\n cancelled: () => boolean,\n progressCursor = 0,\n): Promise<CsvImportOutcome> {\n let imported = 0;\n let skipped = 0;\n let failed = 0;\n for (let index = progressCursor; index < commands.length; index += 1) {\n const command = commands[index];\n if (cancelled())\n return {\n imported,\n skipped,\n failed,\n cancelled: true,\n definitive: false,\n progressCursor: index,\n };\n if (!command) {\n skipped += 1;\n continue;\n }\n const result = await dispatch(command);\n if (result === \"committed\") {\n imported += 1;\n continue;\n }\n failed += 1;\n // A retryable or definitive outcome retains this exact command/UUID for review.\n return {\n imported,\n skipped,\n failed,\n cancelled: result === \"definitive\" || cancelled(),\n definitive: result === \"definitive\",\n progressCursor: index,\n };\n }\n return {\n imported,\n skipped,\n failed,\n cancelled: cancelled(),\n definitive: false,\n progressCursor: commands.length,\n };\n}\n","import { parseKeePassXml } from \"./keepass-xml\";\nimport type {\n StructuredImportWorkerRequest,\n StructuredImportWorkerResponse,\n} from \"./structured-import-worker-protocol\";\n\nexport function createKeePassXmlWorkerMessageHandler(\n post: (response: StructuredImportWorkerResponse) => void,\n) {\n let active: { requestId: string; controller: AbortController } | undefined;\n return async (request: StructuredImportWorkerRequest): Promise<void> => {\n if (request.type === \"cancel\") {\n if (active?.requestId === request.requestId) {\n active.controller.abort();\n active = undefined;\n }\n return;\n }\n active?.controller.abort();\n const operation = {\n requestId: request.requestId,\n controller: new AbortController(),\n };\n active = operation;\n try {\n if (request.file.size > request.limits.maxFileBytes) throw new Error(\"limit\");\n const bytes = await request.file.arrayBuffer();\n if (operation.controller.signal.aborted) return;\n const text = new TextDecoder(\"utf-8\", { fatal: true }).decode(bytes);\n const { records, fileNotices } = parseKeePassXml(text, request.limits);\n if (active !== operation || operation.controller.signal.aborted) return;\n post({ ok: true, requestId: request.requestId, records, fileNotices });\n } catch {\n if (active !== operation || operation.controller.signal.aborted) return;\n post({\n ok: false,\n requestId: request.requestId,\n error: \"The KeePass XML export could not be read.\",\n });\n } finally {\n if (active === operation) active = undefined;\n }\n };\n}\n\nif (typeof self !== \"undefined\") {\n const handle = createKeePassXmlWorkerMessageHandler((response) =>\n self.postMessage(response),\n );\n self.onmessage = (event: MessageEvent<StructuredImportWorkerRequest>) => {\n void handle(event.data);\n };\n}\n"],"mappings":"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","names":["SaxesParser","bytes"]}
|