@poncho-ai/harness 0.59.17 → 0.59.18

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,5 +1,5 @@
1
1
 
2
- > @poncho-ai/harness@0.59.17 build /home/runner/work/poncho-ai/poncho-ai/packages/harness
2
+ > @poncho-ai/harness@0.59.18 build /home/runner/work/poncho-ai/poncho-ai/packages/harness
3
3
  > node scripts/embed-docs.js && tsup src/index.ts --format esm --dts
4
4
 
5
5
  [embed-docs] Generated poncho-docs.ts with 4 topics
@@ -8,9 +8,9 @@
8
8
  CLI tsup v8.5.1
9
9
  CLI Target: es2022
10
10
  ESM Build start
11
+ ESM dist/index.js 572.34 KB
11
12
  ESM dist/isolate-F2PPSUL6.js 53.82 KB
12
- ESM dist/index.js 571.82 KB
13
- ESM ⚡️ Build success in 264ms
13
+ ESM ⚡️ Build success in 214ms
14
14
  DTS Build start
15
- DTS ⚡️ Build success in 7586ms
15
+ DTS ⚡️ Build success in 7534ms
16
16
  DTS dist/index.d.ts 104.01 KB
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @poncho-ai/harness
2
2
 
3
+ ## 0.59.18
4
+
5
+ ### Patch Changes
6
+
7
+ - [#184](https://github.com/cesr/poncho-ai/pull/184) [`12ce2be`](https://github.com/cesr/poncho-ai/commit/12ce2be01c9d98b1d9aa634d4d8051c4c0094a44) Thanks [@cesr](https://github.com/cesr)! - Add `browser_download` so the agent can save files from the browser into the
8
+ VFS. The tool fetches a file using the page's logged-in session (so it works
9
+ for files behind a login) and writes the bytes straight to the tenant's VFS via
10
+ `ToolContext.vfs` — never through the model. `url` defaults to the current page,
11
+ or pass a same-origin link's href. The fetch runs inside the page (`evaluate`),
12
+ so it works identically for local and remote/cloud browsers (bytes return over
13
+ CDP). Capped at 25 MB. The harness browser system prompt now documents it under
14
+ a "Saving files" section.
15
+
3
16
  ## 0.59.17
4
17
 
5
18
  ### Patch Changes
package/dist/index.js CHANGED
@@ -10855,6 +10855,9 @@ Browser sessions (cookies, localStorage, login state) are automatically saved an
10855
10855
  - Use \`browser_screenshot\` only when you need to see visual layout or images. Screenshots consume significantly more tokens.
10856
10856
  - The accessibility tree may be sparse on some pages. If \`browser_snapshot\` returns little or no content, fall back to \`browser_content\` or \`browser_screenshot\`.
10857
10857
 
10858
+ ### Saving files
10859
+ To keep a file the page offers (a PDF, CSV, image, export, etc.), use \`browser_download\` to save it into the user's filesystem. It fetches with the browser's logged-in session, so it works for files behind a login. For a download link, get its href from a snapshot and pass it as \`url\`; for a file that opens in the browser, navigate to it and call \`browser_download\` with no \`url\`. The bytes go straight to the filesystem (not through the chat), so prefer this over screenshotting or copy-pasting file contents.
10860
+
10858
10861
  ### Tabs and resources
10859
10862
  Each conversation gets its own browser tab sharing a single browser instance. Call \`browser_close\` when done to free the tab. If you don't close it, the tab stays open and the user can continue interacting with it.` : "";
10860
10863
  const mainMemory = await memoryPromise;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@poncho-ai/harness",
3
- "version": "0.59.17",
3
+ "version": "0.59.18",
4
4
  "description": "Agent execution runtime - conversation loop, tool dispatch, streaming",
5
5
  "repository": {
6
6
  "type": "git",
package/src/harness.ts CHANGED
@@ -2376,6 +2376,9 @@ Browser sessions (cookies, localStorage, login state) are automatically saved an
2376
2376
  - Use \`browser_screenshot\` only when you need to see visual layout or images. Screenshots consume significantly more tokens.
2377
2377
  - The accessibility tree may be sparse on some pages. If \`browser_snapshot\` returns little or no content, fall back to \`browser_content\` or \`browser_screenshot\`.
2378
2378
 
2379
+ ### Saving files
2380
+ To keep a file the page offers (a PDF, CSV, image, export, etc.), use \`browser_download\` to save it into the user's filesystem. It fetches with the browser's logged-in session, so it works for files behind a login. For a download link, get its href from a snapshot and pass it as \`url\`; for a file that opens in the browser, navigate to it and call \`browser_download\` with no \`url\`. The bytes go straight to the filesystem (not through the chat), so prefer this over screenshotting or copy-pasting file contents.
2381
+
2379
2382
  ### Tabs and resources
2380
2383
  Each conversation gets its own browser tab sharing a single browser instance. Call \`browser_close\` when done to free the tab. If you don't close it, the tab stays open and the user can continue interacting with it.`
2381
2384
  : "";