@adminide-stack/yantra-mobile 12.0.65 → 12.0.66-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,27 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ const COMPUTER_CONNECTOR = "yantra-computer";
1
21
  const GEAR_LINE_RE = /^[ \t]*[⚙🔧\u{1F6E0}]️?[ \t]+(.+?)[ \t]*$/u;
2
22
  const BARE_MCP_LINE_RE = /^[ \t]*(mcp__[^\s].*?)[ \t]*$/;
3
23
  const TOOL_LABELS = [[/^tool[_-]?search$/i, "Searching tools"], [/^web[_-]?search$/i, "Searching the web"], [/^web[_-]?scrape$/i, "Reading a page"], [/^web[_-]?batch[_-]?scrape$/i, "Reading pages"], [/^reddit[_-]?search$/i, "Searching Reddit"], [/^x[_-]?search$/i, "Searching X"], [/^youtube[_-]?search$/i, "Searching YouTube"], [/^academic[_-]?search$/i, "Searching papers"], [/^(yantra[_-]?)?github[_-]?search$/i, "Searching GitHub"], [/^bash$/i, "Running a command"], [/^grep$/i, "Searching files"], [/^(str_replace_editor|edit|write)$/i, "Editing files"], [/^read$/i, "Reading files"]];
24
+ const COMPUTER_ACTION_LABELS = [[/_(RESOLVE|STATUS|PROVIDERS)$/i, "Finding your Computer"], [/_(CREATE|RESUME)$/i, "Starting your Computer"], [/_BROWSE$/i, "Opening a page on your Computer"], [/_READ_PAGE$/i, "Reading the page on your Computer"], [/_SCREENSHOT$/i, "Looking at your Computer screen"], [/_(ACT|INPUT)$/i, "Clicking and typing on your Computer"], [/_ATTACH_FILE$/i, "Attaching a file on your Computer"], [/_(READ_FILE|WRITE_FILE)$/i, "Working with files on your Computer"], [/_EXEC$/i, "Running a command on your Computer"]];
4
25
  const CONNECTOR_LABELS = [[/image[_-]?gen/i, "Generating image"], [/video[_-]?gen/i, "Generating video"], [/(audio|tts|speech|voice)/i, "Generating audio"], [/search/i, "Searching"]];
5
26
  function prettifySlug(slug) {
6
27
  const words = slug.replace(/^yantra[_-]/i, "").replace(/[_-]+/g, " ").trim();
@@ -52,7 +73,7 @@ function stripToolPayloads(text) {
52
73
  return out.join("").replace(/\n{3,}/g, "\n\n").trim();
53
74
  }
54
75
  function humanizeToolLine(body) {
55
- var _a, _b, _c, _d;
76
+ var _a, _b, _c, _d, _e, _f, _g, _h;
56
77
  const trimmed = body.trim();
57
78
  const dashSplit = trimmed.split(/\s+[—–-]\s+/);
58
79
  const head = (_b = (_a = dashSplit[0]) == null ? void 0 : _a.trim()) != null ? _b : trimmed;
@@ -60,6 +81,15 @@ function humanizeToolLine(body) {
60
81
  const bareTool = head.replace(/^mcp__[^_]+__/i, "").replace(/^mcp__/i, "");
61
82
  if (/^execute_action$/i.test(bareTool) && detailRaw) {
62
83
  const connector = (_d = (_c = detailRaw.split("/")[0]) == null ? void 0 : _c.trim()) != null ? _d : detailRaw;
84
+ if (connector === COMPUTER_CONNECTOR) {
85
+ const action = (_f = (_e = detailRaw.split("/")[1]) == null ? void 0 : _e.trim()) != null ? _f : "";
86
+ const label2 = (_h = (_g = COMPUTER_ACTION_LABELS.find(([re]) => re.test(action))) == null ? void 0 : _g[1]) != null ? _h : "Using your Computer";
87
+ return {
88
+ label: label2,
89
+ detail: "Computer",
90
+ connector
91
+ };
92
+ }
63
93
  for (const [re, label2] of CONNECTOR_LABELS) {
64
94
  if (re.test(connector)) return {
65
95
  label: label2,
@@ -99,14 +129,18 @@ function parseToolActivity(content, active = false) {
99
129
  if (body) {
100
130
  const {
101
131
  label,
102
- detail
132
+ detail,
133
+ connector
103
134
  } = humanizeToolLine(body);
104
- steps.push({
135
+ steps.push(__spreadProps(__spreadValues({
105
136
  id: `tool-${steps.length}`,
106
137
  label,
107
- detail,
138
+ detail
139
+ }, connector && {
140
+ connector
141
+ }), {
108
142
  status: "done"
109
- });
143
+ }));
110
144
  continue;
111
145
  }
112
146
  kept.push(line);
@@ -120,4 +154,4 @@ function parseToolActivity(content, active = false) {
120
154
  steps,
121
155
  text
122
156
  };
123
- }export{humanizeToolLine,isToolPayloadLine,parseToolActivity,stripToolPayloads};//# sourceMappingURL=toolActivity.js.map
157
+ }export{COMPUTER_CONNECTOR,humanizeToolLine,isToolPayloadLine,parseToolActivity,stripToolPayloads};//# sourceMappingURL=toolActivity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toolActivity.js","sources":["../../../src/features/chat/toolActivity.ts"],"sourcesContent":["/**\n * Tool-activity parsing for the polished status timeline (mobile).\n *\n * A port of the web's `features/chat/toolActivity`, copied rather than imported:\n * mobile is a separate bundle and shares no code with the web shell. It is pure\n * string logic with no DOM or React dependency, so the two are kept in step by\n * having the same tests rather than by a shared module.\n *\n *\n * The cdecli/agent narrates tool use into the streamed assistant text as bare\n * rows, e.g.:\n *\n * ⚙ ToolSearch\n * ⚙ mcp__cdecli__execute_action — yantra-image-generation/Image\n *\n * Rendered raw, these read as debug noise. We parse them out of the prose into\n * structured steps that {@link ./ToolTimeline} renders as an animated,\n * collapsible timeline, and hand back the cleaned prose so the bubble shows only\n * the real answer.\n *\n * Parsing is deliberately conservative: a line only counts as tool activity when\n * it leads with the gear/wrench glyph the agent prefixes, or is a standalone\n * `mcp__…` invocation. Ordinary prose never matches, so a miss degrades to\n * \"leave the text as-is\" rather than eating real content.\n */\n\nexport interface ToolStep {\n /** Stable within a single parse pass — index-based, so identical tools don't collide. */\n id: string;\n /** Humanized present-tense label, e.g. \"Generating image\". */\n label: string;\n /** Optional detail, e.g. the connector slug or raw tool token. */\n detail?: string;\n /** 'running' only ever applies to the LAST step of an in-flight turn. */\n status: 'running' | 'done';\n}\n\nexport interface ParsedToolActivity {\n steps: ToolStep[];\n /** Prose with every tool-activity line removed. */\n text: string;\n}\n\n// A tool-activity line: optional indent, a gear/wrench glyph (with optional\n// emoji variation selector), then the tool token + optional \"— detail\". The `m`\n// flag scopes ^/$ to each line; `u` so the glyph classes match correctly.\nconst GEAR_LINE_RE = /^[ \\t]*[⚙🔧\\u{1F6E0}]️?[ \\t]+(.+?)[ \\t]*$/u;\n// A bare MCP invocation on its own line — the agent sometimes omits the glyph.\n// `mcp__` is vanishingly unlikely in real prose, so this is safe to strip.\nconst BARE_MCP_LINE_RE = /^[ \\t]*(mcp__[^\\s].*?)[ \\t]*$/;\n\n/** Known tool tokens → present-tense labels. Anything unmapped falls back to a humanized token. */\nconst TOOL_LABELS: Array<[RegExp, string]> = [\n [/^tool[_-]?search$/i, 'Searching tools'],\n [/^web[_-]?search$/i, 'Searching the web'],\n [/^web[_-]?scrape$/i, 'Reading a page'],\n [/^web[_-]?batch[_-]?scrape$/i, 'Reading pages'],\n [/^reddit[_-]?search$/i, 'Searching Reddit'],\n [/^x[_-]?search$/i, 'Searching X'],\n [/^youtube[_-]?search$/i, 'Searching YouTube'],\n [/^academic[_-]?search$/i, 'Searching papers'],\n [/^(yantra[_-]?)?github[_-]?search$/i, 'Searching GitHub'],\n [/^bash$/i, 'Running a command'],\n [/^grep$/i, 'Searching files'],\n [/^(str_replace_editor|edit|write)$/i, 'Editing files'],\n [/^read$/i, 'Reading files'],\n];\n\n/** Connector slug → verb phrase for `execute_action — <connector>/<action>` rows. */\nconst CONNECTOR_LABELS: Array<[RegExp, string]> = [\n [/image[_-]?gen/i, 'Generating image'],\n [/video[_-]?gen/i, 'Generating video'],\n [/(audio|tts|speech|voice)/i, 'Generating audio'],\n [/search/i, 'Searching'],\n];\n\n/** Title-case a slug/token: \"yantra-image-generation\" → \"Yantra image generation\". */\nfunction prettifySlug(slug: string): string {\n const words = slug\n .replace(/^yantra[_-]/i, '')\n .replace(/[_-]+/g, ' ')\n .trim();\n return words ? words.charAt(0).toUpperCase() + words.slice(1) : slug;\n}\n\n/** Shell / interpreter snippets the agent pastes after a bash/read row. */\nexport function isToolPayloadLine(line: string): boolean {\n const t = line.trim();\n if (!t) return false;\n if (/^```/.test(t)) return true;\n if (/^(import\\s+\\w+|from\\s+\\S+\\s+import)\\b/.test(t)) return true;\n if (/^(const|let|var)\\s+\\w+\\s*=/.test(t)) return true;\n if (/\\brequire\\s*\\(/.test(t)) return true;\n if (/^path\\s*=\\s*['\"`]/.test(t)) return true;\n if (/\\/(?:data\\/users\\/)?\\.cdecli-server\\b/.test(t)) return true;\n if (/^(mkdir|curl|chmod|rm |cp |mv |cat |echo |python3?\\b|node\\s+-e|npx |yarn |npm )\\b/.test(t)) return true;\n if (/^(fs\\.|JSON\\.parse|JSON\\.stringify)/.test(t)) return true;\n return false;\n}\n\nfunction looksLikeCommandDetail(detail: string): boolean {\n const t = detail.trim();\n if (!t) return false;\n if (isToolPayloadLine(t)) return true;\n if (/^(python3?|node|mkdir|curl|npx|bash|sh|zsh)\\b/.test(t)) return true;\n if (t.length > 72) return true;\n return false;\n}\n\nfunction sanitizeDetail(detail: string | undefined): string | undefined {\n if (!detail) return undefined;\n if (looksLikeCommandDetail(detail)) return undefined;\n return detail;\n}\n\nfunction stripUnfencedPayloadLines(chunk: string): string {\n return chunk\n .split('\\n')\n .filter((line) => !isToolPayloadLine(line))\n .join('\\n');\n}\n\n/**\n * Drop dumped tool scripts (unfenced bash/python after a gear row).\n * Never strip markdown fences — those are the answer's code examples.\n */\nexport function stripToolPayloads(text: string): string {\n const fenceRe = /```[\\s\\S]*?(?:```|$)/g;\n const out: string[] = [];\n let last = 0;\n let match: RegExpExecArray | null;\n while ((match = fenceRe.exec(text))) {\n out.push(stripUnfencedPayloadLines(text.slice(last, match.index)));\n const block = match[0];\n const isToolDump = /\\/(?:data\\/users\\/)?\\.cdecli-server\\b/.test(block);\n const keepWidget = /\\bpropsComponent\\b/.test(block);\n if (!isToolDump || keepWidget) out.push(block);\n last = match.index + block.length;\n }\n out.push(stripUnfencedPayloadLines(text.slice(last)));\n return out\n .join('')\n .replace(/\\n{3,}/g, '\\n\\n')\n .trim();\n}\n\n/**\n * Turn a raw tool row body into a { label, detail }. Handles the two shapes we\n * see: a bare tool name (\"ToolSearch\") and an MCP execute_action carrying a\n * \"connector/action\" detail after an em/en dash.\n */\nexport function humanizeToolLine(body: string): { label: string; detail?: string } {\n const trimmed = body.trim();\n\n // `mcp__cdecli__execute_action — yantra-image-generation/Image`\n const dashSplit = trimmed.split(/\\s+[—–-]\\s+/);\n const head = dashSplit[0]?.trim() ?? trimmed;\n const detailRaw = dashSplit.length > 1 ? dashSplit.slice(1).join(' — ').trim() : undefined;\n\n // Strip an `mcp__<server>__` prefix off the head token.\n const bareTool = head.replace(/^mcp__[^_]+__/i, '').replace(/^mcp__/i, '');\n\n // execute_action rows: the meaning is in the connector detail, not the verb.\n if (/^execute_action$/i.test(bareTool) && detailRaw) {\n const connector = detailRaw.split('/')[0]?.trim() ?? detailRaw;\n for (const [re, label] of CONNECTOR_LABELS) {\n if (re.test(connector)) return { label, detail: prettifySlug(connector) };\n }\n return { label: `Running ${prettifySlug(connector)}`, detail: sanitizeDetail(detailRaw) };\n }\n\n for (const [re, label] of TOOL_LABELS) {\n if (re.test(bareTool)) return { label, detail: sanitizeDetail(detailRaw) };\n }\n\n // Generic fallback: prettify the token (camelCase / snake_case → spaced).\n const spaced = bareTool\n .replace(/([a-z])([A-Z])/g, '$1 $2')\n .replace(/[_-]+/g, ' ')\n .trim();\n // Lowercase the WHOLE token, not just its first character: the split above\n // turns \"someNewTool\" into \"some New Tool\", and lowercasing only the head\n // left the label reading \"Running some New Tool\" mid-sentence.\n const label = spaced ? `Running ${spaced.toLowerCase()}` : 'Working';\n return { label, detail: sanitizeDetail(detailRaw) };\n}\n\n/**\n * Extract tool-activity rows from streamed/persisted assistant content.\n *\n * @param content raw assistant text\n * @param active when true the turn is still streaming, so the LAST step is\n * marked 'running'; otherwise every step is 'done'.\n */\nexport function parseToolActivity(content: string, active = false): ParsedToolActivity {\n if (!content) return { steps: [], text: content ?? '' };\n\n const steps: ToolStep[] = [];\n const kept: string[] = [];\n\n for (const line of content.split('\\n')) {\n const gear = GEAR_LINE_RE.exec(line);\n const mcp = gear ? null : BARE_MCP_LINE_RE.exec(line);\n const body = gear?.[1] ?? mcp?.[1];\n if (body) {\n const { label, detail } = humanizeToolLine(body);\n steps.push({ id: `tool-${steps.length}`, label, detail, status: 'done' });\n continue;\n }\n kept.push(line);\n }\n\n const joined = kept\n .join('\\n')\n .replace(/\\n{3,}/g, '\\n\\n')\n .trim();\n // Payload stripping is only for dumps that follow tool rows. Applying it\n // to every assistant turn deleted fenced JS/bash examples from the bubble.\n const text = steps.length > 0 ? stripToolPayloads(joined) : joined;\n\n if (active && steps.length > 0) {\n steps[steps.length - 1].status = 'running';\n }\n\n return { steps, text };\n}\n"],"names":["label"],"mappings":"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"}
1
+ {"version":3,"file":"toolActivity.js","sources":["../../../src/features/chat/toolActivity.ts"],"sourcesContent":["/**\n * Tool-activity parsing for the polished status timeline (mobile).\n *\n * A port of the web's `features/chat/toolActivity`, copied rather than imported:\n * mobile is a separate bundle and shares no code with the web shell. It is pure\n * string logic with no DOM or React dependency, so the two are kept in step by\n * having the same tests rather than by a shared module.\n *\n *\n * The cdecli/agent narrates tool use into the streamed assistant text as bare\n * rows, e.g.:\n *\n * ⚙ ToolSearch\n * ⚙ mcp__cdecli__execute_action — yantra-image-generation/Image\n *\n * Rendered raw, these read as debug noise. We parse them out of the prose into\n * structured steps that {@link ./ToolTimeline} renders as an animated,\n * collapsible timeline, and hand back the cleaned prose so the bubble shows only\n * the real answer.\n *\n * Parsing is deliberately conservative: a line only counts as tool activity when\n * it leads with the gear/wrench glyph the agent prefixes, or is a standalone\n * `mcp__…` invocation. Ordinary prose never matches, so a miss degrades to\n * \"leave the text as-is\" rather than eating real content.\n */\n\nexport interface ToolStep {\n /** Stable within a single parse pass — index-based, so identical tools don't collide. */\n id: string;\n /** Humanized present-tense label, e.g. \"Generating image\". */\n label: string;\n /** Optional detail, e.g. the connector slug or raw tool token. */\n detail?: string;\n /** The connector an execute_action row ran on (`yantra-computer`), when it was one. */\n connector?: string;\n /** 'running' only ever applies to the LAST step of an in-flight turn. */\n status: 'running' | 'done';\n}\n\n/** The connector behind the user's cloud Computer - the one browser they can watch and take over. */\nexport const COMPUTER_CONNECTOR = 'yantra-computer';\n\n/** Whether any step of a turn ran on the user's Computer. */\nexport function usesComputer(steps: ToolStep[]): boolean {\n return steps.some((step) => step.connector === COMPUTER_CONNECTOR);\n}\n\nexport interface ParsedToolActivity {\n steps: ToolStep[];\n /** Prose with every tool-activity line removed. */\n text: string;\n}\n\n// A tool-activity line: optional indent, a gear/wrench glyph (with optional\n// emoji variation selector), then the tool token + optional \"— detail\". The `m`\n// flag scopes ^/$ to each line; `u` so the glyph classes match correctly.\nconst GEAR_LINE_RE = /^[ \\t]*[⚙🔧\\u{1F6E0}]️?[ \\t]+(.+?)[ \\t]*$/u;\n// A bare MCP invocation on its own line — the agent sometimes omits the glyph.\n// `mcp__` is vanishingly unlikely in real prose, so this is safe to strip.\nconst BARE_MCP_LINE_RE = /^[ \\t]*(mcp__[^\\s].*?)[ \\t]*$/;\n\n/** Known tool tokens → present-tense labels. Anything unmapped falls back to a humanized token. */\nconst TOOL_LABELS: Array<[RegExp, string]> = [\n [/^tool[_-]?search$/i, 'Searching tools'],\n [/^web[_-]?search$/i, 'Searching the web'],\n [/^web[_-]?scrape$/i, 'Reading a page'],\n [/^web[_-]?batch[_-]?scrape$/i, 'Reading pages'],\n [/^reddit[_-]?search$/i, 'Searching Reddit'],\n [/^x[_-]?search$/i, 'Searching X'],\n [/^youtube[_-]?search$/i, 'Searching YouTube'],\n [/^academic[_-]?search$/i, 'Searching papers'],\n [/^(yantra[_-]?)?github[_-]?search$/i, 'Searching GitHub'],\n [/^bash$/i, 'Running a command'],\n [/^grep$/i, 'Searching files'],\n [/^(str_replace_editor|edit|write)$/i, 'Editing files'],\n [/^read$/i, 'Reading files'],\n];\n\n/**\n * The Computer's actions, by verb. The connector alone (\"Running computer\")\n * says nothing; what the person wants to know is that the agent is on their\n * browser and roughly what it is doing there.\n */\nconst COMPUTER_ACTION_LABELS: Array<[RegExp, string]> = [\n [/_(RESOLVE|STATUS|PROVIDERS)$/i, 'Finding your Computer'],\n [/_(CREATE|RESUME)$/i, 'Starting your Computer'],\n [/_BROWSE$/i, 'Opening a page on your Computer'],\n [/_READ_PAGE$/i, 'Reading the page on your Computer'],\n [/_SCREENSHOT$/i, 'Looking at your Computer screen'],\n [/_(ACT|INPUT)$/i, 'Clicking and typing on your Computer'],\n [/_ATTACH_FILE$/i, 'Attaching a file on your Computer'],\n [/_(READ_FILE|WRITE_FILE)$/i, 'Working with files on your Computer'],\n [/_EXEC$/i, 'Running a command on your Computer'],\n];\n\n/** Connector slug → verb phrase for `execute_action — <connector>/<action>` rows. */\nconst CONNECTOR_LABELS: Array<[RegExp, string]> = [\n [/image[_-]?gen/i, 'Generating image'],\n [/video[_-]?gen/i, 'Generating video'],\n [/(audio|tts|speech|voice)/i, 'Generating audio'],\n [/search/i, 'Searching'],\n];\n\n/** Title-case a slug/token: \"yantra-image-generation\" → \"Yantra image generation\". */\nfunction prettifySlug(slug: string): string {\n const words = slug\n .replace(/^yantra[_-]/i, '')\n .replace(/[_-]+/g, ' ')\n .trim();\n return words ? words.charAt(0).toUpperCase() + words.slice(1) : slug;\n}\n\n/** Shell / interpreter snippets the agent pastes after a bash/read row. */\nexport function isToolPayloadLine(line: string): boolean {\n const t = line.trim();\n if (!t) return false;\n if (/^```/.test(t)) return true;\n if (/^(import\\s+\\w+|from\\s+\\S+\\s+import)\\b/.test(t)) return true;\n if (/^(const|let|var)\\s+\\w+\\s*=/.test(t)) return true;\n if (/\\brequire\\s*\\(/.test(t)) return true;\n if (/^path\\s*=\\s*['\"`]/.test(t)) return true;\n if (/\\/(?:data\\/users\\/)?\\.cdecli-server\\b/.test(t)) return true;\n if (/^(mkdir|curl|chmod|rm |cp |mv |cat |echo |python3?\\b|node\\s+-e|npx |yarn |npm )\\b/.test(t)) return true;\n if (/^(fs\\.|JSON\\.parse|JSON\\.stringify)/.test(t)) return true;\n return false;\n}\n\nfunction looksLikeCommandDetail(detail: string): boolean {\n const t = detail.trim();\n if (!t) return false;\n if (isToolPayloadLine(t)) return true;\n if (/^(python3?|node|mkdir|curl|npx|bash|sh|zsh)\\b/.test(t)) return true;\n if (t.length > 72) return true;\n return false;\n}\n\nfunction sanitizeDetail(detail: string | undefined): string | undefined {\n if (!detail) return undefined;\n if (looksLikeCommandDetail(detail)) return undefined;\n return detail;\n}\n\nfunction stripUnfencedPayloadLines(chunk: string): string {\n return chunk\n .split('\\n')\n .filter((line) => !isToolPayloadLine(line))\n .join('\\n');\n}\n\n/**\n * Drop dumped tool scripts (unfenced bash/python after a gear row).\n * Never strip markdown fences — those are the answer's code examples.\n */\nexport function stripToolPayloads(text: string): string {\n const fenceRe = /```[\\s\\S]*?(?:```|$)/g;\n const out: string[] = [];\n let last = 0;\n let match: RegExpExecArray | null;\n while ((match = fenceRe.exec(text))) {\n out.push(stripUnfencedPayloadLines(text.slice(last, match.index)));\n const block = match[0];\n const isToolDump = /\\/(?:data\\/users\\/)?\\.cdecli-server\\b/.test(block);\n const keepWidget = /\\bpropsComponent\\b/.test(block);\n if (!isToolDump || keepWidget) out.push(block);\n last = match.index + block.length;\n }\n out.push(stripUnfencedPayloadLines(text.slice(last)));\n return out\n .join('')\n .replace(/\\n{3,}/g, '\\n\\n')\n .trim();\n}\n\n/**\n * Turn a raw tool row body into a { label, detail }. Handles the two shapes we\n * see: a bare tool name (\"ToolSearch\") and an MCP execute_action carrying a\n * \"connector/action\" detail after an em/en dash.\n */\nexport function humanizeToolLine(body: string): { label: string; detail?: string; connector?: string } {\n const trimmed = body.trim();\n\n // `mcp__cdecli__execute_action — yantra-image-generation/Image`\n const dashSplit = trimmed.split(/\\s+[—–-]\\s+/);\n const head = dashSplit[0]?.trim() ?? trimmed;\n const detailRaw = dashSplit.length > 1 ? dashSplit.slice(1).join(' — ').trim() : undefined;\n\n // Strip an `mcp__<server>__` prefix off the head token.\n const bareTool = head.replace(/^mcp__[^_]+__/i, '').replace(/^mcp__/i, '');\n\n // execute_action rows: the meaning is in the connector detail, not the verb.\n if (/^execute_action$/i.test(bareTool) && detailRaw) {\n const connector = detailRaw.split('/')[0]?.trim() ?? detailRaw;\n if (connector === COMPUTER_CONNECTOR) {\n const action = detailRaw.split('/')[1]?.trim() ?? '';\n const label = COMPUTER_ACTION_LABELS.find(([re]) => re.test(action))?.[1] ?? 'Using your Computer';\n return { label, detail: 'Computer', connector };\n }\n for (const [re, label] of CONNECTOR_LABELS) {\n if (re.test(connector)) return { label, detail: prettifySlug(connector) };\n }\n return { label: `Running ${prettifySlug(connector)}`, detail: sanitizeDetail(detailRaw) };\n }\n\n for (const [re, label] of TOOL_LABELS) {\n if (re.test(bareTool)) return { label, detail: sanitizeDetail(detailRaw) };\n }\n\n // Generic fallback: prettify the token (camelCase / snake_case → spaced).\n const spaced = bareTool\n .replace(/([a-z])([A-Z])/g, '$1 $2')\n .replace(/[_-]+/g, ' ')\n .trim();\n // Lowercase the WHOLE token, not just its first character: the split above\n // turns \"someNewTool\" into \"some New Tool\", and lowercasing only the head\n // left the label reading \"Running some New Tool\" mid-sentence.\n const label = spaced ? `Running ${spaced.toLowerCase()}` : 'Working';\n return { label, detail: sanitizeDetail(detailRaw) };\n}\n\n/**\n * Extract tool-activity rows from streamed/persisted assistant content.\n *\n * @param content raw assistant text\n * @param active when true the turn is still streaming, so the LAST step is\n * marked 'running'; otherwise every step is 'done'.\n */\nexport function parseToolActivity(content: string, active = false): ParsedToolActivity {\n if (!content) return { steps: [], text: content ?? '' };\n\n const steps: ToolStep[] = [];\n const kept: string[] = [];\n\n for (const line of content.split('\\n')) {\n const gear = GEAR_LINE_RE.exec(line);\n const mcp = gear ? null : BARE_MCP_LINE_RE.exec(line);\n const body = gear?.[1] ?? mcp?.[1];\n if (body) {\n const { label, detail, connector } = humanizeToolLine(body);\n steps.push({ id: `tool-${steps.length}`, label, detail, ...(connector && { connector }), status: 'done' });\n continue;\n }\n kept.push(line);\n }\n\n const joined = kept\n .join('\\n')\n .replace(/\\n{3,}/g, '\\n\\n')\n .trim();\n // Payload stripping is only for dumps that follow tool rows. Applying it\n // to every assistant turn deleted fenced JS/bash examples from the bubble.\n const text = steps.length > 0 ? stripToolPayloads(joined) : joined;\n\n if (active && steps.length > 0) {\n steps[steps.length - 1].status = 'running';\n }\n\n return { steps, text };\n}\n"],"names":["label"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adminide-stack/yantra-mobile",
3
- "version": "12.0.65",
3
+ "version": "12.0.66-alpha.1",
4
4
  "description": "Sample core for higher packages to depend on",
5
5
  "license": "ISC",
6
6
  "author": "CDMBase LLC",
@@ -25,7 +25,7 @@
25
25
  "uuid": "^9.0.0"
26
26
  },
27
27
  "devDependencies": {
28
- "common": "12.0.64"
28
+ "common": "12.0.66-alpha.1"
29
29
  },
30
30
  "peerDependencies": {
31
31
  "@admin-layout/gluestack-ui-mobile": "*",
@@ -41,7 +41,7 @@
41
41
  "@messenger-box/platform-mobile": "*",
42
42
  "@react-native-async-storage/async-storage": "*",
43
43
  "@react-navigation/native": "*",
44
- "common": "12.0.64",
44
+ "common": "12.0.64-alpha.6",
45
45
  "expo-constants": "*",
46
46
  "expo-secure-store": "*",
47
47
  "lodash": "*",
@@ -57,5 +57,5 @@
57
57
  "typescript": {
58
58
  "definition": "lib/index.d.ts"
59
59
  },
60
- "gitHead": "360dacf74ee7a9e37adb229dc4fc04d73c3d07ce"
60
+ "gitHead": "c6a248189ccf76507d021a19abbeb605faa5f4a7"
61
61
  }