pi-fabric 0.92.37 → 0.92.39

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.
Files changed (50) hide show
  1. package/dist/agents/completion-inbox.d.ts.map +1 -1
  2. package/dist/agents/transports/process-utils.d.ts.map +1 -1
  3. package/dist/capture/interceptor.d.ts.map +1 -1
  4. package/dist/chunks/{chunk-XL5NI6KH.js → chunk-45QTPCE7.js} +2 -2
  5. package/dist/chunks/{chunk-IZSVDLWG.js → chunk-5NZ4EZ47.js} +1 -1
  6. package/dist/chunks/{chunk-X7G62ZGH.js → chunk-7BG5COXB.js} +8 -3
  7. package/dist/chunks/{chunk-X7G62ZGH.js.map → chunk-7BG5COXB.js.map} +2 -2
  8. package/dist/chunks/{chunk-RDJDJJET.js → chunk-7VAZ4N43.js} +2 -2
  9. package/dist/chunks/{chunk-2NG7VFJZ.js → chunk-A3W4ERB3.js} +2 -2
  10. package/dist/chunks/chunk-A3W4ERB3.js.map +7 -0
  11. package/dist/chunks/{chunk-3ALJY5MG.js → chunk-JCI2ZIFR.js} +2 -2
  12. package/dist/chunks/{chunk-JJZFNBB7.js → chunk-MQG5QKGI.js} +2 -2
  13. package/dist/chunks/{chunk-NTKI5NUE.js → chunk-NPEPBSQP.js} +4 -4
  14. package/dist/chunks/{chunk-V6RU7BGE.js → chunk-OHJJTXMP.js} +2 -2
  15. package/dist/chunks/{chunk-2462VF6I.js → chunk-SZUXWOO7.js} +1 -1
  16. package/dist/chunks/chunk-SZUXWOO7.js.map +7 -0
  17. package/dist/chunks/{chunk-CIODQX77.js → chunk-WIC446CZ.js} +2 -2
  18. package/dist/chunks/{chunk-OPEOIVF6.js → chunk-XKRZHYH3.js} +2 -2
  19. package/dist/compaction/hook.js +2 -2
  20. package/dist/components/configuration.js +2 -2
  21. package/dist/core/shell-jobs.d.ts.map +1 -1
  22. package/dist/fabric-exec-tool.d.ts.map +1 -1
  23. package/dist/fabric-runtime-state.js +47 -44
  24. package/dist/fabric-runtime-state.js.map +2 -2
  25. package/dist/index.js +72 -17
  26. package/dist/index.js.map +3 -3
  27. package/dist/jev.js +1 -1
  28. package/dist/providers/jev-provider.js +1 -1
  29. package/dist/repeat-guard.d.ts +29 -0
  30. package/dist/repeat-guard.d.ts.map +1 -0
  31. package/dist/residency/host.js +7 -7
  32. package/dist/residency/pi-entry.js +7 -7
  33. package/dist/runtime/monty-runtime.js +1 -1
  34. package/dist/runtime/node-process-runtime.js +2 -2
  35. package/dist/runtime/typescript-kernel.js +2 -2
  36. package/dist/ui/dashboard.js +2 -2
  37. package/dist/ui/fabric-code-parser.d.ts.map +1 -1
  38. package/dist/ui/settings.js +1 -1
  39. package/package.json +1 -1
  40. package/dist/chunks/chunk-2462VF6I.js.map +0 -7
  41. package/dist/chunks/chunk-2NG7VFJZ.js.map +0 -7
  42. /package/dist/chunks/{chunk-XL5NI6KH.js.map → chunk-45QTPCE7.js.map} +0 -0
  43. /package/dist/chunks/{chunk-IZSVDLWG.js.map → chunk-5NZ4EZ47.js.map} +0 -0
  44. /package/dist/chunks/{chunk-RDJDJJET.js.map → chunk-7VAZ4N43.js.map} +0 -0
  45. /package/dist/chunks/{chunk-3ALJY5MG.js.map → chunk-JCI2ZIFR.js.map} +0 -0
  46. /package/dist/chunks/{chunk-JJZFNBB7.js.map → chunk-MQG5QKGI.js.map} +0 -0
  47. /package/dist/chunks/{chunk-NTKI5NUE.js.map → chunk-NPEPBSQP.js.map} +0 -0
  48. /package/dist/chunks/{chunk-V6RU7BGE.js.map → chunk-OHJJTXMP.js.map} +0 -0
  49. /package/dist/chunks/{chunk-CIODQX77.js.map → chunk-WIC446CZ.js.map} +0 -0
  50. /package/dist/chunks/{chunk-OPEOIVF6.js.map → chunk-XKRZHYH3.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/ui/fabric-code-parser.ts"],
4
+ "sourcesContent": ["import { createRequire } from \"node:module\";\nimport type { SyntaxNodeRef } from \"@lezer/common\";\nimport type { FabricKernel } from \"../runtime/kernel.js\";\n\nconst require = createRequire(import.meta.url);\nlet pythonParser: typeof import(\"@lezer/python\")[\"parser\"] | undefined;\n\nexport interface FabricWriteBinding {\n path: string;\n stringKey: string;\n}\n\ntype Token = { kind: \"identifier\" | \"string\" | \"punctuation\"; text: string };\n\nconst identifierStart = (char: string): boolean => /[A-Za-z_$\u03C0]/u.test(char);\nconst identifierPart = (char: string): boolean => /[A-Za-z0-9_$\u03C0]/u.test(char);\n\nconst readEscape = (source: string, index: number): { value: string; next: number } => {\n const char = source[index];\n if (char === undefined) return { value: \"\", next: index };\n const simple: Record<string, string> = {\n n: \"\\n\", r: \"\\r\", t: \"\\t\", b: \"\\b\", f: \"\\f\", v: \"\\v\", 0: \"\\0\",\n };\n if (char in simple) return { value: simple[char]!, next: index + 1 };\n if (char === \"\\n\") return { value: \"\", next: index + 1 };\n if (char === \"\\r\") return { value: \"\", next: source[index + 1] === \"\\n\" ? index + 2 : index + 1 };\n if (char === \"x\") {\n const digits = source.slice(index + 1, index + 3);\n if (/^[0-9a-f]{2}$/i.test(digits)) return { value: String.fromCharCode(Number.parseInt(digits, 16)), next: index + 3 };\n }\n if (char === \"u\") {\n if (source[index + 1] === \"{\") {\n const end = source.indexOf(\"}\", index + 2);\n const digits = end < 0 ? \"\" : source.slice(index + 2, end);\n if (/^[0-9a-f]{1,6}$/i.test(digits)) {\n return { value: String.fromCodePoint(Number.parseInt(digits, 16)), next: end + 1 };\n }\n }\n const digits = source.slice(index + 1, index + 5);\n if (/^[0-9a-f]{4}$/i.test(digits)) return { value: String.fromCharCode(Number.parseInt(digits, 16)), next: index + 5 };\n }\n return { value: char, next: index + 1 };\n};\n\n// Use the Python grammar so comments, docstrings and interpolated strings\n// cannot masquerade as capability calls. Normalize keyword arguments to the\n// same token shape as object/dictionary fields for the shared title renderer.\nconst tokenizePython = (source: string): Token[] => {\n const tokens: Token[] = [];\n (pythonParser ??= (require(\"@lezer/python\") as typeof import(\"@lezer/python\")).parser).parse(source).iterate({\n enter(node: SyntaxNodeRef) {\n if (node.name === \"Comment\" || node.name === \"FormatString\") return false;\n const text = source.slice(node.from, node.to);\n if (node.name === \"String\") {\n const match = /^(r|u)?('''|\"\"\"|'|\")/i.exec(text);\n if (!match) return false;\n const quote = match[2]!;\n if (!text.endsWith(quote) || text.length < match[0].length + quote.length) return false;\n const body = text.slice(match[0].length, -quote.length);\n let value = \"\";\n for (let index = 0; index < body.length;) {\n if (body[index] === \"\\\\\" && match[1]?.toLowerCase() !== \"r\") {\n const escape = body[index + 1] ?? \"\";\n const width = escape === \"x\" ? 2 : escape === \"u\" ? 4 : escape === \"U\" ? 8 : 0;\n if (width) {\n const digits = body.slice(index + 2, index + 2 + width);\n if (digits.length !== width || !/^[0-9a-f]+$/i.test(digits)) return false;\n const point = Number.parseInt(digits, 16);\n if (point > 0x10ffff) return false;\n value += String.fromCodePoint(point);\n index += width + 2;\n } else if (/[0-7]/.test(escape)) {\n const digits = /^[0-7]{1,3}/.exec(body.slice(index + 1))![0];\n value += String.fromCharCode(Number.parseInt(digits, 8));\n index += digits.length + 1;\n } else if (escape === \"a\") {\n value += \"\\x07\";\n index += 2;\n } else if (/[\\\\'\"nrtbfv\\n\\r]/.test(escape)) {\n const escaped = readEscape(body, index + 1);\n value += escaped.value;\n index = escaped.next;\n } else if (escape === \"N\") {\n // Unicode-name lookup needs Python's database; stay conservative.\n return false;\n } else {\n // Unknown Python escapes remain literal, unlike JavaScript.\n value += body.slice(index, index + 2);\n index += 2;\n }\n } else value += body[index++]!;\n }\n tokens.push({ kind: \"string\", text: value });\n return false;\n }\n if (node.node.firstChild) return;\n if (node.name === \"VariableName\" || node.name === \"PropertyName\") {\n tokens.push({ kind: \"identifier\", text });\n } else tokens.push({ kind: \"punctuation\", text: text === \"=\" ? \":\" : text });\n },\n });\n return tokens;\n};\n\nconst tokenize = (source: string): Token[] => {\n const tokens: Token[] = [];\n let index = 0;\n while (index < source.length) {\n const char = source[index]!;\n if (/\\s/u.test(char)) { index++; continue; }\n if (char === \"/\" && source[index + 1] === \"/\") {\n index = source.indexOf(\"\\n\", index + 2);\n if (index < 0) break;\n continue;\n }\n if (char === \"/\" && source[index + 1] === \"*\") {\n const end = source.indexOf(\"*/\", index + 2);\n index = end < 0 ? source.length : end + 2;\n continue;\n }\n if (char === \"'\" || char === '\"' || char === \"`\") {\n const quote = char;\n let value = \"\";\n let dynamicTemplate = false;\n index++;\n while (index < source.length) {\n const current = source[index]!;\n if (current === quote) { index++; break; }\n if (quote === \"`\" && current === \"$\" && source[index + 1] === \"{\") dynamicTemplate = true;\n if (current === \"\\\\\") {\n const escaped = readEscape(source, index + 1);\n value += escaped.value;\n index = escaped.next;\n continue;\n }\n value += current;\n index++;\n }\n if (!dynamicTemplate) tokens.push({ kind: \"string\", text: value });\n continue;\n }\n if (identifierStart(char)) {\n const start = index++;\n while (index < source.length && identifierPart(source[index]!)) index++;\n tokens.push({ kind: \"identifier\", text: source.slice(start, index) });\n continue;\n }\n tokens.push({ kind: \"punctuation\", text: char });\n index++;\n }\n return tokens;\n};\n\nexport const fabricStringLiterals = (code: string): string[] =>\n tokenize(code).filter((token) => token.kind === \"string\").map((token) => token.text);\n\nconst propertyName = (token: Token | undefined): string | undefined =>\n token?.kind === \"identifier\" || token?.kind === \"string\" ? token.text : undefined;\n\nconst namedStringKey = (tokens: Token[], start: number, end: number): string | undefined => {\n if (tokens[start]?.text !== \"\u03C0\") return undefined;\n if (tokens[start + 1]?.text === \".\" && tokens[start + 2]?.kind === \"identifier\" && start + 3 === end) {\n return tokens[start + 2]!.text;\n }\n if (tokens[start + 1]?.text === \"[\" && tokens[start + 2]?.kind === \"string\" && tokens[start + 3]?.text === \"]\" && start + 4 === end) {\n return tokens[start + 2]!.text;\n }\n return undefined;\n};\n\nconst objectBinding = (tokens: Token[], start: number): { binding?: FabricWriteBinding; next: number } => {\n let depth = 1;\n let index = start + 1;\n let path: string | undefined;\n let stringKey: string | undefined;\n while (index < tokens.length && depth > 0) {\n if (tokens[index]?.text === \"{\") { depth++; index++; continue; }\n if (tokens[index]?.text === \"}\") { depth--; index++; continue; }\n if (depth !== 1) { index++; continue; }\n const name = propertyName(tokens[index]);\n if (!name || tokens[index + 1]?.text !== \":\") { index++; continue; }\n const valueStart = index + 2;\n let valueEnd = valueStart;\n let nested = 0;\n while (valueEnd < tokens.length) {\n const text = tokens[valueEnd]!.text;\n if (nested === 0 && (text === \",\" || text === \"}\")) break;\n if (text === \"(\" || text === \"[\" || text === \"{\") nested++;\n else if (text === \")\" || text === \"]\" || text === \"}\") nested--;\n valueEnd++;\n }\n if ([\"path\", \"file\", \"file_path\"].includes(name) && valueEnd === valueStart + 1 && tokens[valueStart]?.kind === \"string\") {\n path = tokens[valueStart]!.text;\n } else if ([\"content\", \"text\", \"contents\"].includes(name)) {\n stringKey = namedStringKey(tokens, valueStart, valueEnd);\n }\n index = valueEnd;\n }\n return path !== undefined && stringKey !== undefined\n ? { binding: { path, stringKey }, next: index }\n : { next: index };\n};\n\nexport const fabricWriteBindings = (code: string): FabricWriteBinding[] => {\n const tokens = tokenize(code);\n const bindings: FabricWriteBinding[] = [];\n for (let index = 0; index < tokens.length - 5; index++) {\n if (tokens[index]?.text !== \"pi\" || tokens[index + 1]?.text !== \".\" || tokens[index + 2]?.text !== \"write\" || tokens[index + 3]?.text !== \"(\" || tokens[index + 4]?.text !== \"{\") continue;\n const parsed = objectBinding(tokens, index + 4);\n if (parsed.binding) bindings.push(parsed.binding);\n index = parsed.next - 1;\n }\n return bindings;\n};\n\nconst TITLE_MAX_CHARS = 80;\nconst TITLE_MAX_ANCHOR_CHARS = 40;\nconst TITLE_MAX_COMMAND_CHARS = 30;\nconst TITLE_MAX_TASK_CHARS = 40;\nconst TITLE_MAX_PATTERN_CHARS = 24;\nconst TITLE_MAX_KEY_CHARS = 24;\nconst TITLE_MAX_WINDOW_TOKENS = 96;\nconst TITLE_SAFE_ANCHOR = /^[A-Za-z0-9_./~@*+,-]+$/;\nconst TITLE_FILE_LIKE = /\\.[A-Za-z0-9]{1,8}$/;\n\nconst PI_VERB_LABELS: Record<string, string> = {\n read: \"Read\",\n bash: \"Shell\",\n edit: \"Edit\",\n write: \"Write\",\n grep: \"Search\",\n find: \"Search\",\n ls: \"Search\",\n};\n\nconst ROOT_VERB_LABELS: Record<string, string> = {\n agents: \"Agent\",\n memory: \"Memory\",\n state: \"State\",\n schema: \"Schema\",\n compact: \"Compact\",\n mesh: \"Mesh\",\n tools: \"Tools\",\n};\n\nconst TITLE_PATH_KEYS = new Set([\"path\", \"file\", \"file_path\"]);\n\nconst humanizeIdentifier = (value: string): string =>\n value\n .replace(/[_-]+/g, \" \")\n .replace(/([a-z0-9])([A-Z])/g, \"$1 $2\")\n .replace(/^./, (char) => char.toUpperCase());\n\nconst titleAnchorPathLike = (value: string): boolean =>\n value.length > 0 &&\n value.length <= 64 &&\n TITLE_SAFE_ANCHOR.test(value) &&\n (value.includes(\"/\") || TITLE_FILE_LIKE.test(value) || value.includes(\"*\"));\n\nconst titleBasename = (value: string): string =>\n value.split(\"/\").filter(Boolean).pop() ?? value;\n\nconst titleClip = (value: string, maxChars: number): string =>\n value.length > maxChars ? `${value.slice(0, maxChars - 1)}\u2026` : value;\n\nconst clipWords = (value: string, maxChars: number): string => {\n if (value.length <= maxChars) return value;\n const cut = value.slice(0, maxChars - 1);\n const space = cut.lastIndexOf(\" \");\n return `${space > 0 ? cut.slice(0, space) : cut}\u2026`;\n};\n\n// Token range of one call's argument list: from just after the opening paren\n// to the depth-matched close, capped so a malformed call cannot smear across\n// the rest of the program.\nconst callWindow = (tokens: Token[], openIndex: number): { start: number; end: number } => {\n let depth = 0;\n let end = openIndex;\n while (end < tokens.length && end - openIndex < TITLE_MAX_WINDOW_TOKENS) {\n const text = tokens[end]!.text;\n if (text === \"(\" || text === \"[\" || text === \"{\") depth++;\n else if (text === \")\" || text === \"]\" || text === \"}\") {\n depth--;\n if (depth <= 0) break;\n }\n end++;\n }\n return { start: openIndex + 1, end };\n};\n\nconst isNamedStringToken = (tokens: Token[], index: number): boolean =>\n tokens[index]?.kind === \"string\" && tokens[index - 1]?.text === \"[\" && tokens[index - 2]?.text === \"\u03C0\";\n\nconst windowKeyedString = (\n tokens: Token[],\n start: number,\n end: number,\n keys: Set<string> | string,\n): string | undefined => {\n for (let index = start; index < end; index++) {\n if (tokens[index]?.kind !== \"string\" || isNamedStringToken(tokens, index)) continue;\n if (tokens[index - 1]?.text !== \":\") continue;\n const key = propertyName(tokens[index - 2]);\n if (key === undefined || !(typeof keys === \"string\" ? key === keys : keys.has(key))) continue;\n return tokens[index]!.text;\n }\n return undefined;\n};\n\nconst windowFirstString = (tokens: Token[], start: number, end: number): string | undefined => {\n for (let index = start; index < end; index++) {\n if (tokens[index]?.kind === \"string\" && !isNamedStringToken(tokens, index)) return tokens[index]!.text;\n }\n return undefined;\n};\n\nconst windowPathLike = (tokens: Token[], start: number, end: number): string | undefined => {\n for (let index = start; index < end; index++) {\n if (tokens[index]?.kind === \"string\" && !isNamedStringToken(tokens, index) && titleAnchorPathLike(tokens[index]!.text)) {\n return tokens[index]!.text;\n }\n }\n return undefined;\n};\n\nconst dirQualifier = (value: string): string | undefined =>\n TITLE_FILE_LIKE.test(titleBasename(value))\n ? titleClip(titleBasename(value), TITLE_MAX_ANCHOR_CHARS)\n : TITLE_SAFE_ANCHOR.test(value) && value !== \".\" && value.length <= TITLE_MAX_ANCHOR_CHARS\n ? value\n : undefined;\n\nconst searchTarget = (tokens: Token[], start: number, end: number): string | undefined => {\n const pattern = windowKeyedString(tokens, start, end, \"pattern\");\n let head: string | undefined;\n if (pattern !== undefined) {\n if (titleAnchorPathLike(pattern)) head = titleClip(titleBasename(pattern), TITLE_MAX_ANCHOR_CHARS);\n else if (TITLE_SAFE_ANCHOR.test(pattern) && pattern.length <= TITLE_MAX_PATTERN_CHARS) head = `\"${pattern}\"`;\n }\n const pathValue = windowKeyedString(tokens, start, end, TITLE_PATH_KEYS);\n let tail: string | undefined = pathValue !== undefined ? dirQualifier(pathValue) : undefined;\n if (tail === undefined && pathValue === undefined) {\n // ls-style positional: the first bare string argument.\n const positional = windowFirstString(tokens, start, end);\n if (positional !== undefined && TITLE_SAFE_ANCHOR.test(positional) && positional.length <= TITLE_MAX_ANCHOR_CHARS) {\n tail = titleAnchorPathLike(positional) ? titleClip(titleBasename(positional), TITLE_MAX_ANCHOR_CHARS) : positional;\n }\n }\n if (head !== undefined && tail !== undefined) return `${head} in ${tail}`;\n return head ?? tail;\n};\n\nconst pathTarget = (tokens: Token[], start: number, end: number): string | undefined => {\n const keyed = windowKeyedString(tokens, start, end, TITLE_PATH_KEYS);\n if (keyed !== undefined && TITLE_FILE_LIKE.test(titleBasename(keyed))) {\n return titleClip(titleBasename(keyed), TITLE_MAX_ANCHOR_CHARS);\n }\n const loose = windowPathLike(tokens, start, end);\n if (loose !== undefined) return titleClip(titleBasename(loose), TITLE_MAX_ANCHOR_CHARS);\n return keyed !== undefined ? dirQualifier(keyed) : undefined;\n};\n\nconst piCallTarget = (\n label: string,\n tokens: Token[],\n start: number,\n end: number,\n): string | undefined => {\n if (label === \"Shell\") {\n const command = windowFirstString(tokens, start, end);\n return command !== undefined ? titleClip(command.split(\"\\n\")[0]!, TITLE_MAX_COMMAND_CHARS) : undefined;\n }\n if (label === \"Search\") return searchTarget(tokens, start, end);\n return pathTarget(tokens, start, end);\n};\n\n// Deterministic lexical title for a fabric_exec program, derived without\n// executing it. Every recognized call contributes \"Verb target\" \u2014 target is\n// a basename, glob, quoted literal search head, command head, mcp ref, or\n// task/key clip \u2014 and segments join in first-occurrence order under a char\n// budget. \u03C0 payload keys are skipped so named strings never surface in\n// titles. Returns undefined when the program holds no recognizable Fabric\n// call, letting callers keep a neutral fallback.\nexport const fabricExecTitleHint = (code: string, kernel: FabricKernel = \"typescript\"): string | undefined => {\n const tokens = kernel === \"python\" ? tokenizePython(code) : tokenize(code);\n const groups = new Map<string, (string | undefined)[]>();\n const record = (verb: string, target: string | undefined): void => {\n const list = groups.get(verb);\n if (list) list.push(target);\n else groups.set(verb, [target]);\n };\n for (let index = 0; index < tokens.length; index++) {\n const token = tokens[index]!;\n if (token.kind !== \"identifier\") continue;\n if ((token.text === \"agents\" || token.text === \"compact\") && tokens[index + 1]?.text === \"(\") {\n const window = callWindow(tokens, index + 1);\n const target = token.text === \"agents\"\n ? (() => {\n const task = windowKeyedString(tokens, window.start, window.end, \"task\");\n return task !== undefined ? clipWords(task.split(\"\\n\")[0]!, TITLE_MAX_TASK_CHARS) : undefined;\n })()\n : undefined;\n record(ROOT_VERB_LABELS[token.text]!, target);\n continue;\n }\n const dot = tokens[index + 1];\n const leaf = tokens[index + 2];\n if (dot?.text !== \".\" || leaf?.kind !== \"identifier\") continue;\n if (token.text === \"pi\" && tokens[index + 3]?.text === \"(\") {\n const label = PI_VERB_LABELS[leaf.text] ?? humanizeIdentifier(leaf.text);\n const window = callWindow(tokens, index + 3);\n record(label, piCallTarget(label, tokens, window.start, window.end));\n continue;\n }\n if (\n token.text === \"mcp\" &&\n tokens[index + 3]?.text === \".\" &&\n tokens[index + 4]?.kind === \"identifier\" &&\n tokens[index + 5]?.text === \"(\"\n ) {\n record(\"Mcp\", `${leaf.text}.${tokens[index + 4]!.text}`);\n continue;\n }\n if (tokens[index + 3]?.text === \"(\") {\n const label = ROOT_VERB_LABELS[token.text];\n if (!label) continue;\n if (token.text === \"memory\" || token.text === \"state\") {\n const window = callWindow(tokens, index + 3);\n const key = windowKeyedString(tokens, window.start, window.end, \"key\");\n record(label, key !== undefined ? clipWords(key.split(\"\\n\")[0]!, TITLE_MAX_KEY_CHARS) : undefined);\n } else {\n record(label, undefined);\n }\n }\n }\n if (groups.size === 0) return undefined;\n const segments: string[] = [];\n for (const [verb, targets] of groups) {\n const first = targets.find((target) => target !== undefined);\n let segment = verb;\n if (first !== undefined) {\n segment = `${verb} ${first}`;\n if (targets.length > 1) {\n segment += targets.every((target) => target === first) ? ` \u00D7${targets.length}` : ` +${targets.length - 1}`;\n }\n } else if (targets.length > 1) {\n segment += ` \u00D7${targets.length}`;\n }\n segments.push(segment);\n }\n let title: string | undefined;\n let overflow = false;\n for (const segment of segments) {\n if (title === undefined) {\n title = segment.length <= TITLE_MAX_CHARS ? segment : clipWords(segment, TITLE_MAX_CHARS);\n continue;\n }\n const candidate = `${title} + ${segment}`;\n if (candidate.length <= TITLE_MAX_CHARS) {\n title = candidate;\n continue;\n }\n overflow = true;\n break;\n }\n if (overflow && title !== undefined && title.length + 3 <= TITLE_MAX_CHARS) title = `${title} +\u2026`;\n return title;\n};"],
5
+ "mappings": "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",
6
+ "names": ["require", "digits"]
7
+ }
@@ -16,7 +16,7 @@ import {
16
16
  import {
17
17
  resolveScriptRuntime,
18
18
  resolveScriptRuntimeSync
19
- } from "./chunk-X7G62ZGH.js";
19
+ } from "./chunk-7BG5COXB.js";
20
20
  import {
21
21
  isPiShellRef
22
22
  } from "./chunk-YU62DDKK.js";
@@ -364,4 +364,4 @@ export {
364
364
  NodeProcessRuntime,
365
365
  BunProcessRuntime
366
366
  };
367
- //# sourceMappingURL=chunk-CIODQX77.js.map
367
+ //# sourceMappingURL=chunk-WIC446CZ.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  compileFabricSummary,
3
3
  rawContextTokens
4
- } from "./chunk-JJZFNBB7.js";
4
+ } from "./chunk-MQG5QKGI.js";
5
5
  import {
6
6
  compactionRequestBoundsError,
7
7
  encodeCompactionRequest
@@ -444,4 +444,4 @@ export {
444
444
  buildPeerCards,
445
445
  awaitPeerSettle
446
446
  };
447
- //# sourceMappingURL=chunk-OPEOIVF6.js.map
447
+ //# sourceMappingURL=chunk-XKRZHYH3.js.map
@@ -4,8 +4,8 @@ import {
4
4
  fabricCompactionVersion,
5
5
  rawContextTokens,
6
6
  registerCompactionHook
7
- } from "../chunks/chunk-JJZFNBB7.js";
8
- import "../chunks/chunk-2462VF6I.js";
7
+ } from "../chunks/chunk-MQG5QKGI.js";
8
+ import "../chunks/chunk-SZUXWOO7.js";
9
9
  import "../chunks/chunk-ZDNGXLEC.js";
10
10
  import "../chunks/chunk-3H7SDWZI.js";
11
11
  import "../chunks/chunk-D5WKZONW.js";
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  FabricComponentConfiguration,
3
3
  watchComponentConfiguration
4
- } from "../chunks/chunk-V6RU7BGE.js";
5
- import "../chunks/chunk-2NG7VFJZ.js";
4
+ } from "../chunks/chunk-OHJJTXMP.js";
5
+ import "../chunks/chunk-A3W4ERB3.js";
6
6
  import "../chunks/chunk-OKOHRXGF.js";
7
7
  import "../chunks/chunk-RAO6TQFP.js";
8
8
  import "../chunks/chunk-KAD7UWT2.js";
@@ -1 +1 @@
1
- {"version":3,"file":"shell-jobs.d.ts","sourceRoot":"","sources":["../../src/core/shell-jobs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell-jobs.d.ts","sourceRoot":"","sources":["../../src/core/shell-jobs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fabric-exec-tool.d.ts","sourceRoot":"","sources":["../src/fabric-exec-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAa7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EACL,KAAK,wBAAwB,EAE9B,MAAM,4BAA4B,CAAC;AAQpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AASrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AA6CjE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAqDxE,eAAO,MAAM,oBAAoB,GAC/B,OAAO,WAAW,EAClB,qBAAqB,mBAAmB,EACxC,iBAAiB,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAClD,gBAAe,wBAA+C,EAC9D,cAAc,2BAA2B,KACxC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAm3B9B,CAAC"}
1
+ {"version":3,"file":"fabric-exec-tool.d.ts","sourceRoot":"","sources":["../src/fabric-exec-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAa7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EACL,KAAK,wBAAwB,EAE9B,MAAM,4BAA4B,CAAC;AAQpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAgBrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AA6CjE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAqDxE,eAAO,MAAM,oBAAoB,GAC/B,OAAO,WAAW,EAClB,qBAAqB,mBAAmB,EACxC,iBAAiB,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAClD,gBAAe,wBAA+C,EAC9D,cAAc,2BAA2B,KACxC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CA83B9B,CAAC"}
@@ -12,7 +12,7 @@ import {
12
12
  componentEntries,
13
13
  validateComponentConfig,
14
14
  watchComponentConfiguration
15
- } from "./chunks/chunk-V6RU7BGE.js";
15
+ } from "./chunks/chunk-OHJJTXMP.js";
16
16
  import {
17
17
  WorkerMemoryProvider
18
18
  } from "./chunks/chunk-EDL4JDW7.js";
@@ -33,7 +33,7 @@ import {
33
33
  expandSkillDirMarkersForRead,
34
34
  resolveFabricIdentity,
35
35
  runFabricHandoffAtBoundary
36
- } from "./chunks/chunk-XL5NI6KH.js";
36
+ } from "./chunks/chunk-45QTPCE7.js";
37
37
  import {
38
38
  AgentTranscriptReader,
39
39
  MAX_WRITE_DIFF_BYTES,
@@ -130,12 +130,12 @@ import {
130
130
  resolveInheritedSessionPins,
131
131
  resolvePiBinary,
132
132
  withInheritedSessionPins
133
- } from "./chunks/chunk-NTKI5NUE.js";
133
+ } from "./chunks/chunk-NPEPBSQP.js";
134
134
  import {
135
135
  executeFile,
136
136
  processIsAlive,
137
137
  spawnDetached
138
- } from "./chunks/chunk-X7G62ZGH.js";
138
+ } from "./chunks/chunk-7BG5COXB.js";
139
139
  import "./chunks/chunk-VPPIJRNZ.js";
140
140
  import "./chunks/chunk-PM5I335G.js";
141
141
  import {
@@ -148,7 +148,7 @@ import {
148
148
  } from "./chunks/chunk-TX6E5W7H.js";
149
149
  import {
150
150
  checkedHandoffCompaction
151
- } from "./chunks/chunk-OPEOIVF6.js";
151
+ } from "./chunks/chunk-XKRZHYH3.js";
152
152
  import {
153
153
  resolveAgentDir
154
154
  } from "./chunks/chunk-PXAICAUT.js";
@@ -166,13 +166,13 @@ import {
166
166
  loadFabricConfig,
167
167
  raceShellHang,
168
168
  trackShellOperations
169
- } from "./chunks/chunk-2NG7VFJZ.js";
169
+ } from "./chunks/chunk-A3W4ERB3.js";
170
170
  import "./chunks/chunk-OKOHRXGF.js";
171
171
  import "./chunks/chunk-RAO6TQFP.js";
172
172
  import {
173
173
  fabricExecTitleHintCached
174
- } from "./chunks/chunk-JJZFNBB7.js";
175
- import "./chunks/chunk-2462VF6I.js";
174
+ } from "./chunks/chunk-MQG5QKGI.js";
175
+ import "./chunks/chunk-SZUXWOO7.js";
176
176
  import {
177
177
  writeJsonAtomic,
178
178
  writeJsonAtomicAsync
@@ -11464,42 +11464,45 @@ var AgentCompletionInbox = class {
11464
11464
  constructor(pi, context) {
11465
11465
  this.pi = pi;
11466
11466
  this.#context = context;
11467
- this.#unsubscribe.push(
11468
- pi.on("turn_end", (event, ctx) => {
11469
- this.#context = ctx;
11470
- const stopReason = event.message.role === "assistant" ? event.message.stopReason : void 0;
11471
- if (ctx.signal?.aborted || stopReason === "aborted" || stopReason === "error") {
11472
- this.#suspended = true;
11473
- return;
11474
- }
11475
- this.#flush();
11476
- }),
11477
- pi.on("before_agent_start", (_event, ctx) => {
11478
- this.#context = ctx;
11479
- let message2;
11480
- this.#flush((value) => {
11481
- message2 = value;
11482
- });
11483
- return message2 ? { message: message2 } : void 0;
11484
- }),
11485
- pi.on("agent_settled", (_event, ctx) => {
11486
- if (this.#context.signal?.aborted || ctx.signal?.aborted) this.#suspended = true;
11487
- this.#context = ctx;
11488
- this.#schedule();
11489
- }),
11490
- pi.on("input", (_event, ctx) => {
11491
- this.#context = ctx;
11492
- this.#suspended = false;
11493
- }),
11494
- pi.on("session_tree", (_event, ctx) => {
11495
- this.#context = ctx;
11496
- for (const { result, delivered } of this.#pending.values()) {
11497
- this.#acknowledged.add(result.id);
11498
- this.#confirmDelivery(delivered);
11499
- }
11500
- this.#pending.clear();
11501
- })
11502
- );
11467
+ const subscribe = (event, handler) => {
11468
+ if (typeof pi.on !== "function") return;
11469
+ const unsubscribe = pi.on(event, handler);
11470
+ if (typeof unsubscribe === "function") this.#unsubscribe.push(unsubscribe);
11471
+ };
11472
+ subscribe("turn_end", (event, ctx) => {
11473
+ this.#context = ctx;
11474
+ const stopReason = event.message?.role === "assistant" ? event.message.stopReason : void 0;
11475
+ if (ctx.signal?.aborted || stopReason === "aborted" || stopReason === "error") {
11476
+ this.#suspended = true;
11477
+ return;
11478
+ }
11479
+ this.#flush();
11480
+ });
11481
+ subscribe("before_agent_start", (_event, ctx) => {
11482
+ this.#context = ctx;
11483
+ let message2;
11484
+ this.#flush((value) => {
11485
+ message2 = value;
11486
+ });
11487
+ return message2 ? { message: message2 } : void 0;
11488
+ });
11489
+ subscribe("agent_settled", (_event, ctx) => {
11490
+ if (this.#context.signal?.aborted || ctx.signal?.aborted) this.#suspended = true;
11491
+ this.#context = ctx;
11492
+ this.#schedule();
11493
+ });
11494
+ subscribe("input", (_event, ctx) => {
11495
+ this.#context = ctx;
11496
+ this.#suspended = false;
11497
+ });
11498
+ subscribe("session_tree", (_event, ctx) => {
11499
+ this.#context = ctx;
11500
+ for (const { result, delivered } of this.#pending.values()) {
11501
+ this.#acknowledged.add(result.id);
11502
+ this.#confirmDelivery(delivered);
11503
+ }
11504
+ this.#pending.clear();
11505
+ });
11503
11506
  }
11504
11507
  #pending = /* @__PURE__ */ new Map();
11505
11508
  #acknowledged = /* @__PURE__ */ new Set();