UNPKG

mlld

Version:

mlld: llm scripting language

1 lines 22.6 kB
{"version":3,"sources":["../core/security/paths.ts","../interpreter/utils/load-content-structured.ts"],"names":["normalizeDirPath","dirPath","trimmed","replace","normalized","path","normalize","withForwardSlashes","process","platform","toLowerCase","resolveRealPath","targetPath","resolved","resolve","fs","realpathSync","native","getAllDirsInPath","filePath","realPath","normalizedPath","parsed","parse","root","sep","dirs","currentDir","dirname","push","nextDir","labelsForPath","map","dir","detectStructuredType","value","Array","isArray","tryParseJson","text","success","trim","JSON","parseJsonWithContext","sourceLabel","error","message","MlldError","parseJsonLines","lines","split","results","i","length","line","offendingLine","isProbablyURL","input","test","buildLoadSecurityDescriptor","result","absolute","undefined","dirLabels","makeSecurityDescriptor","taint","sources","buildMetadata","base","extra","extractLoadContentMetadata","metadata","source","filename","relative","tokest","tokens","fm","json","content","metrics","url","urlResult","domain","title","description","status","headers","htmlResult","html","security","mergeDescriptors","deriveArrayText","toString","prototype","isLoadContentResult","item","join","stringify","String","wrapLoadContentValue","isStructuredValue","wrapStructured","baseMetadata","contentText","filenameLower","endsWith","data","type","parsedFromContent","variableMetadata","hasVariableMetadata","getVariableMetadata","aggregatedSecurity","filter","descriptor","Boolean","mergedSecurity","mx","finalMetadata","fallbackText","isFileLoadedValue","isURLLoadedValue"],"mappings":"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","file":"chunk-GLVJZ2CA.mjs","sourcesContent":["import fs from 'fs';\nimport path from 'path';\n\nfunction normalizeDirPath(dirPath: string): string {\n const trimmed = dirPath.replace(/[\\\\/]+$/, '');\n const normalized = path.normalize(trimmed || dirPath);\n const withForwardSlashes = normalized.replace(/\\\\/g, '/');\n if (process.platform === 'win32') {\n return withForwardSlashes.toLowerCase();\n }\n return withForwardSlashes;\n}\n\nfunction resolveRealPath(targetPath: string): string {\n const resolved = path.resolve(targetPath);\n try {\n return fs.realpathSync.native ? fs.realpathSync.native(resolved) : fs.realpathSync(resolved);\n } catch {\n return resolved;\n }\n}\n\n/**\n * Returns all parent directories for a given file path, from the most specific\n * to the broadest, stopping before the filesystem root.\n *\n * Rules:\n * - Always resolve to an absolute path first.\n * - Follow symlinks (use the resolved path).\n * - Include all parent directories.\n * - Stop before root (do not include the root itself).\n * - Normalize slashes and strip trailing separators.\n * - Respect platform case rules (case-insensitive on Windows).\n */\nexport function getAllDirsInPath(filePath: string): string[] {\n const realPath = resolveRealPath(filePath);\n const normalizedPath = normalizeDirPath(realPath);\n const parsed = path.parse(normalizedPath);\n const root = normalizeDirPath(parsed.root || path.sep);\n\n const dirs: string[] = [];\n let currentDir = normalizeDirPath(path.dirname(normalizedPath));\n\n while (currentDir && currentDir !== root) {\n dirs.push(currentDir);\n const nextDir = normalizeDirPath(path.dirname(currentDir));\n if (nextDir === currentDir) {\n break;\n }\n currentDir = nextDir;\n }\n\n return dirs;\n}\n\nexport function labelsForPath(filePath: string): string[] {\n return getAllDirsInPath(filePath).map(dir => `dir:${dir}`);\n}\n","import {\n isLoadContentResult,\n type LoadContentResult,\n type LoadContentResultHTML,\n type LoadContentResultURL\n} from '@core/types/load-content';\nimport { MlldError } from '@core/errors';\nimport { makeSecurityDescriptor, mergeDescriptors } from '@core/types/security';\nimport { labelsForPath } from '@core/security/paths';\nimport {\n getVariableMetadata,\n hasVariableMetadata\n} from './variable-migration';\nimport {\n wrapStructured,\n isStructuredValue,\n type StructuredValue,\n type StructuredValueMetadata,\n type StructuredValueType\n} from './structured-value';\n\nfunction detectStructuredType(value: unknown): StructuredValueType {\n if (Array.isArray(value)) {\n return 'array';\n }\n if (value !== null && typeof value === 'object') {\n return 'object';\n }\n return 'json';\n}\n\nfunction tryParseJson(text: string): { success: boolean; value?: unknown } {\n if (typeof text !== 'string') {\n return { success: false };\n }\n\n const trimmed = text.trim();\n if (!trimmed) {\n return { success: false };\n }\n\n try {\n return { success: true, value: JSON.parse(trimmed) };\n } catch {\n return { success: false };\n }\n}\n\nfunction parseJsonWithContext(text: string, sourceLabel: string): unknown {\n try {\n return JSON.parse(text);\n } catch (error: any) {\n const message = error?.message ? ` (${error.message})` : '';\n throw new MlldError(`Failed to parse JSON from ${sourceLabel}${message}`);\n }\n}\n\nfunction parseJsonLines(text: string, sourceLabel: string): unknown[] {\n const lines = text.split(/\\r?\\n/);\n const results: unknown[] = [];\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i].trim();\n if (!line) continue;\n try {\n results.push(JSON.parse(line));\n } catch (error: any) {\n const message = error?.message ? ` (${error.message})` : '';\n throw new MlldError(`Failed to parse JSONL from ${sourceLabel} at line ${i + 1}${message}`, {\n line: i + 1,\n offendingLine: line\n });\n }\n }\n return results;\n}\n\nfunction isProbablyURL(input: string): boolean {\n return /^https?:\\/\\//i.test(input);\n}\n\nfunction buildLoadSecurityDescriptor(result: LoadContentResult) {\n if (!result.absolute || isProbablyURL(result.absolute)) {\n return undefined;\n }\n const dirLabels = labelsForPath(result.absolute);\n return makeSecurityDescriptor({\n taint: ['src:file', ...dirLabels],\n sources: [result.absolute]\n });\n}\n\nfunction buildMetadata(base?: StructuredValueMetadata, extra?: StructuredValueMetadata): StructuredValueMetadata | undefined {\n if (!base && !extra) {\n return undefined;\n }\n return {\n ...(base || {}),\n ...(extra || {})\n };\n}\n\nfunction extractLoadContentMetadata(result: LoadContentResult): StructuredValueMetadata {\n const metadata: StructuredValueMetadata = {\n source: 'load-content',\n filename: result.filename,\n relative: result.relative,\n absolute: result.absolute,\n tokest: result.tokest,\n tokens: result.tokens,\n fm: result.fm,\n json: result.json,\n length: typeof result.content === 'string' ? result.content.length : undefined,\n metrics: {\n tokens: result.tokens,\n length: typeof result.content === 'string' ? result.content.length : undefined\n }\n };\n\n if ('url' in result && result.url) {\n const urlResult = result as LoadContentResultURL;\n metadata.url = urlResult.url;\n metadata.domain = urlResult.domain;\n if (urlResult.title) metadata.title = urlResult.title;\n if (urlResult.description) metadata.description = urlResult.description;\n if (urlResult.status !== undefined) metadata.status = urlResult.status;\n if (urlResult.headers) metadata.headers = urlResult.headers;\n }\n\n if ('html' in result && !(result as LoadContentResultURL).url) {\n const htmlResult = result as LoadContentResultHTML;\n metadata.html = htmlResult.html;\n if (htmlResult.title) metadata.title = htmlResult.title;\n if (htmlResult.description) metadata.description = htmlResult.description;\n }\n\n const security = buildLoadSecurityDescriptor(result);\n if (security) {\n metadata.security = metadata.security\n ? mergeDescriptors(metadata.security, security)\n : security;\n }\n\n return metadata;\n}\n\nfunction deriveArrayText(value: any[]): string {\n if (typeof value.toString === 'function' && value.toString !== Array.prototype.toString) {\n return value.toString();\n }\n\n // For arrays of LoadContentResult items (glob results), concatenate file contents\n if (value.length > 0 && isLoadContentResult(value[0])) {\n return value.map(item => item.content ?? '').join('\\n\\n');\n }\n\n try {\n return JSON.stringify(value);\n } catch {\n return value.map(item => String(item)).join('\\n');\n }\n}\n\nexport function wrapLoadContentValue(value: any): StructuredValue {\n if (isStructuredValue(value)) {\n return value;\n }\n\n if (typeof value === 'string') {\n return wrapStructured(value, 'text', value, { source: 'load-content' });\n }\n\n if (isLoadContentResult(value)) {\n const baseMetadata = extractLoadContentMetadata(value);\n const contentText = typeof value.content === 'string' ? value.content : String(value.content ?? '');\n const filenameLower = (value.filename || '').toLowerCase();\n const skipAutoParse = false;\n\n if (filenameLower.endsWith('.jsonl') && typeof value.content === 'string') {\n const data = parseJsonLines(contentText, value.filename || 'content');\n const metadata = buildMetadata(baseMetadata, { type: 'jsonl' });\n return wrapStructured(data, 'array', contentText, metadata);\n }\n\n if (filenameLower.endsWith('.json') && typeof value.content === 'string') {\n const data = parseJsonWithContext(contentText, value.filename || 'content');\n const metadata = buildMetadata(baseMetadata, { type: 'json' });\n return wrapStructured(data, detectStructuredType(data), contentText, metadata);\n }\n\n const parsedFromContent = tryParseJson(contentText);\n if (parsedFromContent.success) {\n const data = parsedFromContent.value;\n return wrapStructured(data, detectStructuredType(data), contentText, baseMetadata);\n }\n const parsed = value.json;\n if (parsed !== undefined) {\n return wrapStructured(parsed, detectStructuredType(parsed), contentText, baseMetadata);\n }\n // Default text handling: data is the content string, metadata carries file info\n return wrapStructured(contentText, 'text', contentText, baseMetadata);\n }\n\n if (Array.isArray(value)) {\n const baseMetadata: StructuredValueMetadata = {\n source: 'load-content',\n length: value.length\n };\n\n // Preserve original variable metadata if tagged\n const variableMetadata = hasVariableMetadata(value) ? getVariableMetadata(value) : undefined;\n\n // Aggregate security descriptors from LoadContentResult items\n const aggregatedSecurity = value.length > 0 && isLoadContentResult(value[0])\n ? value\n .map(item => buildLoadSecurityDescriptor(item))\n .filter((descriptor): descriptor is NonNullable<ReturnType<typeof buildLoadSecurityDescriptor>> =>\n Boolean(descriptor)\n )\n : [];\n const mergedSecurity =\n aggregatedSecurity.length > 0 ? mergeDescriptors(...aggregatedSecurity) : undefined;\n\n const metadata = buildMetadata(\n baseMetadata,\n variableMetadata?.mx\n ? { variableMetadata: variableMetadata.mx }\n : undefined\n );\n const finalMetadata = mergedSecurity\n ? buildMetadata(metadata, { security: mergedSecurity })\n : metadata;\n\n return wrapStructured(value, 'array', deriveArrayText(value), finalMetadata);\n }\n\n const fallbackText =\n typeof value === 'string'\n ? value\n : (() => {\n try {\n return JSON.stringify(value);\n } catch {\n return String(value ?? '');\n }\n })();\n\n return wrapStructured(value, 'object', fallbackText, { source: 'load-content' });\n}\n\nexport function isFileLoadedValue(value: unknown): boolean {\n if (isStructuredValue(value)) {\n return Boolean(value.mx?.filename || value.mx?.url);\n }\n return isLoadContentResult(value);\n}\n\nexport function isURLLoadedValue(value: unknown): boolean {\n if (isStructuredValue(value)) {\n return Boolean(value.mx?.url);\n }\n if (isLoadContentResult(value)) {\n return Boolean((value as any).url);\n }\n return false;\n}\n"]}