@piagent/platform 1.40.0 → 1.42.0

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 (124) hide show
  1. package/CHANGELOG.md +1012 -2035
  2. package/CONTRIBUTING.md +2 -0
  3. package/README.md +128 -325
  4. package/README.vi.md +149 -143
  5. package/architecture/layers.json +10 -0
  6. package/docs/command-reference-vietnamese.md +2 -2
  7. package/docs/distribution-standard.md +6 -6
  8. package/docs/en/architecture.md +1 -0
  9. package/docs/languages.json +4 -4
  10. package/docs/operator-manual-vietnamese.md +7 -7
  11. package/docs/publishing-for-teams.md +2 -0
  12. package/docs/release-install-policy.md +3 -3
  13. package/docs/team-onboarding.md +2 -2
  14. package/docs/vi/architecture.md +1 -0
  15. package/docs-site/architecture.html +71 -63
  16. package/docs-site/assets/docs.css +2736 -1030
  17. package/docs-site/assets/docs.js +451 -43
  18. package/docs-site/assets/og.png +0 -0
  19. package/docs-site/assets/piagent-logo.svg +9 -31
  20. package/docs-site/assets/search-en.json +1 -0
  21. package/docs-site/assets/search-vi.json +1 -0
  22. package/docs-site/benchmark.html +71 -63
  23. package/docs-site/commands.html +72 -64
  24. package/docs-site/content/en/index.html +220 -131
  25. package/docs-site/content/en/quickstart.html +74 -90
  26. package/docs-site/content/en/update.html +80 -0
  27. package/docs-site/content/en/whats-new.html +1 -678
  28. package/docs-site/content/index.html +220 -131
  29. package/docs-site/content/quickstart.html +73 -108
  30. package/docs-site/content/update.html +80 -0
  31. package/docs-site/content/whats-new.html +1 -678
  32. package/docs-site/context-engine.html +73 -65
  33. package/docs-site/ecosystem.html +73 -65
  34. package/docs-site/en/architecture.html +67 -59
  35. package/docs-site/en/benchmark.html +67 -59
  36. package/docs-site/en/commands.html +68 -60
  37. package/docs-site/en/context-engine.html +68 -60
  38. package/docs-site/en/ecosystem.html +68 -60
  39. package/docs-site/en/index.html +281 -220
  40. package/docs-site/en/mcp-approval.html +67 -59
  41. package/docs-site/en/mcp-auth.html +67 -59
  42. package/docs-site/en/mcp-servers.html +68 -60
  43. package/docs-site/en/mcp.html +64 -56
  44. package/docs-site/en/permissions.html +68 -60
  45. package/docs-site/en/profiles.html +68 -60
  46. package/docs-site/en/quickstart.html +142 -150
  47. package/docs-site/en/runtime.html +67 -59
  48. package/docs-site/en/scope.html +68 -60
  49. package/docs-site/en/security.html +64 -56
  50. package/docs-site/en/team.html +67 -59
  51. package/docs-site/en/update.html +228 -0
  52. package/docs-site/en/whats-new.html +1601 -719
  53. package/docs-site/en/windows.html +71 -63
  54. package/docs-site/en/workflows.html +68 -60
  55. package/docs-site/favicon.svg +9 -14
  56. package/docs-site/index.html +281 -220
  57. package/docs-site/mcp-approval.html +70 -62
  58. package/docs-site/mcp-auth.html +70 -62
  59. package/docs-site/mcp-servers.html +71 -63
  60. package/docs-site/mcp.html +70 -62
  61. package/docs-site/permissions.html +72 -64
  62. package/docs-site/profiles.html +72 -64
  63. package/docs-site/quickstart.html +145 -172
  64. package/docs-site/releases.json +4449 -0
  65. package/docs-site/runtime.html +73 -65
  66. package/docs-site/scope.html +73 -65
  67. package/docs-site/security.html +73 -65
  68. package/docs-site/team.html +71 -63
  69. package/docs-site/update.html +228 -0
  70. package/docs-site/whats-new.html +1605 -723
  71. package/docs-site/windows.html +75 -67
  72. package/docs-site/workflows.html +73 -65
  73. package/evals/fixtures/piagent-webui/document-asset-v1.invalid.json +12 -0
  74. package/evals/fixtures/piagent-webui/document-asset-v1.valid.json +12 -0
  75. package/evals/private-holdout-v1/public-exposure.v2.json +2 -2
  76. package/package.json +1 -1
  77. package/packages/piagent-core/package.json +1 -1
  78. package/packages/piagent-core/runtime/inspection/document-workspace-projection.ts +78 -15
  79. package/packages/piagent-core/skills/fe-change-report/SKILL.md +175 -0
  80. package/packages/piagent-core/skills/fe-change-report/scripts/build-report.mjs +183 -0
  81. package/packages/piagent-core/skills/fe-change-report/scripts/capture.mjs +150 -0
  82. package/packages/piagent-core/skills/fe-change-report/scripts/diff-regions.mjs +110 -0
  83. package/packages/piagent-webui/dist/client/assets/App-DBx4BU3F.js +5 -0
  84. package/packages/piagent-webui/dist/client/assets/LineReview-DzonwD-g.js +3 -0
  85. package/packages/piagent-webui/dist/client/assets/{MarkdownMessage-BpoF2k2-.js → MarkdownMessage-DchODuO7.js} +2 -2
  86. package/packages/piagent-webui/dist/client/assets/SessionInspectorDrawer-BHHNlct3.js +1 -0
  87. package/packages/piagent-webui/dist/client/assets/SettingsPage-DX28MsZA.js +1 -0
  88. package/packages/piagent-webui/dist/client/assets/TerminalPanel-C--BiN0p.js +2 -0
  89. package/packages/piagent-webui/dist/client/assets/{TerminalView-Dw9xqakv.js → TerminalView-BML7uS6R.js} +3 -3
  90. package/packages/piagent-webui/dist/client/assets/WorkspaceCodeEditor-B7ieqDnt.js +2 -0
  91. package/packages/piagent-webui/dist/client/assets/WorkspaceExplorer-BOafuPU-.js +5 -0
  92. package/packages/piagent-webui/dist/client/assets/WorkspaceQuickOpen-CGoGfUPk.js +1 -0
  93. package/packages/piagent-webui/dist/client/assets/api-BUjrtT1B.js +1 -0
  94. package/packages/piagent-webui/dist/client/assets/index-C7Azrwpq.js +132 -0
  95. package/packages/piagent-webui/dist/client/assets/index-Dqb2hNan.css +1 -0
  96. package/packages/piagent-webui/dist/client/assets/tab-close-Crj8vsUq.js +1 -0
  97. package/packages/piagent-webui/dist/client/assets/ui-preferences-B3UfDp-5.js +1 -0
  98. package/packages/piagent-webui/dist/client/assets/vendor-Ch5hIe0W.js +136 -0
  99. package/packages/piagent-webui/dist/client/index.html +5 -8
  100. package/packages/piagent-webui/extension/piagent-webui.ts +1 -0
  101. package/packages/piagent-webui/server/core-inspection-provider.ts +5 -0
  102. package/packages/piagent-webui/server/ipc-read-model-client.ts +1 -0
  103. package/packages/piagent-webui/server/read-model-provider.ts +1 -0
  104. package/packages/piagent-webui/server/read-only-router.ts +6 -0
  105. package/schemas/piagent-webui/catalog-v1.json +9 -0
  106. package/schemas/piagent-webui/document-asset-v1.schema.json +57 -0
  107. package/scripts/build-docs-site.mjs +205 -348
  108. package/scripts/check-public-wording.mjs +2 -1
  109. package/scripts/docs-site-icons.mjs +84 -0
  110. package/scripts/docs-site-nav.mjs +302 -0
  111. package/scripts/docs-site-releases.mjs +227 -0
  112. package/packages/piagent-webui/dist/client/assets/Alert-DGWhP2MM.js +0 -1
  113. package/packages/piagent-webui/dist/client/assets/Button-QItfZUNj.js +0 -1
  114. package/packages/piagent-webui/dist/client/assets/DialogTitle-CyaFPaiW.js +0 -3
  115. package/packages/piagent-webui/dist/client/assets/TerminalPanel-Dg3eghy4.js +0 -2
  116. package/packages/piagent-webui/dist/client/assets/Typography-B9om7Evq.js +0 -1
  117. package/packages/piagent-webui/dist/client/assets/WorkspaceCodeEditor-DtwXZAgK.js +0 -2
  118. package/packages/piagent-webui/dist/client/assets/WorkspaceExplorer-WS-yLlnb.js +0 -5
  119. package/packages/piagent-webui/dist/client/assets/WorkspaceQuickOpen-CYCY-s44.js +0 -1
  120. package/packages/piagent-webui/dist/client/assets/index-BgJgso6j.js +0 -102
  121. package/packages/piagent-webui/dist/client/assets/index-Brs_HjIo.css +0 -1
  122. package/packages/piagent-webui/dist/client/assets/tab-close-CqPDs-w5.js +0 -1
  123. package/packages/piagent-webui/dist/client/assets/ui-preferences-BO3AV7QE.js +0 -10
  124. package/packages/piagent-webui/dist/client/assets/useId-DEefKUAT.js +0 -124
@@ -1,108 +1,109 @@
1
1
  <!doctype html>
2
- <html lang="en" data-copy-success="Copied" data-copy-fallback="Select command">
2
+ <html lang="en" data-copy-success="Copied" data-copy-fallback="Select command" data-copy-label="Copy">
3
3
  <head>
4
4
  <meta charset="utf-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
- <title>Repository servers require approval · Pi Agent Platform Docs</title>
7
- <meta name="description" content="Cloning an untrusted repository must not grant its author a process on the operator's machine. Decisions live outside the repository and are pinned by digest." />
8
- <meta name="theme-color" content="#050505" />
6
+ <title>Repository servers require approval · Pi Agent Platform</title>
7
+ <meta name="description" content="Cloning an untrusted repository must not give its author a process on your machine. Decisions live outside the repository, pinned by digest." />
8
+ <meta name="theme-color" content="#09090b" media="(prefers-color-scheme: dark)" />
9
+ <meta name="theme-color" content="#fbfbf9" media="(prefers-color-scheme: light)" />
9
10
  <link rel="canonical" href="https://piagent.io.vn/en/mcp-approval" />
10
11
  <link rel="alternate" hreflang="vi" href="https://piagent.io.vn/mcp-approval" />
11
12
  <link rel="alternate" hreflang="en" href="https://piagent.io.vn/en/mcp-approval" />
12
13
  <link rel="alternate" hreflang="x-default" href="https://piagent.io.vn/mcp-approval" />
13
14
  <link rel="icon" href="/favicon.svg" type="image/svg+xml" />
14
- <meta property="og:title" content="Repository servers require approval · Pi Agent Platform Docs" />
15
- <meta property="og:description" content="Cloning an untrusted repository must not grant its author a process on the operator's machine. Decisions live outside the repository and are pinned by digest." />
15
+ <meta property="og:type" content="website" />
16
+ <meta property="og:title" content="Repository servers require approval · Pi Agent Platform" />
17
+ <meta property="og:description" content="Cloning an untrusted repository must not give its author a process on your machine. Decisions live outside the repository, pinned by digest." />
16
18
  <meta property="og:url" content="https://piagent.io.vn/en/mcp-approval" />
19
+ <meta property="og:image" content="https://piagent.io.vn/assets/og.png" />
20
+ <meta name="twitter:card" content="summary_large_image" />
21
+ <script>try{var t=localStorage.getItem("piagent-docs-theme");if(t==="light"||t==="dark")document.documentElement.dataset.theme=t}catch(e){}</script>
17
22
  <link rel="preconnect" href="https://fonts.googleapis.com" />
18
23
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
19
24
  <link
20
- href="https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap"
25
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;550;600;650;700;750&family=JetBrains+Mono:wght@400;500;600;700&display=swap"
21
26
  rel="stylesheet"
22
27
  />
23
28
  <link rel="stylesheet" href="/assets/docs.css" />
24
29
  <script src="/assets/docs.js" defer></script>
25
30
  </head>
26
31
  <body>
32
+ <svg width="0" height="0" style="position:absolute" aria-hidden="true"><symbol id="icon-branch" viewBox="0 0 24 24"><circle cx="6" cy="5.5" r="2"/><circle cx="6" cy="18.5" r="2"/><circle cx="18" cy="7.5" r="2"/><path d="M6 7.5v9M18 9.5c0 4.5-5 4-11 7.5"/></symbol><symbol id="icon-chart" viewBox="0 0 24 24"><path d="M4 4v16h16"/><path d="M8.5 16v-5M12.5 16V8M16.5 16v-3"/></symbol><symbol id="icon-cpu" viewBox="0 0 24 24"><rect x="6" y="6" width="12" height="12" rx="2"/><rect x="9.5" y="9.5" width="5" height="5" rx=".8"/><path d="M9 2.5V6M15 2.5V6M9 18v3.5M15 18v3.5M2.5 9H6M2.5 15H6M18 9h3.5M18 15h3.5"/></symbol><symbol id="icon-edit" viewBox="0 0 24 24"><path d="M4 20h4L19 9l-4-4L4 16z"/><path d="m13.5 6.5 4 4"/></symbol><symbol id="icon-github" viewBox="0 0 24 24"><path d="M9 19c-4.5 1.5-4.5-2.5-6.5-3m13 6v-3.5a3 3 0 0 0-.9-2.4c3-.3 6.4-1.5 6.4-6.7a5.2 5.2 0 0 0-1.4-3.6 4.8 4.8 0 0 0-.1-3.6s-1.1-.3-3.7 1.4a12.6 12.6 0 0 0-6.6 0C6.6 1.9 5.5 2.2 5.5 2.2a4.8 4.8 0 0 0-.1 3.6A5.2 5.2 0 0 0 4 9.4c0 5.2 3.4 6.4 6.4 6.7a3 3 0 0 0-.9 2.4V22"/></symbol><symbol id="icon-hash" viewBox="0 0 24 24"><path d="M5 9h15M4 15h15M10 3 8 21M16 3l-2 18"/></symbol><symbol id="icon-home" viewBox="0 0 24 24"><path d="M3 10.5 12 3l9 7.5V20a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z"/></symbol><symbol id="icon-key" viewBox="0 0 24 24"><circle cx="8" cy="15" r="4"/><path d="m10.9 12.1 8.6-8.6M16.5 6.5l2.5 2.5M14 9l2 2"/></symbol><symbol id="icon-layers" viewBox="0 0 24 24"><path d="m12 3 9 5-9 5-9-5z"/><path d="m3 13 9 5 9-5"/><path d="m3 17.5 9 5 9-5" opacity=".55"/></symbol><symbol id="icon-lock" viewBox="0 0 24 24"><rect x="4" y="11" width="16" height="10" rx="2"/><path d="M8 11V7a4 4 0 0 1 8 0v4"/></symbol><symbol id="icon-menu" viewBox="0 0 24 24"><path d="M4 7h16M4 12h16M4 17h16"/></symbol><symbol id="icon-moon" viewBox="0 0 24 24"><path d="M20 14.5A8 8 0 1 1 9.5 4a6.5 6.5 0 0 0 10.5 10.5z"/></symbol><symbol id="icon-network" viewBox="0 0 24 24"><circle cx="12" cy="5" r="2.5"/><circle cx="5" cy="19" r="2.5"/><circle cx="19" cy="19" r="2.5"/><path d="M12 7.5V12m0 0-5.2 5.2M12 12l5.2 5.2"/></symbol><symbol id="icon-plug" viewBox="0 0 24 24"><path d="M9 3v4M15 3v4M6 7h12v4a6 6 0 0 1-12 0zM12 17v4"/></symbol><symbol id="icon-refresh" viewBox="0 0 24 24"><path d="M20 11A8 8 0 0 0 5.3 6.7M4 3v4h4"/><path d="M4 13a8 8 0 0 0 14.7 4.3M20 21v-4h-4"/></symbol><symbol id="icon-rocket" viewBox="0 0 24 24"><path d="M5.5 15.5C4 17 3.5 19.5 3.5 20.5c1 0 3.5-.5 5-2"/><path d="M9 15 6.5 12.5C8 8.5 11.5 4.5 20 4c-.5 8.5-4.5 12-8.5 13.5z"/><circle cx="14.5" cy="9.5" r="1.5"/></symbol><symbol id="icon-search" viewBox="0 0 24 24"><circle cx="11" cy="11" r="7"/><path d="m20 20-3.5-3.5"/></symbol><symbol id="icon-server" viewBox="0 0 24 24"><rect x="3" y="4" width="18" height="7" rx="2"/><rect x="3" y="13" width="18" height="7" rx="2"/><path d="M7 7.5h.01M7 16.5h.01"/></symbol><symbol id="icon-shield" viewBox="0 0 24 24"><path d="M12 3 4.5 6v5.5c0 4.8 3.2 8.2 7.5 9.5 4.3-1.3 7.5-4.7 7.5-9.5V6z"/></symbol><symbol id="icon-shield-check" viewBox="0 0 24 24"><path d="M12 3 4.5 6v5.5c0 4.8 3.2 8.2 7.5 9.5 4.3-1.3 7.5-4.7 7.5-9.5V6z"/><path d="m9 12 2.2 2.2L15.5 10"/></symbol><symbol id="icon-sliders" viewBox="0 0 24 24"><path d="M4 7h9M17 7h3M4 17h3M11 17h9"/><circle cx="15" cy="7" r="2"/><circle cx="9" cy="17" r="2"/></symbol><symbol id="icon-sparkles" viewBox="0 0 24 24"><path d="M11 3c.6 4.6 2.4 6.4 7 7-4.6.6-6.4 2.4-7 7-.6-4.6-2.4-6.4-7-7 4.6-.6 6.4-2.4 7-7z"/><path d="M19 15v5M16.5 17.5h5"/></symbol><symbol id="icon-sun" viewBox="0 0 24 24"><circle cx="12" cy="12" r="4"/><path d="M12 2.5v2M12 19.5v2M4.6 4.6 6 6M18 18l1.4 1.4M2.5 12h2M19.5 12h2M4.6 19.4 6 18M18 6l1.4-1.4"/></symbol><symbol id="icon-target" viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="5"/><circle cx="12" cy="12" r="1"/></symbol><symbol id="icon-terminal" viewBox="0 0 24 24"><rect x="3" y="4" width="18" height="16" rx="2.5"/><path d="m7.5 9.5 3 2.5-3 2.5M13 15h4"/></symbol><symbol id="icon-users" viewBox="0 0 24 24"><circle cx="9" cy="8" r="3.5"/><path d="M2.5 20a6.5 6.5 0 0 1 13 0"/><path d="M16 4.5a3.5 3.5 0 0 1 0 7M18 14a6 6 0 0 1 3.5 6"/></symbol><symbol id="icon-windows" viewBox="0 0 24 24"><path d="M3.5 5.5 10.5 4.5v7h-7zM13 4.2 20.5 3v8.5H13zM3.5 13h7v7l-7-1zM13 13h7.5v8.5L13 20.3z"/></symbol><symbol id="icon-wrench" viewBox="0 0 24 24"><path d="M15 6.5a4.5 4.5 0 0 1-6 6l-5 5L6.5 20l5-5a4.5 4.5 0 0 0 6-6L15 11.5l-2.5-2.5z"/></symbol></svg>
33
+ <a class="skip-link" href="#content">Skip to content</a>
27
34
  <header class="topbar">
35
+ <button class="icon-button mobile-menu" type="button" data-menu aria-label="Open docs menu"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-menu"/></svg></button>
28
36
  <a class="brand" href="/en/" aria-label="Pi Agent Platform">
29
- <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" /></span>
30
- <span>Pi Agent Platform</span>
37
+ <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
+ <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
31
39
  </a>
40
+ <a class="version-badge" href="/en/whats-new" data-docs-version="v1.42.0" title="v1.42.0 docs · EN"><span class="dot"></span>v1.42.0</a>
41
+ <nav class="top-nav" aria-label="Documentation">
42
+ <a href="/en/quickstart">Docs</a>
43
+ <a href="/en/whats-new">Changelog</a>
44
+ <a href="/en/benchmark">Benchmark</a>
45
+ </nav>
46
+ <span class="top-spacer"></span>
47
+ <button class="search-trigger" type="button" data-search aria-label="Search documentation"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-search"/></svg><span>Search the docs…</span><kbd>⌘K</kbd></button>
32
48
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.40.0 docs · EN</span>
34
- <nav class="language-switch" aria-label="Language">
35
- <a class="language-option" href="/mcp-approval" hreflang="vi" lang="vi">VI</a>
36
- <a class="language-option current" href="/en/mcp-approval" hreflang="en" lang="en" aria-current="true">EN</a>
37
- </nav>
38
- <a class="button social" href="https://github.com/Vt-mmm/piagent" target="_blank" rel="noopener noreferrer" aria-label="Open GitHub repository">
39
- <svg viewBox="0 0 24 24" fill="none" aria-hidden="true">
40
- <path d="M7 17 17 7M9 7h8v8" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
41
- </svg>
42
- GitHub
43
- </a>
44
- <button class="button mobile-menu" type="button" data-menu>Menu</button>
45
- <a class="button top-command-link" href="/en/commands">Commands</a>
49
+ <nav class="language-switch" aria-label="Language"><a class="language-option" href="/mcp-approval" hreflang="vi" lang="vi">VI</a><a class="language-option current" href="/en/mcp-approval" hreflang="en" lang="en" aria-current="true">EN</a></nav>
50
+ <button class="icon-button theme-toggle" type="button" data-theme-toggle aria-label="Switch light/dark theme"><svg class="icon icon-moon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-moon"/></svg><svg class="icon icon-sun" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-sun"/></svg></button>
51
+ <a class="icon-button" href="https://github.com/Vt-mmm/piagent" target="_blank" rel="noopener noreferrer" aria-label="Open GitHub repository"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-github"/></svg></a>
46
52
  </div>
47
53
  </header>
48
54
 
49
55
  <div class="layout with-toc">
50
56
  <aside class="sidebar" data-sidebar>
51
- <div class="sidebar-search" aria-label="Search documentation">
52
- <svg viewBox="0 0 24 24" fill="none" aria-hidden="true">
53
- <path d="M10.8 18.1a7.3 7.3 0 1 1 0-14.6 7.3 7.3 0 0 1 0 14.6Zm5.3-1.7 4.4 4.4" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
54
- </svg>
55
- <input type="search" placeholder="Search pages" data-filter />
56
- </div>
57
-
58
57
  <nav aria-label="Documentation">
59
58
  <div class="nav-group">
60
59
  <p class="nav-title">Get started</p>
61
- <a class="nav-link" href="/en/">Overview</a>
62
- <a class="nav-link" href="/en/ecosystem">Ecosystem</a>
63
- <a class="nav-link" href="/en/quickstart">Quickstart</a>
64
- <a class="nav-link" href="/en/windows">Windows</a>
65
- <a class="nav-link" href="/en/whats-new">What’s new</a>
66
- <a class="nav-link" href="/en/scope">Platform scope</a>
60
+ <a class="nav-link" href="/en/"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-home"/></svg><span>Overview</span></a>
61
+ <a class="nav-link" href="/en/ecosystem"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-network"/></svg><span>Ecosystem</span></a>
62
+ <a class="nav-link" href="/en/quickstart"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-rocket"/></svg><span>Install</span></a>
63
+ <a class="nav-link" href="/en/windows"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-windows"/></svg><span>Windows</span></a>
64
+ <a class="nav-link" href="/en/update"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-refresh"/></svg><span>Update &amp; uninstall</span></a>
65
+ <a class="nav-link" href="/en/whats-new"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-sparkles"/></svg><span>Changelog</span></a>
66
+ <a class="nav-link" href="/en/scope"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-target"/></svg><span>Platform scope</span></a>
67
67
  </div>
68
68
  <div class="nav-group">
69
69
  <p class="nav-title">Build</p>
70
- <a class="nav-link" href="/en/profiles">Project profiles</a>
71
- <a class="nav-link" href="/en/permissions">Permission modes</a>
72
- <a class="nav-link" href="/en/commands">Command catalog</a>
73
- <a class="nav-link" href="/en/workflows">Workflows</a>
70
+ <a class="nav-link" href="/en/profiles"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-sliders"/></svg><span>Project profiles</span></a>
71
+ <a class="nav-link" href="/en/permissions"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-key"/></svg><span>Permission modes</span></a>
72
+ <a class="nav-link" href="/en/commands"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-terminal"/></svg><span>Command catalog</span></a>
73
+ <a class="nav-link" href="/en/workflows"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-branch"/></svg><span>Workflows</span></a>
74
74
  </div>
75
75
  <div class="nav-group">
76
76
  <p class="nav-title">MCP</p>
77
- <a class="nav-link" href="/en/mcp">MCP overview</a>
78
- <a class="nav-link" href="/en/mcp-servers">Server management</a>
79
- <a class="nav-link" href="/en/mcp-auth">Authentication</a>
80
- <a class="nav-link current" href="/en/mcp-approval" aria-current="page">Approval gate</a>
77
+ <a class="nav-link" href="/en/mcp"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-plug"/></svg><span>MCP overview</span></a>
78
+ <a class="nav-link" href="/en/mcp-servers"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-server"/></svg><span>Server management</span></a>
79
+ <a class="nav-link" href="/en/mcp-auth"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-lock"/></svg><span>Authentication</span></a>
80
+ <a class="nav-link current" href="/en/mcp-approval" aria-current="page"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-shield-check"/></svg><span>Approval gate</span></a>
81
81
  </div>
82
82
  <div class="nav-group">
83
83
  <p class="nav-title">Operate</p>
84
- <a class="nav-link" href="/en/security">Security model</a>
85
- <a class="nav-link" href="/en/architecture">Architecture</a>
86
- <a class="nav-link" href="/en/context-engine">Context Engine</a>
87
- <a class="nav-link" href="/en/benchmark">Benchmark</a>
88
- <a class="nav-link" href="/en/runtime">Runtime tools</a>
89
- <a class="nav-link" href="/en/team">Team usage</a>
84
+ <a class="nav-link" href="/en/security"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-shield"/></svg><span>Security model</span></a>
85
+ <a class="nav-link" href="/en/architecture"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-layers"/></svg><span>Architecture</span></a>
86
+ <a class="nav-link" href="/en/context-engine"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-cpu"/></svg><span>Context Engine</span></a>
87
+ <a class="nav-link" href="/en/benchmark"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-chart"/></svg><span>Benchmark</span></a>
88
+ <a class="nav-link" href="/en/runtime"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-wrench"/></svg><span>Runtime tools</span></a>
89
+ <a class="nav-link" href="/en/team"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-users"/></svg><span>Team usage</span></a>
90
90
  </div>
91
91
  </nav>
92
92
  </aside>
93
93
 
94
- <main>
94
+ <main id="content">
95
95
  <div class="content-shell" data-article>
96
96
  <nav class="breadcrumb" aria-label="Breadcrumb">
97
97
  <a href="/en/">Docs</a>
98
98
  <span aria-hidden="true">/</span>
99
99
  <span>MCP</span>
100
- <span aria-hidden="true">/</span>
101
- <span>Approval gate</span>
102
100
  </nav>
103
101
  <div class="page-head">
104
102
  <h1>Repository servers require approval</h1>
105
- <p>Cloning an untrusted repository must not grant its author a process on the operator's machine. Decisions live outside the repository and are pinned by digest.</p>
103
+ <p>Cloning an untrusted repository must not give its author a process on your machine. Decisions live outside the repository, pinned by digest.</p>
104
+ <div class="page-meta">
105
+ <a href="https://github.com/Vt-mmm/piagent/blob/main/docs-site/content/en/mcp-approval.html" target="_blank" rel="noopener noreferrer"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-edit"/></svg>Edit this page</a>
106
+ </div>
106
107
  </div>
107
108
  <section class="section">
108
109
  <h2 id="problem">The problem</h2>
@@ -180,22 +181,22 @@
180
181
  </section>
181
182
  <nav class="pager" aria-label="Adjacent pages">
182
183
  <a class="pager-prev" href="/en/mcp-auth">
183
- <span class="pager-label">Previous</span>
184
+ <span class="pager-label">← Previous</span>
184
185
  <span class="pager-title">Authentication</span>
185
186
  </a>
186
187
  <a class="pager-next" href="/en/security">
187
- <span class="pager-label">Next</span>
188
+ <span class="pager-label">Next →</span>
188
189
  <span class="pager-title">Security model</span>
189
190
  </a>
190
191
  </nav>
191
192
 
192
193
  <footer class="footer">
193
- <p>Pi Agent Platform docs · static HTML · governed agent workflow</p>
194
+ <p>Pi Agent Platform · MIT · static docs, no cookies</p>
194
195
  <div class="footer-links" aria-label="External links">
195
- <a href="https://piagent.io.vn" target="_blank" rel="noopener noreferrer">piagent.io.vn</a>
196
- <a href="https://github.com/Vt-mmm/piagent" target="_blank" rel="noopener noreferrer">GitHub repository</a>
196
+ <a href="https://github.com/Vt-mmm/piagent" target="_blank" rel="noopener noreferrer">GitHub</a>
197
+ <a href="https://www.npmjs.com/package/@piagent/platform" target="_blank" rel="noopener noreferrer">npm</a>
197
198
  <a href="/mcp-approval" hreflang="vi">Tiếng Việt</a>
198
- <a href="https://www.facebook.com/vinhtam0544/" target="_blank" rel="noopener noreferrer">Facebook profile</a>
199
+ <a href="https://www.facebook.com/vinhtam0544/" target="_blank" rel="noopener noreferrer">Facebook</a>
199
200
  </div>
200
201
  </footer>
201
202
  </div>
@@ -206,6 +207,13 @@
206
207
  <nav data-toc></nav>
207
208
  </aside>
208
209
  </div>
210
+ <div class="palette" data-palette data-index="/assets/search-en.json" data-empty="No page matches." role="dialog" aria-modal="true" aria-label="Search documentation">
211
+ <div class="palette-box">
212
+ <label class="palette-input"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-search"/></svg><input type="search" placeholder="Search the docs…" aria-label="Search documentation" autocomplete="off" spellcheck="false" /></label>
213
+ <div class="palette-results" data-results role="listbox"></div>
214
+ <div class="palette-foot"><span>↑↓ select</span><span>↵ open</span><span>esc close</span></div>
215
+ </div>
216
+ </div>
209
217
  <script>
210
218
  window.va = window.va || function () { (window.vaq = window.vaq || []).push(arguments); };
211
219
  </script>
@@ -1,108 +1,109 @@
1
1
  <!doctype html>
2
- <html lang="en" data-copy-success="Copied" data-copy-fallback="Select command">
2
+ <html lang="en" data-copy-success="Copied" data-copy-fallback="Select command" data-copy-label="Copy">
3
3
  <head>
4
4
  <meta charset="utf-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
- <title>Authentication and readiness · Pi Agent Platform Docs</title>
7
- <meta name="description" content="The platform does not store tokens or run OAuth. It rejects secrets in configuration and reports which servers are actually ready." />
8
- <meta name="theme-color" content="#050505" />
6
+ <title>Authentication and readiness · Pi Agent Platform</title>
7
+ <meta name="description" content="The platform stores no tokens and runs no OAuth. It rejects secrets in configuration and reports which servers are actually ready." />
8
+ <meta name="theme-color" content="#09090b" media="(prefers-color-scheme: dark)" />
9
+ <meta name="theme-color" content="#fbfbf9" media="(prefers-color-scheme: light)" />
9
10
  <link rel="canonical" href="https://piagent.io.vn/en/mcp-auth" />
10
11
  <link rel="alternate" hreflang="vi" href="https://piagent.io.vn/mcp-auth" />
11
12
  <link rel="alternate" hreflang="en" href="https://piagent.io.vn/en/mcp-auth" />
12
13
  <link rel="alternate" hreflang="x-default" href="https://piagent.io.vn/mcp-auth" />
13
14
  <link rel="icon" href="/favicon.svg" type="image/svg+xml" />
14
- <meta property="og:title" content="Authentication and readiness · Pi Agent Platform Docs" />
15
- <meta property="og:description" content="The platform does not store tokens or run OAuth. It rejects secrets in configuration and reports which servers are actually ready." />
15
+ <meta property="og:type" content="website" />
16
+ <meta property="og:title" content="Authentication and readiness · Pi Agent Platform" />
17
+ <meta property="og:description" content="The platform stores no tokens and runs no OAuth. It rejects secrets in configuration and reports which servers are actually ready." />
16
18
  <meta property="og:url" content="https://piagent.io.vn/en/mcp-auth" />
19
+ <meta property="og:image" content="https://piagent.io.vn/assets/og.png" />
20
+ <meta name="twitter:card" content="summary_large_image" />
21
+ <script>try{var t=localStorage.getItem("piagent-docs-theme");if(t==="light"||t==="dark")document.documentElement.dataset.theme=t}catch(e){}</script>
17
22
  <link rel="preconnect" href="https://fonts.googleapis.com" />
18
23
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
19
24
  <link
20
- href="https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap"
25
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;550;600;650;700;750&family=JetBrains+Mono:wght@400;500;600;700&display=swap"
21
26
  rel="stylesheet"
22
27
  />
23
28
  <link rel="stylesheet" href="/assets/docs.css" />
24
29
  <script src="/assets/docs.js" defer></script>
25
30
  </head>
26
31
  <body>
32
+ <svg width="0" height="0" style="position:absolute" aria-hidden="true"><symbol id="icon-branch" viewBox="0 0 24 24"><circle cx="6" cy="5.5" r="2"/><circle cx="6" cy="18.5" r="2"/><circle cx="18" cy="7.5" r="2"/><path d="M6 7.5v9M18 9.5c0 4.5-5 4-11 7.5"/></symbol><symbol id="icon-chart" viewBox="0 0 24 24"><path d="M4 4v16h16"/><path d="M8.5 16v-5M12.5 16V8M16.5 16v-3"/></symbol><symbol id="icon-cpu" viewBox="0 0 24 24"><rect x="6" y="6" width="12" height="12" rx="2"/><rect x="9.5" y="9.5" width="5" height="5" rx=".8"/><path d="M9 2.5V6M15 2.5V6M9 18v3.5M15 18v3.5M2.5 9H6M2.5 15H6M18 9h3.5M18 15h3.5"/></symbol><symbol id="icon-edit" viewBox="0 0 24 24"><path d="M4 20h4L19 9l-4-4L4 16z"/><path d="m13.5 6.5 4 4"/></symbol><symbol id="icon-github" viewBox="0 0 24 24"><path d="M9 19c-4.5 1.5-4.5-2.5-6.5-3m13 6v-3.5a3 3 0 0 0-.9-2.4c3-.3 6.4-1.5 6.4-6.7a5.2 5.2 0 0 0-1.4-3.6 4.8 4.8 0 0 0-.1-3.6s-1.1-.3-3.7 1.4a12.6 12.6 0 0 0-6.6 0C6.6 1.9 5.5 2.2 5.5 2.2a4.8 4.8 0 0 0-.1 3.6A5.2 5.2 0 0 0 4 9.4c0 5.2 3.4 6.4 6.4 6.7a3 3 0 0 0-.9 2.4V22"/></symbol><symbol id="icon-hash" viewBox="0 0 24 24"><path d="M5 9h15M4 15h15M10 3 8 21M16 3l-2 18"/></symbol><symbol id="icon-home" viewBox="0 0 24 24"><path d="M3 10.5 12 3l9 7.5V20a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z"/></symbol><symbol id="icon-key" viewBox="0 0 24 24"><circle cx="8" cy="15" r="4"/><path d="m10.9 12.1 8.6-8.6M16.5 6.5l2.5 2.5M14 9l2 2"/></symbol><symbol id="icon-layers" viewBox="0 0 24 24"><path d="m12 3 9 5-9 5-9-5z"/><path d="m3 13 9 5 9-5"/><path d="m3 17.5 9 5 9-5" opacity=".55"/></symbol><symbol id="icon-lock" viewBox="0 0 24 24"><rect x="4" y="11" width="16" height="10" rx="2"/><path d="M8 11V7a4 4 0 0 1 8 0v4"/></symbol><symbol id="icon-menu" viewBox="0 0 24 24"><path d="M4 7h16M4 12h16M4 17h16"/></symbol><symbol id="icon-moon" viewBox="0 0 24 24"><path d="M20 14.5A8 8 0 1 1 9.5 4a6.5 6.5 0 0 0 10.5 10.5z"/></symbol><symbol id="icon-network" viewBox="0 0 24 24"><circle cx="12" cy="5" r="2.5"/><circle cx="5" cy="19" r="2.5"/><circle cx="19" cy="19" r="2.5"/><path d="M12 7.5V12m0 0-5.2 5.2M12 12l5.2 5.2"/></symbol><symbol id="icon-plug" viewBox="0 0 24 24"><path d="M9 3v4M15 3v4M6 7h12v4a6 6 0 0 1-12 0zM12 17v4"/></symbol><symbol id="icon-refresh" viewBox="0 0 24 24"><path d="M20 11A8 8 0 0 0 5.3 6.7M4 3v4h4"/><path d="M4 13a8 8 0 0 0 14.7 4.3M20 21v-4h-4"/></symbol><symbol id="icon-rocket" viewBox="0 0 24 24"><path d="M5.5 15.5C4 17 3.5 19.5 3.5 20.5c1 0 3.5-.5 5-2"/><path d="M9 15 6.5 12.5C8 8.5 11.5 4.5 20 4c-.5 8.5-4.5 12-8.5 13.5z"/><circle cx="14.5" cy="9.5" r="1.5"/></symbol><symbol id="icon-search" viewBox="0 0 24 24"><circle cx="11" cy="11" r="7"/><path d="m20 20-3.5-3.5"/></symbol><symbol id="icon-server" viewBox="0 0 24 24"><rect x="3" y="4" width="18" height="7" rx="2"/><rect x="3" y="13" width="18" height="7" rx="2"/><path d="M7 7.5h.01M7 16.5h.01"/></symbol><symbol id="icon-shield" viewBox="0 0 24 24"><path d="M12 3 4.5 6v5.5c0 4.8 3.2 8.2 7.5 9.5 4.3-1.3 7.5-4.7 7.5-9.5V6z"/></symbol><symbol id="icon-shield-check" viewBox="0 0 24 24"><path d="M12 3 4.5 6v5.5c0 4.8 3.2 8.2 7.5 9.5 4.3-1.3 7.5-4.7 7.5-9.5V6z"/><path d="m9 12 2.2 2.2L15.5 10"/></symbol><symbol id="icon-sliders" viewBox="0 0 24 24"><path d="M4 7h9M17 7h3M4 17h3M11 17h9"/><circle cx="15" cy="7" r="2"/><circle cx="9" cy="17" r="2"/></symbol><symbol id="icon-sparkles" viewBox="0 0 24 24"><path d="M11 3c.6 4.6 2.4 6.4 7 7-4.6.6-6.4 2.4-7 7-.6-4.6-2.4-6.4-7-7 4.6-.6 6.4-2.4 7-7z"/><path d="M19 15v5M16.5 17.5h5"/></symbol><symbol id="icon-sun" viewBox="0 0 24 24"><circle cx="12" cy="12" r="4"/><path d="M12 2.5v2M12 19.5v2M4.6 4.6 6 6M18 18l1.4 1.4M2.5 12h2M19.5 12h2M4.6 19.4 6 18M18 6l1.4-1.4"/></symbol><symbol id="icon-target" viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="5"/><circle cx="12" cy="12" r="1"/></symbol><symbol id="icon-terminal" viewBox="0 0 24 24"><rect x="3" y="4" width="18" height="16" rx="2.5"/><path d="m7.5 9.5 3 2.5-3 2.5M13 15h4"/></symbol><symbol id="icon-users" viewBox="0 0 24 24"><circle cx="9" cy="8" r="3.5"/><path d="M2.5 20a6.5 6.5 0 0 1 13 0"/><path d="M16 4.5a3.5 3.5 0 0 1 0 7M18 14a6 6 0 0 1 3.5 6"/></symbol><symbol id="icon-windows" viewBox="0 0 24 24"><path d="M3.5 5.5 10.5 4.5v7h-7zM13 4.2 20.5 3v8.5H13zM3.5 13h7v7l-7-1zM13 13h7.5v8.5L13 20.3z"/></symbol><symbol id="icon-wrench" viewBox="0 0 24 24"><path d="M15 6.5a4.5 4.5 0 0 1-6 6l-5 5L6.5 20l5-5a4.5 4.5 0 0 0 6-6L15 11.5l-2.5-2.5z"/></symbol></svg>
33
+ <a class="skip-link" href="#content">Skip to content</a>
27
34
  <header class="topbar">
35
+ <button class="icon-button mobile-menu" type="button" data-menu aria-label="Open docs menu"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-menu"/></svg></button>
28
36
  <a class="brand" href="/en/" aria-label="Pi Agent Platform">
29
- <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" /></span>
30
- <span>Pi Agent Platform</span>
37
+ <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
+ <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
31
39
  </a>
40
+ <a class="version-badge" href="/en/whats-new" data-docs-version="v1.42.0" title="v1.42.0 docs · EN"><span class="dot"></span>v1.42.0</a>
41
+ <nav class="top-nav" aria-label="Documentation">
42
+ <a href="/en/quickstart">Docs</a>
43
+ <a href="/en/whats-new">Changelog</a>
44
+ <a href="/en/benchmark">Benchmark</a>
45
+ </nav>
46
+ <span class="top-spacer"></span>
47
+ <button class="search-trigger" type="button" data-search aria-label="Search documentation"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-search"/></svg><span>Search the docs…</span><kbd>⌘K</kbd></button>
32
48
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.40.0 docs · EN</span>
34
- <nav class="language-switch" aria-label="Language">
35
- <a class="language-option" href="/mcp-auth" hreflang="vi" lang="vi">VI</a>
36
- <a class="language-option current" href="/en/mcp-auth" hreflang="en" lang="en" aria-current="true">EN</a>
37
- </nav>
38
- <a class="button social" href="https://github.com/Vt-mmm/piagent" target="_blank" rel="noopener noreferrer" aria-label="Open GitHub repository">
39
- <svg viewBox="0 0 24 24" fill="none" aria-hidden="true">
40
- <path d="M7 17 17 7M9 7h8v8" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
41
- </svg>
42
- GitHub
43
- </a>
44
- <button class="button mobile-menu" type="button" data-menu>Menu</button>
45
- <a class="button top-command-link" href="/en/commands">Commands</a>
49
+ <nav class="language-switch" aria-label="Language"><a class="language-option" href="/mcp-auth" hreflang="vi" lang="vi">VI</a><a class="language-option current" href="/en/mcp-auth" hreflang="en" lang="en" aria-current="true">EN</a></nav>
50
+ <button class="icon-button theme-toggle" type="button" data-theme-toggle aria-label="Switch light/dark theme"><svg class="icon icon-moon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-moon"/></svg><svg class="icon icon-sun" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-sun"/></svg></button>
51
+ <a class="icon-button" href="https://github.com/Vt-mmm/piagent" target="_blank" rel="noopener noreferrer" aria-label="Open GitHub repository"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-github"/></svg></a>
46
52
  </div>
47
53
  </header>
48
54
 
49
55
  <div class="layout with-toc">
50
56
  <aside class="sidebar" data-sidebar>
51
- <div class="sidebar-search" aria-label="Search documentation">
52
- <svg viewBox="0 0 24 24" fill="none" aria-hidden="true">
53
- <path d="M10.8 18.1a7.3 7.3 0 1 1 0-14.6 7.3 7.3 0 0 1 0 14.6Zm5.3-1.7 4.4 4.4" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
54
- </svg>
55
- <input type="search" placeholder="Search pages" data-filter />
56
- </div>
57
-
58
57
  <nav aria-label="Documentation">
59
58
  <div class="nav-group">
60
59
  <p class="nav-title">Get started</p>
61
- <a class="nav-link" href="/en/">Overview</a>
62
- <a class="nav-link" href="/en/ecosystem">Ecosystem</a>
63
- <a class="nav-link" href="/en/quickstart">Quickstart</a>
64
- <a class="nav-link" href="/en/windows">Windows</a>
65
- <a class="nav-link" href="/en/whats-new">What’s new</a>
66
- <a class="nav-link" href="/en/scope">Platform scope</a>
60
+ <a class="nav-link" href="/en/"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-home"/></svg><span>Overview</span></a>
61
+ <a class="nav-link" href="/en/ecosystem"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-network"/></svg><span>Ecosystem</span></a>
62
+ <a class="nav-link" href="/en/quickstart"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-rocket"/></svg><span>Install</span></a>
63
+ <a class="nav-link" href="/en/windows"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-windows"/></svg><span>Windows</span></a>
64
+ <a class="nav-link" href="/en/update"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-refresh"/></svg><span>Update &amp; uninstall</span></a>
65
+ <a class="nav-link" href="/en/whats-new"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-sparkles"/></svg><span>Changelog</span></a>
66
+ <a class="nav-link" href="/en/scope"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-target"/></svg><span>Platform scope</span></a>
67
67
  </div>
68
68
  <div class="nav-group">
69
69
  <p class="nav-title">Build</p>
70
- <a class="nav-link" href="/en/profiles">Project profiles</a>
71
- <a class="nav-link" href="/en/permissions">Permission modes</a>
72
- <a class="nav-link" href="/en/commands">Command catalog</a>
73
- <a class="nav-link" href="/en/workflows">Workflows</a>
70
+ <a class="nav-link" href="/en/profiles"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-sliders"/></svg><span>Project profiles</span></a>
71
+ <a class="nav-link" href="/en/permissions"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-key"/></svg><span>Permission modes</span></a>
72
+ <a class="nav-link" href="/en/commands"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-terminal"/></svg><span>Command catalog</span></a>
73
+ <a class="nav-link" href="/en/workflows"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-branch"/></svg><span>Workflows</span></a>
74
74
  </div>
75
75
  <div class="nav-group">
76
76
  <p class="nav-title">MCP</p>
77
- <a class="nav-link" href="/en/mcp">MCP overview</a>
78
- <a class="nav-link" href="/en/mcp-servers">Server management</a>
79
- <a class="nav-link current" href="/en/mcp-auth" aria-current="page">Authentication</a>
80
- <a class="nav-link" href="/en/mcp-approval">Approval gate</a>
77
+ <a class="nav-link" href="/en/mcp"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-plug"/></svg><span>MCP overview</span></a>
78
+ <a class="nav-link" href="/en/mcp-servers"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-server"/></svg><span>Server management</span></a>
79
+ <a class="nav-link current" href="/en/mcp-auth" aria-current="page"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-lock"/></svg><span>Authentication</span></a>
80
+ <a class="nav-link" href="/en/mcp-approval"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-shield-check"/></svg><span>Approval gate</span></a>
81
81
  </div>
82
82
  <div class="nav-group">
83
83
  <p class="nav-title">Operate</p>
84
- <a class="nav-link" href="/en/security">Security model</a>
85
- <a class="nav-link" href="/en/architecture">Architecture</a>
86
- <a class="nav-link" href="/en/context-engine">Context Engine</a>
87
- <a class="nav-link" href="/en/benchmark">Benchmark</a>
88
- <a class="nav-link" href="/en/runtime">Runtime tools</a>
89
- <a class="nav-link" href="/en/team">Team usage</a>
84
+ <a class="nav-link" href="/en/security"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-shield"/></svg><span>Security model</span></a>
85
+ <a class="nav-link" href="/en/architecture"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-layers"/></svg><span>Architecture</span></a>
86
+ <a class="nav-link" href="/en/context-engine"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-cpu"/></svg><span>Context Engine</span></a>
87
+ <a class="nav-link" href="/en/benchmark"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-chart"/></svg><span>Benchmark</span></a>
88
+ <a class="nav-link" href="/en/runtime"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-wrench"/></svg><span>Runtime tools</span></a>
89
+ <a class="nav-link" href="/en/team"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-users"/></svg><span>Team usage</span></a>
90
90
  </div>
91
91
  </nav>
92
92
  </aside>
93
93
 
94
- <main>
94
+ <main id="content">
95
95
  <div class="content-shell" data-article>
96
96
  <nav class="breadcrumb" aria-label="Breadcrumb">
97
97
  <a href="/en/">Docs</a>
98
98
  <span aria-hidden="true">/</span>
99
99
  <span>MCP</span>
100
- <span aria-hidden="true">/</span>
101
- <span>Authentication</span>
102
100
  </nav>
103
101
  <div class="page-head">
104
102
  <h1>Authentication and readiness</h1>
105
- <p>The platform does not store tokens or run OAuth. It rejects secrets in configuration and reports which servers are actually ready.</p>
103
+ <p>The platform stores no tokens and runs no OAuth. It rejects secrets in configuration and reports which servers are actually ready.</p>
104
+ <div class="page-meta">
105
+ <a href="https://github.com/Vt-mmm/piagent/blob/main/docs-site/content/en/mcp-auth.html" target="_blank" rel="noopener noreferrer"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-edit"/></svg>Edit this page</a>
106
+ </div>
106
107
  </div>
107
108
  <section class="section">
108
109
  <h2 id="no-token-storage">The platform does not store tokens</h2>
@@ -163,22 +164,22 @@ NEED docker: installed but the daemon is not responding
163
164
  </section>
164
165
  <nav class="pager" aria-label="Adjacent pages">
165
166
  <a class="pager-prev" href="/en/mcp-servers">
166
- <span class="pager-label">Previous</span>
167
+ <span class="pager-label">← Previous</span>
167
168
  <span class="pager-title">Server management</span>
168
169
  </a>
169
170
  <a class="pager-next" href="/en/mcp-approval">
170
- <span class="pager-label">Next</span>
171
+ <span class="pager-label">Next →</span>
171
172
  <span class="pager-title">Approval gate</span>
172
173
  </a>
173
174
  </nav>
174
175
 
175
176
  <footer class="footer">
176
- <p>Pi Agent Platform docs · static HTML · governed agent workflow</p>
177
+ <p>Pi Agent Platform · MIT · static docs, no cookies</p>
177
178
  <div class="footer-links" aria-label="External links">
178
- <a href="https://piagent.io.vn" target="_blank" rel="noopener noreferrer">piagent.io.vn</a>
179
- <a href="https://github.com/Vt-mmm/piagent" target="_blank" rel="noopener noreferrer">GitHub repository</a>
179
+ <a href="https://github.com/Vt-mmm/piagent" target="_blank" rel="noopener noreferrer">GitHub</a>
180
+ <a href="https://www.npmjs.com/package/@piagent/platform" target="_blank" rel="noopener noreferrer">npm</a>
180
181
  <a href="/mcp-auth" hreflang="vi">Tiếng Việt</a>
181
- <a href="https://www.facebook.com/vinhtam0544/" target="_blank" rel="noopener noreferrer">Facebook profile</a>
182
+ <a href="https://www.facebook.com/vinhtam0544/" target="_blank" rel="noopener noreferrer">Facebook</a>
182
183
  </div>
183
184
  </footer>
184
185
  </div>
@@ -189,6 +190,13 @@ NEED docker: installed but the daemon is not responding
189
190
  <nav data-toc></nav>
190
191
  </aside>
191
192
  </div>
193
+ <div class="palette" data-palette data-index="/assets/search-en.json" data-empty="No page matches." role="dialog" aria-modal="true" aria-label="Search documentation">
194
+ <div class="palette-box">
195
+ <label class="palette-input"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-search"/></svg><input type="search" placeholder="Search the docs…" aria-label="Search documentation" autocomplete="off" spellcheck="false" /></label>
196
+ <div class="palette-results" data-results role="listbox"></div>
197
+ <div class="palette-foot"><span>↑↓ select</span><span>↵ open</span><span>esc close</span></div>
198
+ </div>
199
+ </div>
192
200
  <script>
193
201
  window.va = window.va || function () { (window.vaq = window.vaq || []).push(arguments); };
194
202
  </script>