@piagent/platform 1.48.2 → 1.48.3

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 (100) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/docs/command-reference-vietnamese.md +2 -2
  3. package/docs/distribution-standard.md +6 -6
  4. package/docs/operator-manual-vietnamese.md +7 -7
  5. package/docs/publishing-for-teams.md +1 -0
  6. package/docs/release-install-policy.md +2 -2
  7. package/docs/team-onboarding.md +2 -2
  8. package/docs-site/architecture.html +1 -1
  9. package/docs-site/assets/search-en.json +1 -1
  10. package/docs-site/assets/search-vi.json +1 -1
  11. package/docs-site/benchmark.html +1 -1
  12. package/docs-site/commands.html +1 -1
  13. package/docs-site/context-engine.html +1 -1
  14. package/docs-site/ecosystem.html +1 -1
  15. package/docs-site/en/architecture.html +1 -1
  16. package/docs-site/en/benchmark.html +1 -1
  17. package/docs-site/en/commands.html +1 -1
  18. package/docs-site/en/context-engine.html +1 -1
  19. package/docs-site/en/ecosystem.html +1 -1
  20. package/docs-site/en/index.html +9 -9
  21. package/docs-site/en/mcp-approval.html +1 -1
  22. package/docs-site/en/mcp-auth.html +1 -1
  23. package/docs-site/en/mcp-servers.html +1 -1
  24. package/docs-site/en/mcp.html +1 -1
  25. package/docs-site/en/permissions.html +1 -1
  26. package/docs-site/en/profiles.html +1 -1
  27. package/docs-site/en/quickstart.html +1 -1
  28. package/docs-site/en/runtime.html +1 -1
  29. package/docs-site/en/scope.html +1 -1
  30. package/docs-site/en/security.html +1 -1
  31. package/docs-site/en/team.html +1 -1
  32. package/docs-site/en/update.html +3 -3
  33. package/docs-site/en/whats-new.html +28 -15
  34. package/docs-site/en/windows.html +1 -1
  35. package/docs-site/en/workflows.html +1 -1
  36. package/docs-site/index.html +9 -9
  37. package/docs-site/mcp-approval.html +1 -1
  38. package/docs-site/mcp-auth.html +1 -1
  39. package/docs-site/mcp-servers.html +1 -1
  40. package/docs-site/mcp.html +1 -1
  41. package/docs-site/permissions.html +1 -1
  42. package/docs-site/profiles.html +1 -1
  43. package/docs-site/quickstart.html +1 -1
  44. package/docs-site/releases.json +41 -0
  45. package/docs-site/runtime.html +1 -1
  46. package/docs-site/scope.html +1 -1
  47. package/docs-site/security.html +1 -1
  48. package/docs-site/team.html +1 -1
  49. package/docs-site/update.html +3 -3
  50. package/docs-site/whats-new.html +28 -15
  51. package/docs-site/windows.html +1 -1
  52. package/docs-site/workflows.html +1 -1
  53. package/evals/private-holdout-v1/public-exposure.v2.json +1 -1
  54. package/package.json +1 -1
  55. package/packages/piagent-core/extensions/workspace-inspection.ts +4 -1
  56. package/packages/piagent-core/managed/dist/workspace/manifest.json +1 -1
  57. package/packages/piagent-core/managed/dist/workspace/worker.mjs +7 -1
  58. package/packages/piagent-core/managed/patch-snapshot.mjs +28 -13
  59. package/packages/piagent-core/managed/review-snapshot-request.mjs +1 -1
  60. package/packages/piagent-core/managed/review-snapshot-worker.mjs +52 -11
  61. package/packages/piagent-core/managed/session.mjs +7 -7
  62. package/packages/piagent-core/managed/workflow.mjs +4 -3
  63. package/packages/piagent-core/package.json +1 -1
  64. package/packages/piagent-webui/dist/client/assets/{ActivityPanel-DxQ3_dyT.js → ActivityPanel-Bv-jc1s3.js} +1 -1
  65. package/packages/piagent-webui/dist/client/assets/App-DqN7B1JR.js +5 -0
  66. package/packages/piagent-webui/dist/client/assets/AttachmentImage-eZKqLYZ2.js +1 -0
  67. package/packages/piagent-webui/dist/client/assets/GatewayApp-B3--WjSd.js +63 -0
  68. package/packages/piagent-webui/dist/client/assets/{InspectionApp-CEilR0FG.js → InspectionApp-BKQiA0Ce.js} +1 -1
  69. package/packages/piagent-webui/dist/client/assets/{LineReview-C_0ZpgCH.js → LineReview-CB3mQe7m.js} +1 -1
  70. package/packages/piagent-webui/dist/client/assets/MarkdownMessage-zw5RxDmZ.js +29 -0
  71. package/packages/piagent-webui/dist/client/assets/{SessionAgentWorkspace-yh0py16t.js → SessionAgentWorkspace-ZAdRbxVA.js} +1 -1
  72. package/packages/piagent-webui/dist/client/assets/SessionInspectorDrawer-B2e4-1FG.js +2 -0
  73. package/packages/piagent-webui/dist/client/assets/SettingsNavigation-C3MC0X4P.js +3 -0
  74. package/packages/piagent-webui/dist/client/assets/SettingsPage-D4os5vHj.js +1 -0
  75. package/packages/piagent-webui/dist/client/assets/{TerminalPanel-B2-YAz2x.js → TerminalPanel-CVYUiDkn.js} +2 -2
  76. package/packages/piagent-webui/dist/client/assets/{TerminalView-yaIg6RCs.js → TerminalView-C3upxbKw.js} +1 -1
  77. package/packages/piagent-webui/dist/client/assets/{WorkspaceCodeEditor-DAdMuw6x.js → WorkspaceCodeEditor-E0Zopcke.js} +1 -1
  78. package/packages/piagent-webui/dist/client/assets/WorkspaceExplorer-DldLoJyf.js +5 -0
  79. package/packages/piagent-webui/dist/client/assets/WorkspaceFilePreview-CvIBYige.js +1 -0
  80. package/packages/piagent-webui/dist/client/assets/{WorkspaceQuickOpen-CJmMBmK8.js → WorkspaceQuickOpen-Bi-kTEEU.js} +1 -1
  81. package/packages/piagent-webui/dist/client/assets/index-DcrpSyBK.js +37 -0
  82. package/packages/piagent-webui/dist/client/assets/{tab-close-ITV4Cf4X.js → tab-close-BwkkhMH7.js} +1 -1
  83. package/packages/piagent-webui/dist/client/assets/transcript-view-model-acWtHGyE.js +3 -0
  84. package/packages/piagent-webui/dist/client/assets/{ui-preferences-0waeSO-S.js → ui-preferences-OfS30-ZV.js} +1 -1
  85. package/packages/piagent-webui/dist/client/assets/{vendor-CSDKB7mU.js → vendor-DNZbaWhT.js} +62 -26
  86. package/packages/piagent-webui/dist/client/assets/{workspace-api-D8sJkiZB.js → workspace-api-CFBR73lU.js} +1 -1
  87. package/packages/piagent-webui/dist/client/assets/workspace-navigation-DW8zhH6U.js +1 -0
  88. package/packages/piagent-webui/dist/client/index.html +3 -3
  89. package/packages/piagent-webui/shared/process-copy.ts +2 -1
  90. package/schemas/piagent-webui/workspace-media-v1.schema.json +6 -0
  91. package/packages/piagent-webui/dist/client/assets/App-Dg6Firq1.js +0 -5
  92. package/packages/piagent-webui/dist/client/assets/GatewayApp-CCczgphI.js +0 -99
  93. package/packages/piagent-webui/dist/client/assets/MarkdownMessage-DGt5B-6D.js +0 -29
  94. package/packages/piagent-webui/dist/client/assets/SessionInspectorDrawer-C-18TcGH.js +0 -2
  95. package/packages/piagent-webui/dist/client/assets/SettingsNavigation-BFfqMcuL.js +0 -3
  96. package/packages/piagent-webui/dist/client/assets/SettingsPage-CxpZ7cdM.js +0 -1
  97. package/packages/piagent-webui/dist/client/assets/WorkspaceExplorer-97MLNtEa.js +0 -5
  98. package/packages/piagent-webui/dist/client/assets/index-B8tL7HFz.js +0 -37
  99. package/packages/piagent-webui/dist/client/assets/transcript-view-model-DqO4xO12.js +0 -3
  100. package/packages/piagent-webui/dist/client/assets/workspace-navigation-DkVobhwg.js +0 -1
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/en/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · EN"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/en/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · EN"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Documentation">
42
42
  <a href="/en/quickstart">Docs</a>
43
43
  <a href="/en/whats-new">Changelog</a>
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/en/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · EN"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/en/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · EN"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Documentation">
42
42
  <a href="/en/quickstart">Docs</a>
43
43
  <a href="/en/whats-new">Changelog</a>
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/en/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · EN"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/en/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · EN"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Documentation">
42
42
  <a href="/en/quickstart">Docs</a>
43
43
  <a href="/en/whats-new">Changelog</a>
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/en/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · EN"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/en/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · EN"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Documentation">
42
42
  <a href="/en/quickstart" aria-current="page">Docs</a>
43
43
  <a href="/en/whats-new">Changelog</a>
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/en/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · EN"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/en/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · EN"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Documentation">
42
42
  <a href="/en/quickstart">Docs</a>
43
43
  <a href="/en/whats-new">Changelog</a>
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/en/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · EN"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/en/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · EN"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Documentation">
42
42
  <a href="/en/quickstart">Docs</a>
43
43
  <a href="/en/whats-new">Changelog</a>
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/en/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · EN"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/en/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · EN"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Documentation">
42
42
  <a href="/en/quickstart">Docs</a>
43
43
  <a href="/en/whats-new">Changelog</a>
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/en/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · EN"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/en/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · EN"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Documentation">
42
42
  <a href="/en/quickstart">Docs</a>
43
43
  <a href="/en/whats-new">Changelog</a>
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/en/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · EN"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/en/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · EN"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Documentation">
42
42
  <a href="/en/quickstart">Docs</a>
43
43
  <a href="/en/whats-new">Changelog</a>
@@ -153,9 +153,9 @@
153
153
  <h2 id="pin-for-a-team">Pin one release for a team</h2>
154
154
  <p>For a team rollout, install the exact Pi host and platform release, then run the installer in stable mode. The <code>--dry-run</code> step prints what would change.</p>
155
155
  <div class="command-card">
156
- <header><span>Pinned install</span><button class="clip-btn" data-clip="npm install -g --ignore-scripts @earendil-works/pi-coding-agent@1.3.0&#10;npm install -g --ignore-scripts @piagent/platform@1.48.2&#10;piagent-install --stable --dry-run&#10;piagent-install --stable">Copy</button></header>
156
+ <header><span>Pinned install</span><button class="clip-btn" data-clip="npm install -g --ignore-scripts @earendil-works/pi-coding-agent@1.3.0&#10;npm install -g --ignore-scripts @piagent/platform@1.48.3&#10;piagent-install --stable --dry-run&#10;piagent-install --stable">Copy</button></header>
157
157
  <pre><code>npm install -g --ignore-scripts @earendil-works/pi-coding-agent@1.3.0
158
- npm install -g --ignore-scripts @piagent/platform@1.48.2
158
+ npm install -g --ignore-scripts @piagent/platform@1.48.3
159
159
  piagent-install --stable --dry-run
160
160
  piagent-install --stable</code></pre>
161
161
  </div>
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/en/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · EN"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/en/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · EN"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Documentation">
42
42
  <a href="/en/quickstart">Docs</a>
43
43
  <a href="/en/whats-new" aria-current="page">Changelog</a>
@@ -108,7 +108,21 @@
108
108
  <div class="release-filter" role="toolbar" aria-label="Filter by kind of change"><button type="button" data-filter-kind="all" aria-pressed="true">All</button><button type="button" data-filter-kind="new" aria-pressed="false">New</button><button type="button" data-filter-kind="improved" aria-pressed="false">Improved</button><button type="button" data-filter-kind="fixed" aria-pressed="false">Fixed</button><button type="button" data-filter-kind="security" aria-pressed="false">Security</button></div>
109
109
  <section class="section releases" data-releases>
110
110
  <h2 id="latest" class="sr-only">Latest</h2>
111
- <article class="release latest" id="v1-48-2" data-release>
111
+ <article class="release latest" id="v1-48-3" data-release>
112
+ <div class="release-meta"><a class="release-version" href="#v1-48-3">v1.48.3</a><time class="release-date" datetime="2026-10-30">Oct 30, 2026</time></div>
113
+ <div class="release-body">
114
+ <h3 data-toc-skip id="v1-48-3-title">The agent sends pictures and files into the chat; reviews run across several repositories</h3>
115
+ <p>Answers show pictures and file cards in place, an SVG opens as a picture, attached images are large and open full size, and a folder of repositories gets its review.</p>
116
+ <ul class="release-items">
117
+ <li data-kind="new"><span class="kind kind-new">New</span><span>The agent sends a picture or file into the chat with ![name](path): a picture is drawn in place and opens full size, any other file is a card to open or download.</span></li>
118
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>An SVG opens as a picture with View code beside it, and every open file has Download.</span></li>
119
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>An image attached to a message is a large thumbnail that opens full size, on the new conversation page too.</span></li>
120
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>Review no longer fails with not_git in a folder holding several repositories: changes made by commands, committed or not, are found in each repository.</span></li>
121
+ <li data-kind="fixed"><span class="kind kind-fixed">Fixed</span><span>A review stopped by an update under a running conversation says so and asks to reopen it; an unnamed failure keeps its redacted words in the local log.</span></li>
122
+ </ul>
123
+ </div>
124
+ </article>
125
+ <article class="release" id="v1-48-2" data-release>
112
126
  <div class="release-meta"><a class="release-version" href="#v1-48-2">v1.48.2</a><time class="release-date" datetime="2026-10-30">Oct 30, 2026</time></div>
113
127
  <div class="release-body">
114
128
  <h3 data-toc-skip id="v1-48-2-title">Terminals load a new release without closing; only the member waives checks</h3>
@@ -408,24 +422,23 @@
408
422
  </ul>
409
423
  </div>
410
424
  </article>
411
- <article class="release" id="v1-43-1" data-release>
412
- <div class="release-meta"><a class="release-version" href="#v1-43-1">v1.43.1</a><time class="release-date" datetime="2026-10-26">Oct 26, 2026</time></div>
413
- <div class="release-body">
414
- <h3 data-toc-skip id="v1-43-1-title">Your workflow, with adaptive backend and frontend support <span class="tag">not published</span></h3>
415
- <p>Tagged but not published: a release-note bullet exceeded the documentation length limit. Superseded by 1.43.4.</p>
416
- <ul class="release-items">
417
- <li data-kind="new"><span class="kind kind-new">New</span><span>Bounded discovery maps frontend/backend packages and repositories inside the conversation folder and suggests relevant local checks, refreshed each task.</span></li>
418
- <li data-kind="new"><span class="kind kind-new">New</span><span>Optional workflow context remembers task-specific canonical requirement, plan and task references across reopening, shares them read-only with helpers, and supports switching or clearing.</span></li>
419
- <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Lifecycle guidance adapts to the chosen workflow and stopping point, without mandatory spec files or automatic release gates. Skills never grant access or waive verification, review or deployment approval.</span></li>
420
- </ul>
421
- </div>
422
- </article>
423
425
  </section>
424
426
  <section class="section archive">
425
427
  <h2 id="archive">Earlier releases</h2>
426
428
  <p class="section-lead">Older releases, grouped by month. Open a month to see every change.</p>
427
429
  <details class="release-archive">
428
- <summary><span>October 2026</span><span class="archive-count">65</span></summary>
430
+ <summary><span>October 2026</span><span class="archive-count">66</span></summary>
431
+ <div class="archive-row" id="v1-43-1">
432
+ <div class="archive-head"><a class="release-version" href="#v1-43-1">v1.43.1</a> <span class="release-date">Oct 26, 2026</span></div>
433
+ <div class="archive-body">
434
+ <p><strong>Your workflow, with adaptive backend and frontend support</strong> <span class="tag">not published</span> — Tagged but not published: a release-note bullet exceeded the documentation length limit. Superseded by 1.43.4.</p>
435
+ <ul class="release-items">
436
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Bounded discovery maps frontend/backend packages and repositories inside the conversation folder and suggests relevant local checks, refreshed each task.</span></li>
437
+ <li data-kind="new"><span class="kind kind-new">New</span><span>Optional workflow context remembers task-specific canonical requirement, plan and task references across reopening, shares them read-only with helpers, and supports switching or clearing.</span></li>
438
+ <li data-kind="improved"><span class="kind kind-improved">Improved</span><span>Lifecycle guidance adapts to the chosen workflow and stopping point, without mandatory spec files or automatic release gates. Skills never grant access or waive verification, review or deployment approval.</span></li>
439
+ </ul>
440
+ </div>
441
+ </div>
429
442
  <div class="archive-row" id="v1-43-0">
430
443
  <div class="archive-head"><a class="release-version" href="#v1-43-0">v1.43.0</a> <span class="release-date">Oct 26, 2026</span></div>
431
444
  <div class="archive-body">
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/en/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · EN"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/en/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · EN"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Documentation">
42
42
  <a href="/en/quickstart">Docs</a>
43
43
  <a href="/en/whats-new">Changelog</a>
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/en/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · EN"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/en/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · EN"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Documentation">
42
42
  <a href="/en/quickstart">Docs</a>
43
43
  <a href="/en/whats-new">Changelog</a>
@@ -36,7 +36,7 @@
36
36
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
37
37
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
38
38
  </a>
39
- <a class="version-badge" href="/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · VI"><span class="dot"></span>v1.48.2</a>
39
+ <a class="version-badge" href="/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · VI"><span class="dot"></span>v1.48.3</a>
40
40
  <nav class="top-nav" aria-label="Tài liệu">
41
41
  <a href="/quickstart">Tài liệu</a>
42
42
  <a href="/whats-new">Changelog</a>
@@ -56,7 +56,7 @@
56
56
  <div class="hero-bg" aria-hidden="true"></div>
57
57
  <div class="hero-glow" aria-hidden="true"></div>
58
58
  <div class="home-wrap">
59
- <a class="hero-pill" href="/whats-new#v1-48-2"><b>v1.48.2</b><span>Terminal nạp bản mới không cần đóng; chỉ member được bỏ qua kiểm tra</span><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-arrow-right"/></svg></a>
59
+ <a class="hero-pill" href="/whats-new#v1-48-3"><b>v1.48.3</b><span>Agent gửi thẳng hình và file vào chat; review chạy được trong thư mục nhiều repo</span><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-arrow-right"/></svg></a>
60
60
  <h1>Coding agent cho cả team, <span class="grad">kiểm tra từng bước.</span></h1>
61
61
  <p class="hero-sub">Guard chặn tool call nguy hiểm trước khi chạy. Harness của team tự chạy check và cho subagent review. Một dashboard cho Terminal và trình duyệt, với model của bạn hoặc của công ty.</p>
62
62
  <div class="hero-cta">
@@ -99,7 +99,7 @@
99
99
  <div><strong><span data-count="54">54</span><em>/54</em></strong><span>task giải quyết trong benchmark production</span><small>codex-cli cùng model: 48/54</small></div>
100
100
  <div><strong>−<span data-count="61">61</span><em>%</em></strong><span>fresh token trên cùng workload</span><small>khoảng tin cậy 95%: ít nhất −51,6%</small></div>
101
101
  <div><strong><span data-count="52">52</span><em>/52</em></strong><span>mẫu secret bị che trong output</span><small>0/30 văn bản thường bị che nhầm</small></div>
102
- <div><strong><span data-count="133">133</span></strong><span>bản phát hành từ 21/07/2026</span><small>4.400+ test tự động trên macOS và Linux</small></div>
102
+ <div><strong><span data-count="134">134</span></strong><span>bản phát hành từ 21/07/2026</span><small>4.400+ test tự động trên macOS và Linux</small></div>
103
103
  </div>
104
104
  </div>
105
105
  </section>
@@ -280,6 +280,12 @@ pi # Terminal</code></pre></div></div>
280
280
  <p>Mỗi bản ghi thay đổi gì và cần bản nào của Studio hay Agent Watch. <a href="/whats-new">Xem toàn bộ changelog</a>.</p>
281
281
  </div>
282
282
  <div class="updates">
283
+ <a class="update" href="/whats-new#v1-48-3" data-reveal>
284
+ <span class="update-meta"><span class="release-version">v1.48.3</span>30/10/2026</span>
285
+ <h3>Agent gửi thẳng hình và file vào chat; review chạy được trong thư mục nhiều repo</h3>
286
+ <p>Câu trả lời hiện hình và thẻ file ngay trong chat, SVG mở ra hình, ảnh đính kèm lớn và bấm xem được, thư mục chứa nhiều repo được review bình thường.</p>
287
+ <span class="update-more">Xem chi tiết <svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-arrow-right"/></svg></span>
288
+ </a>
283
289
  <a class="update" href="/whats-new#v1-48-2" data-reveal>
284
290
  <span class="update-meta"><span class="release-version">v1.48.2</span>30/10/2026</span>
285
291
  <h3>Terminal nạp bản mới không cần đóng; chỉ member được bỏ qua kiểm tra</h3>
@@ -292,12 +298,6 @@ pi # Terminal</code></pre></div></div>
292
298
  <p>Cuộc trò chuyện mới trên dashboard dùng đúng model và mức suy nghĩ bạn dùng ở Terminal, và gửi tin nhắn không còn phải chờ kiểm tra repository hay ghi đĩa.</p>
293
299
  <span class="update-more">Xem chi tiết <svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-arrow-right"/></svg></span>
294
300
  </a>
295
- <a class="update" href="/whats-new#v1-48-0" data-reveal>
296
- <span class="update-meta"><span class="release-version">v1.48.0</span>30/10/2026</span>
297
- <h3>Bypass dừng ở bước bàn giao: mọi chế độ hỏi trước khi việc rời khỏi máy</h3>
298
- <p>Push, pull request, publish và deploy luôn do bạn duyệt, lệnh được kiểm tra bằng cây cú pháp shell đầy đủ, thẻ duyệt có thêm lựa chọn cho cả session và dừng lượt, dashboard stream mượt hơn.</p>
299
- <span class="update-more">Xem chi tiết <svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-arrow-right"/></svg></span>
300
- </a>
301
301
  </div>
302
302
  </div>
303
303
  </section>
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · VI"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · VI"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Tài liệu">
42
42
  <a href="/quickstart">Tài liệu</a>
43
43
  <a href="/whats-new">Changelog</a>
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · VI"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · VI"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Tài liệu">
42
42
  <a href="/quickstart">Tài liệu</a>
43
43
  <a href="/whats-new">Changelog</a>
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · VI"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · VI"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Tài liệu">
42
42
  <a href="/quickstart">Tài liệu</a>
43
43
  <a href="/whats-new">Changelog</a>
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · VI"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · VI"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Tài liệu">
42
42
  <a href="/quickstart">Tài liệu</a>
43
43
  <a href="/whats-new">Changelog</a>
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · VI"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · VI"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Tài liệu">
42
42
  <a href="/quickstart">Tài liệu</a>
43
43
  <a href="/whats-new">Changelog</a>
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · VI"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · VI"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Tài liệu">
42
42
  <a href="/quickstart">Tài liệu</a>
43
43
  <a href="/whats-new">Changelog</a>
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · VI"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · VI"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Tài liệu">
42
42
  <a href="/quickstart" aria-current="page">Tài liệu</a>
43
43
  <a href="/whats-new">Changelog</a>
@@ -1,4 +1,45 @@
1
1
  [
2
+ {
3
+ "version": "1.48.3",
4
+ "date": "2026-10-30",
5
+ "status": "stable",
6
+ "title": {
7
+ "en": "The agent sends pictures and files into the chat; reviews run across several repositories",
8
+ "vi": "Agent gửi thẳng hình và file vào chat; review chạy được trong thư mục nhiều repo"
9
+ },
10
+ "summary": {
11
+ "en": "Answers show pictures and file cards in place, an SVG opens as a picture, attached images are large and open full size, and a folder of repositories gets its review.",
12
+ "vi": "Câu trả lời hiện hình và thẻ file ngay trong chat, SVG mở ra hình, ảnh đính kèm lớn và bấm xem được, thư mục chứa nhiều repo được review bình thường."
13
+ },
14
+ "requires": null,
15
+ "items": [
16
+ {
17
+ "kind": "new",
18
+ "en": "The agent sends a picture or file into the chat with ![name](path): a picture is drawn in place and opens full size, any other file is a card to open or download.",
19
+ "vi": "Agent gửi hình hoặc file vào chat bằng ![tên](đường/dẫn): hình hiện ngay và mở to được, file khác là thẻ để mở hoặc tải về."
20
+ },
21
+ {
22
+ "kind": "improved",
23
+ "en": "An SVG opens as a picture with View code beside it, and every open file has Download.",
24
+ "vi": "SVG mở ra hình, có nút Xem mã bên cạnh; mọi file đang mở đều có nút Tải về."
25
+ },
26
+ {
27
+ "kind": "improved",
28
+ "en": "An image attached to a message is a large thumbnail that opens full size, on the new conversation page too.",
29
+ "vi": "Ảnh đính kèm là thumbnail lớn, bấm để xem to, kể cả ở trang cuộc trò chuyện mới."
30
+ },
31
+ {
32
+ "kind": "fixed",
33
+ "en": "Review no longer fails with not_git in a folder holding several repositories: changes made by commands, committed or not, are found in each repository.",
34
+ "vi": "Review không còn lỗi not_git trong thư mục chứa nhiều repo: thay đổi do lệnh tạo ra, đã commit hay chưa, được nhận đúng theo từng repo."
35
+ },
36
+ {
37
+ "kind": "fixed",
38
+ "en": "A review stopped by an update under a running conversation says so and asks to reopen it; an unnamed failure keeps its redacted words in the local log.",
39
+ "vi": "Review dừng vì Piagent được cập nhật giữa cuộc trò chuyện sẽ nói rõ và nhắc mở lại; lỗi chưa có mã giữ nội dung đã che trong log máy."
40
+ }
41
+ ]
42
+ },
2
43
  {
3
44
  "version": "1.48.2",
4
45
  "date": "2026-10-30",
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · VI"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · VI"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Tài liệu">
42
42
  <a href="/quickstart">Tài liệu</a>
43
43
  <a href="/whats-new">Changelog</a>
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · VI"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · VI"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Tài liệu">
42
42
  <a href="/quickstart">Tài liệu</a>
43
43
  <a href="/whats-new">Changelog</a>
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · VI"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · VI"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Tài liệu">
42
42
  <a href="/quickstart">Tài liệu</a>
43
43
  <a href="/whats-new">Changelog</a>
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · VI"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · VI"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Tài liệu">
42
42
  <a href="/quickstart">Tài liệu</a>
43
43
  <a href="/whats-new">Changelog</a>
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · VI"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · VI"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Tài liệu">
42
42
  <a href="/quickstart">Tài liệu</a>
43
43
  <a href="/whats-new">Changelog</a>
@@ -153,9 +153,9 @@
153
153
  <h2 id="pin-cho-team">Pin một bản cho cả team</h2>
154
154
  <p>Khi rollout cho team, cài đúng bản Pi host và đúng bản platform, rồi chạy installer ở chế độ stable. Bước <code>--dry-run</code> in ra những gì sẽ đổi.</p>
155
155
  <div class="command-card">
156
- <header><span>Cài pin theo bản</span><button class="clip-btn" data-clip="npm install -g --ignore-scripts @earendil-works/pi-coding-agent@1.3.0&#10;npm install -g --ignore-scripts @piagent/platform@1.48.2&#10;piagent-install --stable --dry-run&#10;piagent-install --stable">Lấy lệnh</button></header>
156
+ <header><span>Cài pin theo bản</span><button class="clip-btn" data-clip="npm install -g --ignore-scripts @earendil-works/pi-coding-agent@1.3.0&#10;npm install -g --ignore-scripts @piagent/platform@1.48.3&#10;piagent-install --stable --dry-run&#10;piagent-install --stable">Lấy lệnh</button></header>
157
157
  <pre><code>npm install -g --ignore-scripts @earendil-works/pi-coding-agent@1.3.0
158
- npm install -g --ignore-scripts @piagent/platform@1.48.2
158
+ npm install -g --ignore-scripts @piagent/platform@1.48.3
159
159
  piagent-install --stable --dry-run
160
160
  piagent-install --stable</code></pre>
161
161
  </div>
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · VI"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · VI"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Tài liệu">
42
42
  <a href="/quickstart">Tài liệu</a>
43
43
  <a href="/whats-new" aria-current="page">Changelog</a>
@@ -108,7 +108,21 @@
108
108
  <div class="release-filter" role="toolbar" aria-label="Lọc theo loại thay đổi"><button type="button" data-filter-kind="all" aria-pressed="true">Tất cả</button><button type="button" data-filter-kind="new" aria-pressed="false">Mới</button><button type="button" data-filter-kind="improved" aria-pressed="false">Cải thiện</button><button type="button" data-filter-kind="fixed" aria-pressed="false">Sửa lỗi</button><button type="button" data-filter-kind="security" aria-pressed="false">Bảo mật</button></div>
109
109
  <section class="section releases" data-releases>
110
110
  <h2 id="latest" class="sr-only">Mới nhất</h2>
111
- <article class="release latest" id="v1-48-2" data-release>
111
+ <article class="release latest" id="v1-48-3" data-release>
112
+ <div class="release-meta"><a class="release-version" href="#v1-48-3">v1.48.3</a><time class="release-date" datetime="2026-10-30">30/10/2026</time></div>
113
+ <div class="release-body">
114
+ <h3 data-toc-skip id="v1-48-3-title">Agent gửi thẳng hình và file vào chat; review chạy được trong thư mục nhiều repo</h3>
115
+ <p>Câu trả lời hiện hình và thẻ file ngay trong chat, SVG mở ra hình, ảnh đính kèm lớn và bấm xem được, thư mục chứa nhiều repo được review bình thường.</p>
116
+ <ul class="release-items">
117
+ <li data-kind="new"><span class="kind kind-new">Mới</span><span>Agent gửi hình hoặc file vào chat bằng ![tên](đường/dẫn): hình hiện ngay và mở to được, file khác là thẻ để mở hoặc tải về.</span></li>
118
+ <li data-kind="improved"><span class="kind kind-improved">Cải thiện</span><span>SVG mở ra hình, có nút Xem mã bên cạnh; mọi file đang mở đều có nút Tải về.</span></li>
119
+ <li data-kind="improved"><span class="kind kind-improved">Cải thiện</span><span>Ảnh đính kèm là thumbnail lớn, bấm để xem to, kể cả ở trang cuộc trò chuyện mới.</span></li>
120
+ <li data-kind="fixed"><span class="kind kind-fixed">Sửa lỗi</span><span>Review không còn lỗi not_git trong thư mục chứa nhiều repo: thay đổi do lệnh tạo ra, đã commit hay chưa, được nhận đúng theo từng repo.</span></li>
121
+ <li data-kind="fixed"><span class="kind kind-fixed">Sửa lỗi</span><span>Review dừng vì Piagent được cập nhật giữa cuộc trò chuyện sẽ nói rõ và nhắc mở lại; lỗi chưa có mã giữ nội dung đã che trong log máy.</span></li>
122
+ </ul>
123
+ </div>
124
+ </article>
125
+ <article class="release" id="v1-48-2" data-release>
112
126
  <div class="release-meta"><a class="release-version" href="#v1-48-2">v1.48.2</a><time class="release-date" datetime="2026-10-30">30/10/2026</time></div>
113
127
  <div class="release-body">
114
128
  <h3 data-toc-skip id="v1-48-2-title">Terminal nạp bản mới không cần đóng; chỉ member được bỏ qua kiểm tra</h3>
@@ -408,24 +422,23 @@
408
422
  </ul>
409
423
  </div>
410
424
  </article>
411
- <article class="release" id="v1-43-1" data-release>
412
- <div class="release-meta"><a class="release-version" href="#v1-43-1">v1.43.1</a><time class="release-date" datetime="2026-10-26">26/10/2026</time></div>
413
- <div class="release-body">
414
- <h3 data-toc-skip id="v1-43-1-title">Dev chọn workflow, harness hỗ trợ BE/FE theo project <span class="tag">không phát hành</span></h3>
415
- <p>Đã tag nhưng chưa publish: một bullet release note vượt giới hạn độ dài. Thay bằng 1.43.4.</p>
416
- <ul class="release-items">
417
- <li data-kind="new"><span class="kind kind-new">Mới</span><span>Tự nhận diện repo/package FE, BE trong thư mục hội thoại và gợi ý checks phù hợp, làm mới theo task.</span></li>
418
- <li data-kind="new"><span class="kind kind-new">Mới</span><span>Context workflow tùy chọn nhớ nguồn requirement, plan và tasks của công việc khi mở lại hội thoại, truyền chỉ đọc cho helper và hỗ trợ đổi hoặc xóa.</span></li>
419
- <li data-kind="improved"><span class="kind kind-improved">Cải thiện</span><span>Lifecycle là hướng dẫn theo workflow và điểm dừng Dev chọn, không ép file spec hoặc tự tạo gate release. Skill được chọn không cấp quyền hay bỏ qua kiểm chứng, review và duyệt deploy.</span></li>
420
- </ul>
421
- </div>
422
- </article>
423
425
  </section>
424
426
  <section class="section archive">
425
427
  <h2 id="archive">Các bản trước</h2>
426
428
  <p class="section-lead">Bản cũ hơn, gom theo tháng. Mở một tháng để xem từng thay đổi.</p>
427
429
  <details class="release-archive">
428
- <summary><span>Tháng 10/2026</span><span class="archive-count">65</span></summary>
430
+ <summary><span>Tháng 10/2026</span><span class="archive-count">66</span></summary>
431
+ <div class="archive-row" id="v1-43-1">
432
+ <div class="archive-head"><a class="release-version" href="#v1-43-1">v1.43.1</a> <span class="release-date">26/10/2026</span></div>
433
+ <div class="archive-body">
434
+ <p><strong>Dev chọn workflow, harness hỗ trợ BE/FE theo project</strong> <span class="tag">không phát hành</span> — Đã tag nhưng chưa publish: một bullet release note vượt giới hạn độ dài. Thay bằng 1.43.4.</p>
435
+ <ul class="release-items">
436
+ <li data-kind="new"><span class="kind kind-new">Mới</span><span>Tự nhận diện repo/package FE, BE trong thư mục hội thoại và gợi ý checks phù hợp, làm mới theo task.</span></li>
437
+ <li data-kind="new"><span class="kind kind-new">Mới</span><span>Context workflow tùy chọn nhớ nguồn requirement, plan và tasks của công việc khi mở lại hội thoại, truyền chỉ đọc cho helper và hỗ trợ đổi hoặc xóa.</span></li>
438
+ <li data-kind="improved"><span class="kind kind-improved">Cải thiện</span><span>Lifecycle là hướng dẫn theo workflow và điểm dừng Dev chọn, không ép file spec hoặc tự tạo gate release. Skill được chọn không cấp quyền hay bỏ qua kiểm chứng, review và duyệt deploy.</span></li>
439
+ </ul>
440
+ </div>
441
+ </div>
429
442
  <div class="archive-row" id="v1-43-0">
430
443
  <div class="archive-head"><a class="release-version" href="#v1-43-0">v1.43.0</a> <span class="release-date">26/10/2026</span></div>
431
444
  <div class="archive-body">
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · VI"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · VI"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Tài liệu">
42
42
  <a href="/quickstart">Tài liệu</a>
43
43
  <a href="/whats-new">Changelog</a>
@@ -37,7 +37,7 @@
37
37
  <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
38
  <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
39
39
  </a>
40
- <a class="version-badge" href="/whats-new" data-docs-version="v1.48.2" title="v1.48.2 docs · VI"><span class="dot"></span>v1.48.2</a>
40
+ <a class="version-badge" href="/whats-new" data-docs-version="v1.48.3" title="v1.48.3 docs · VI"><span class="dot"></span>v1.48.3</a>
41
41
  <nav class="top-nav" aria-label="Tài liệu">
42
42
  <a href="/quickstart">Tài liệu</a>
43
43
  <a href="/whats-new">Changelog</a>
@@ -257,7 +257,7 @@
257
257
  {
258
258
  "path": "tests",
259
259
  "fileCount": 643,
260
- "sha256": "da53dba99cba2d0d9f5adc6101fb1a49d058038cb5eca770de3bf8785de3290c"
260
+ "sha256": "1356b4a7b5dce44794b08a4b483941b90da597ed9d7b126c1b875fd58d6e25ff"
261
261
  }
262
262
  ],
263
263
  "custodianComparisonRules": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@piagent/platform",
3
- "version": "1.48.2",
3
+ "version": "1.48.3",
4
4
  "license": "MIT",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -140,7 +140,10 @@ export function inspectWorkspaceFile(root: string, relative: string, options: Wo
140
140
  // An image the agent made or names, shown as a picture in the explorer (the
141
141
  // page takes data: images only). Protected files are never read.
142
142
  const IMAGE_MIMES: Record<string, string> = { png: "image/png", jpg: "image/jpeg", jpeg: "image/jpeg", gif: "image/gif",
143
- webp: "image/webp", bmp: "image/bmp", ico: "image/x-icon", avif: "image/avif" };
143
+ webp: "image/webp", bmp: "image/bmp", ico: "image/x-icon", avif: "image/avif", svg: "image/svg+xml",
144
+ // Not drawn: their bytes are what "Tải về" on a file the agent handed over saves.
145
+ pdf: "application/pdf", docx: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
146
+ xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", pptx: "application/vnd.openxmlformats-officedocument.presentationml.presentation", zip: "application/zip" };
144
147
  const MAX_MEDIA_BYTES = 8 << 20;
145
148
  export function inspectWorkspaceMedia(root: string, relative: string, options: WorkspacePolicy) {
146
149
  validPath(relative);