@f5-sales-demo/xcsh 20.6.2 → 20.7.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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ## [20.6.3] - 2026-08-07
6
+
7
+ ### Improved
8
+
9
+ - System prompt optimization aligning system prompts and agent instructions with Anthropic 8-point system prompting best practice standard ([#3057](https://github.com/f5-sales-demo/xcsh/issues/3057))
10
+
11
+
5
12
  ## [20.4.0] - 2026-08-04
6
13
 
7
14
  ### Breaking Changes
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@f5-sales-demo/xcsh",
4
- "version": "20.6.2",
4
+ "version": "20.7.0",
5
5
  "description": "Coding agent CLI with read, bash, edit, write tools and session management",
6
6
  "homepage": "https://github.com/f5-sales-demo/xcsh",
7
7
  "author": "Can Boluk",
@@ -61,13 +61,13 @@
61
61
  "dependencies": {
62
62
  "@agentclientprotocol/sdk": "1.3.0",
63
63
  "@mozilla/readability": "^0.6",
64
- "@f5-sales-demo/xcsh-stats": "20.6.2",
65
- "@f5-sales-demo/pi-agent-core": "20.6.2",
66
- "@f5-sales-demo/pi-ai": "20.6.2",
67
- "@f5-sales-demo/pi-natives": "20.6.2",
68
- "@f5-sales-demo/pi-resource-management": "20.6.2",
69
- "@f5-sales-demo/pi-tui": "20.6.2",
70
- "@f5-sales-demo/pi-utils": "20.6.2",
64
+ "@f5-sales-demo/xcsh-stats": "20.7.0",
65
+ "@f5-sales-demo/pi-agent-core": "20.7.0",
66
+ "@f5-sales-demo/pi-ai": "20.7.0",
67
+ "@f5-sales-demo/pi-natives": "20.7.0",
68
+ "@f5-sales-demo/pi-resource-management": "20.7.0",
69
+ "@f5-sales-demo/pi-tui": "20.7.0",
70
+ "@f5-sales-demo/pi-utils": "20.7.0",
71
71
  "@sinclair/typebox": "^0.34",
72
72
  "@xterm/headless": "^6.0",
73
73
  "ajv": "^8.20",
@@ -17,17 +17,17 @@ export interface BuildInfo {
17
17
  }
18
18
 
19
19
  export const BUILD_INFO: BuildInfo = {
20
- "version": "20.6.2",
21
- "commit": "153e66d64c03537aa7e146847f6845b18c1778c2",
22
- "shortCommit": "153e66d",
20
+ "version": "20.7.0",
21
+ "commit": "1e634cfb3d15f8774c756a1eed5b1ef81c24c35a",
22
+ "shortCommit": "1e634cf",
23
23
  "branch": "main",
24
- "tag": "v20.6.2",
25
- "commitDate": "2026-08-07T09:36:42Z",
26
- "buildDate": "2026-08-07T10:08:22.300Z",
24
+ "tag": "v20.7.0",
25
+ "commitDate": "2026-08-07T13:11:40Z",
26
+ "buildDate": "2026-08-07T13:38:50.245Z",
27
27
  "dirty": true,
28
28
  "prNumber": "",
29
29
  "repoUrl": "https://github.com/f5-sales-demo/xcsh",
30
30
  "repoSlug": "f5-sales-demo/xcsh",
31
- "commitUrl": "https://github.com/f5-sales-demo/xcsh/commit/153e66d64c03537aa7e146847f6845b18c1778c2",
32
- "releaseUrl": "https://github.com/f5-sales-demo/xcsh/releases/tag/v20.6.2"
31
+ "commitUrl": "https://github.com/f5-sales-demo/xcsh/commit/1e634cfb3d15f8774c756a1eed5b1ef81c24c35a",
32
+ "releaseUrl": "https://github.com/f5-sales-demo/xcsh/releases/tag/v20.7.0"
33
33
  };
@@ -1,8 +1,9 @@
1
1
  // Auto-generated by scripts/generate-docs-index.ts - DO NOT EDIT
2
2
 
3
- export const EMBEDDED_DOC_FILENAMES: readonly string[] = ["ar/configuration/blob-artifact-architecture.md","ar/configuration/config-usage.md","ar/configuration/environment-variables.md","ar/configuration/fs-scan-cache-architecture.md","ar/configuration/hooks.md","ar/configuration/porting-from-pi-mono.md","ar/configuration/rpc.md","ar/configuration/sdk.md","ar/configuration/secrets.md","ar/extensions/extension-loading.md","ar/extensions/extensions.md","ar/extensions/gemini-manifest-extensions.md","ar/extensions/marketplace.md","ar/extensions/plugin-manager-installer-plumbing.md","ar/extensions/rulebook-matching-pipeline.md","ar/extensions/skills.md","ar/index.md","ar/mcp/mcp-config.md","ar/mcp/mcp-protocol-transports.md","ar/mcp/mcp-runtime-lifecycle.md","ar/mcp/mcp-server-tool-authoring.md","ar/natives/natives-addon-loader-runtime.md","ar/natives/natives-architecture.md","ar/natives/natives-binding-contract.md","ar/natives/natives-build-release-debugging.md","ar/natives/natives-media-system-utils.md","ar/natives/natives-rust-task-cancellation.md","ar/natives/natives-shell-pty-process.md","ar/natives/natives-text-search-pipeline.md","ar/natives/porting-to-natives.md","ar/providers/models.md","ar/providers/provider-streaming-internals.md","ar/providers/python-repl.md","ar/runtime-tools/bash-tool-runtime.md","ar/runtime-tools/context-command.md","ar/runtime-tools/custom-tools.md","ar/runtime-tools/notebook-tool-runtime.md","ar/runtime-tools/resolve-tool-runtime.md","ar/runtime-tools/slash-command-internals.md","ar/runtime-tools/task-agent-discovery.md","ar/sessions/compaction.md","ar/sessions/handoff-generation-pipeline.md","ar/sessions/memory.md","ar/sessions/non-compaction-retry-policy.md","ar/sessions/session-operations-export-share-fork-resume.md","ar/sessions/session-switching-and-recent-listing.md","ar/sessions/session-tree-plan.md","ar/sessions/session.md","ar/sessions/ttsr-injection-lifecycle.md","ar/tui/theme.md","ar/tui/tree.md","ar/tui/tui-runtime-internals.md","ar/tui/tui.md","de/configuration/blob-artifact-architecture.md","de/configuration/config-usage.md","de/configuration/environment-variables.md","de/configuration/fs-scan-cache-architecture.md","de/configuration/hooks.md","de/configuration/porting-from-pi-mono.md","de/configuration/rpc.md","de/configuration/sdk.md","de/configuration/secrets.md","de/extensions/extension-loading.md","de/extensions/extensions.md","de/extensions/gemini-manifest-extensions.md","de/extensions/marketplace.md","de/extensions/plugin-manager-installer-plumbing.md","de/extensions/rulebook-matching-pipeline.md","de/extensions/skills.md","de/index.md","de/mcp/mcp-config.md","de/mcp/mcp-protocol-transports.md","de/mcp/mcp-runtime-lifecycle.md","de/mcp/mcp-server-tool-authoring.md","de/natives/natives-addon-loader-runtime.md","de/natives/natives-architecture.md","de/natives/natives-binding-contract.md","de/natives/natives-build-release-debugging.md","de/natives/natives-media-system-utils.md","de/natives/natives-rust-task-cancellation.md","de/natives/natives-shell-pty-process.md","de/natives/natives-text-search-pipeline.md","de/natives/porting-to-natives.md","de/providers/models.md","de/providers/provider-streaming-internals.md","de/providers/python-repl.md","de/runtime-tools/bash-tool-runtime.md","de/runtime-tools/context-command.md","de/runtime-tools/custom-tools.md","de/runtime-tools/notebook-tool-runtime.md","de/runtime-tools/resolve-tool-runtime.md","de/runtime-tools/slash-command-internals.md","de/runtime-tools/task-agent-discovery.md","de/sessions/compaction.md","de/sessions/handoff-generation-pipeline.md","de/sessions/memory.md","de/sessions/non-compaction-retry-policy.md","de/sessions/session-operations-export-share-fork-resume.md","de/sessions/session-switching-and-recent-listing.md","de/sessions/session-tree-plan.md","de/sessions/session.md","de/sessions/ttsr-injection-lifecycle.md","de/tui/theme.md","de/tui/tree.md","de/tui/tui-runtime-internals.md","de/tui/tui.md","en/configuration/blob-artifact-architecture.md","en/configuration/config-usage.md","en/configuration/environment-variables.md","en/configuration/fs-scan-cache-architecture.md","en/configuration/hooks.md","en/configuration/porting-from-pi-mono.md","en/configuration/rpc.md","en/configuration/sdk.md","en/configuration/secrets.md","en/extensions/extension-loading.md","en/extensions/extensions.md","en/extensions/gemini-manifest-extensions.md","en/extensions/marketplace.md","en/extensions/plugin-manager-installer-plumbing.md","en/extensions/rulebook-matching-pipeline.md","en/extensions/skills.md","en/index.md","en/mcp/mcp-config.md","en/mcp/mcp-protocol-transports.md","en/mcp/mcp-runtime-lifecycle.md","en/mcp/mcp-server-tool-authoring.md","en/natives/natives-addon-loader-runtime.md","en/natives/natives-architecture.md","en/natives/natives-binding-contract.md","en/natives/natives-build-release-debugging.md","en/natives/natives-media-system-utils.md","en/natives/natives-rust-task-cancellation.md","en/natives/natives-shell-pty-process.md","en/natives/natives-text-search-pipeline.md","en/natives/porting-to-natives.md","en/providers/models.md","en/providers/provider-streaming-internals.md","en/providers/python-repl.md","en/runtime-tools/bash-tool-runtime.md","en/runtime-tools/context-command.md","en/runtime-tools/custom-tools.md","en/runtime-tools/notebook-tool-runtime.md","en/runtime-tools/resolve-tool-runtime.md","en/runtime-tools/slash-command-internals.md","en/runtime-tools/task-agent-discovery.md","en/sessions/compaction.md","en/sessions/handoff-generation-pipeline.md","en/sessions/memory.md","en/sessions/non-compaction-retry-policy.md","en/sessions/session-operations-export-share-fork-resume.md","en/sessions/session-switching-and-recent-listing.md","en/sessions/session-tree-plan.md","en/sessions/session.md","en/sessions/ttsr-injection-lifecycle.md","en/tui/theme.md","en/tui/tree.md","en/tui/tui-runtime-internals.md","en/tui/tui.md","es/configuration/blob-artifact-architecture.md","es/configuration/config-usage.md","es/configuration/environment-variables.md","es/configuration/fs-scan-cache-architecture.md","es/configuration/hooks.md","es/configuration/porting-from-pi-mono.md","es/configuration/rpc.md","es/configuration/sdk.md","es/configuration/secrets.md","es/extensions/extension-loading.md","es/extensions/extensions.md","es/extensions/gemini-manifest-extensions.md","es/extensions/marketplace.md","es/extensions/plugin-manager-installer-plumbing.md","es/extensions/rulebook-matching-pipeline.md","es/extensions/skills.md","es/index.md","es/mcp/mcp-config.md","es/mcp/mcp-protocol-transports.md","es/mcp/mcp-runtime-lifecycle.md","es/mcp/mcp-server-tool-authoring.md","es/natives/natives-addon-loader-runtime.md","es/natives/natives-architecture.md","es/natives/natives-binding-contract.md","es/natives/natives-build-release-debugging.md","es/natives/natives-media-system-utils.md","es/natives/natives-rust-task-cancellation.md","es/natives/natives-shell-pty-process.md","es/natives/natives-text-search-pipeline.md","es/natives/porting-to-natives.md","es/providers/models.md","es/providers/provider-streaming-internals.md","es/providers/python-repl.md","es/runtime-tools/bash-tool-runtime.md","es/runtime-tools/context-command.md","es/runtime-tools/custom-tools.md","es/runtime-tools/notebook-tool-runtime.md","es/runtime-tools/resolve-tool-runtime.md","es/runtime-tools/slash-command-internals.md","es/runtime-tools/task-agent-discovery.md","es/sessions/compaction.md","es/sessions/handoff-generation-pipeline.md","es/sessions/memory.md","es/sessions/non-compaction-retry-policy.md","es/sessions/session-operations-export-share-fork-resume.md","es/sessions/session-switching-and-recent-listing.md","es/sessions/session-tree-plan.md","es/sessions/session.md","es/sessions/ttsr-injection-lifecycle.md","es/tui/theme.md","es/tui/tree.md","es/tui/tui-runtime-internals.md","es/tui/tui.md","fr/configuration/blob-artifact-architecture.md","fr/configuration/config-usage.md","fr/configuration/environment-variables.md","fr/configuration/fs-scan-cache-architecture.md","fr/configuration/hooks.md","fr/configuration/porting-from-pi-mono.md","fr/configuration/rpc.md","fr/configuration/sdk.md","fr/configuration/secrets.md","fr/extensions/extension-loading.md","fr/extensions/extensions.md","fr/extensions/gemini-manifest-extensions.md","fr/extensions/marketplace.md","fr/extensions/plugin-manager-installer-plumbing.md","fr/extensions/rulebook-matching-pipeline.md","fr/extensions/skills.md","fr/index.md","fr/mcp/mcp-config.md","fr/mcp/mcp-protocol-transports.md","fr/mcp/mcp-runtime-lifecycle.md","fr/mcp/mcp-server-tool-authoring.md","fr/natives/natives-addon-loader-runtime.md","fr/natives/natives-architecture.md","fr/natives/natives-binding-contract.md","fr/natives/natives-build-release-debugging.md","fr/natives/natives-media-system-utils.md","fr/natives/natives-rust-task-cancellation.md","fr/natives/natives-shell-pty-process.md","fr/natives/natives-text-search-pipeline.md","fr/natives/porting-to-natives.md","fr/providers/models.md","fr/providers/provider-streaming-internals.md","fr/providers/python-repl.md","fr/runtime-tools/bash-tool-runtime.md","fr/runtime-tools/context-command.md","fr/runtime-tools/custom-tools.md","fr/runtime-tools/notebook-tool-runtime.md","fr/runtime-tools/resolve-tool-runtime.md","fr/runtime-tools/slash-command-internals.md","fr/runtime-tools/task-agent-discovery.md","fr/sessions/compaction.md","fr/sessions/handoff-generation-pipeline.md","fr/sessions/memory.md","fr/sessions/non-compaction-retry-policy.md","fr/sessions/session-operations-export-share-fork-resume.md","fr/sessions/session-switching-and-recent-listing.md","fr/sessions/session-tree-plan.md","fr/sessions/session.md","fr/sessions/ttsr-injection-lifecycle.md","fr/tui/theme.md","fr/tui/tree.md","fr/tui/tui-runtime-internals.md","fr/tui/tui.md","hi/configuration/blob-artifact-architecture.md","hi/configuration/config-usage.md","hi/configuration/environment-variables.md","hi/configuration/fs-scan-cache-architecture.md","hi/configuration/hooks.md","hi/configuration/porting-from-pi-mono.md","hi/configuration/rpc.md","hi/configuration/sdk.md","hi/configuration/secrets.md","hi/extensions/extension-loading.md","hi/extensions/extensions.md","hi/extensions/gemini-manifest-extensions.md","hi/extensions/marketplace.md","hi/extensions/plugin-manager-installer-plumbing.md","hi/extensions/rulebook-matching-pipeline.md","hi/extensions/skills.md","hi/index.md","hi/mcp/mcp-config.md","hi/mcp/mcp-protocol-transports.md","hi/mcp/mcp-runtime-lifecycle.md","hi/mcp/mcp-server-tool-authoring.md","hi/natives/natives-addon-loader-runtime.md","hi/natives/natives-architecture.md","hi/natives/natives-binding-contract.md","hi/natives/natives-build-release-debugging.md","hi/natives/natives-media-system-utils.md","hi/natives/natives-rust-task-cancellation.md","hi/natives/natives-shell-pty-process.md","hi/natives/natives-text-search-pipeline.md","hi/natives/porting-to-natives.md","hi/providers/models.md","hi/providers/provider-streaming-internals.md","hi/providers/python-repl.md","hi/runtime-tools/bash-tool-runtime.md","hi/runtime-tools/context-command.md","hi/runtime-tools/custom-tools.md","hi/runtime-tools/notebook-tool-runtime.md","hi/runtime-tools/resolve-tool-runtime.md","hi/runtime-tools/slash-command-internals.md","hi/runtime-tools/task-agent-discovery.md","hi/sessions/compaction.md","hi/sessions/handoff-generation-pipeline.md","hi/sessions/memory.md","hi/sessions/non-compaction-retry-policy.md","hi/sessions/session-operations-export-share-fork-resume.md","hi/sessions/session-switching-and-recent-listing.md","hi/sessions/session-tree-plan.md","hi/sessions/session.md","hi/sessions/ttsr-injection-lifecycle.md","hi/tui/theme.md","hi/tui/tree.md","hi/tui/tui-runtime-internals.md","hi/tui/tui.md","it/configuration/blob-artifact-architecture.md","it/configuration/config-usage.md","it/configuration/environment-variables.md","it/configuration/fs-scan-cache-architecture.md","it/configuration/hooks.md","it/configuration/porting-from-pi-mono.md","it/configuration/rpc.md","it/configuration/sdk.md","it/configuration/secrets.md","it/extensions/extension-loading.md","it/extensions/extensions.md","it/extensions/gemini-manifest-extensions.md","it/extensions/marketplace.md","it/extensions/plugin-manager-installer-plumbing.md","it/extensions/rulebook-matching-pipeline.md","it/extensions/skills.md","it/index.md","it/mcp/mcp-config.md","it/mcp/mcp-protocol-transports.md","it/mcp/mcp-runtime-lifecycle.md","it/mcp/mcp-server-tool-authoring.md","it/natives/natives-addon-loader-runtime.md","it/natives/natives-architecture.md","it/natives/natives-binding-contract.md","it/natives/natives-build-release-debugging.md","it/natives/natives-media-system-utils.md","it/natives/natives-rust-task-cancellation.md","it/natives/natives-shell-pty-process.md","it/natives/natives-text-search-pipeline.md","it/natives/porting-to-natives.md","it/providers/models.md","it/providers/provider-streaming-internals.md","it/providers/python-repl.md","it/runtime-tools/bash-tool-runtime.md","it/runtime-tools/context-command.md","it/runtime-tools/custom-tools.md","it/runtime-tools/notebook-tool-runtime.md","it/runtime-tools/resolve-tool-runtime.md","it/runtime-tools/slash-command-internals.md","it/runtime-tools/task-agent-discovery.md","it/sessions/compaction.md","it/sessions/handoff-generation-pipeline.md","it/sessions/memory.md","it/sessions/non-compaction-retry-policy.md","it/sessions/session-operations-export-share-fork-resume.md","it/sessions/session-switching-and-recent-listing.md","it/sessions/session-tree-plan.md","it/sessions/session.md","it/sessions/ttsr-injection-lifecycle.md","it/tui/theme.md","it/tui/tree.md","it/tui/tui-runtime-internals.md","it/tui/tui.md","ja/configuration/blob-artifact-architecture.md","ja/configuration/config-usage.md","ja/configuration/environment-variables.md","ja/configuration/fs-scan-cache-architecture.md","ja/configuration/hooks.md","ja/configuration/porting-from-pi-mono.md","ja/configuration/rpc.md","ja/configuration/sdk.md","ja/configuration/secrets.md","ja/extensions/extension-loading.md","ja/extensions/extensions.md","ja/extensions/gemini-manifest-extensions.md","ja/extensions/marketplace.md","ja/extensions/plugin-manager-installer-plumbing.md","ja/extensions/rulebook-matching-pipeline.md","ja/extensions/skills.md","ja/index.md","ja/mcp/mcp-config.md","ja/mcp/mcp-protocol-transports.md","ja/mcp/mcp-runtime-lifecycle.md","ja/mcp/mcp-server-tool-authoring.md","ja/natives/natives-addon-loader-runtime.md","ja/natives/natives-architecture.md","ja/natives/natives-binding-contract.md","ja/natives/natives-build-release-debugging.md","ja/natives/natives-media-system-utils.md","ja/natives/natives-rust-task-cancellation.md","ja/natives/natives-shell-pty-process.md","ja/natives/natives-text-search-pipeline.md","ja/natives/porting-to-natives.md","ja/providers/models.md","ja/providers/provider-streaming-internals.md","ja/providers/python-repl.md","ja/runtime-tools/bash-tool-runtime.md","ja/runtime-tools/context-command.md","ja/runtime-tools/custom-tools.md","ja/runtime-tools/notebook-tool-runtime.md","ja/runtime-tools/resolve-tool-runtime.md","ja/runtime-tools/slash-command-internals.md","ja/runtime-tools/task-agent-discovery.md","ja/sessions/compaction.md","ja/sessions/handoff-generation-pipeline.md","ja/sessions/memory.md","ja/sessions/non-compaction-retry-policy.md","ja/sessions/session-operations-export-share-fork-resume.md","ja/sessions/session-switching-and-recent-listing.md","ja/sessions/session-tree-plan.md","ja/sessions/session.md","ja/sessions/ttsr-injection-lifecycle.md","ja/tui/theme.md","ja/tui/tree.md","ja/tui/tui-runtime-internals.md","ja/tui/tui.md","ko/configuration/blob-artifact-architecture.md","ko/configuration/config-usage.md","ko/configuration/environment-variables.md","ko/configuration/fs-scan-cache-architecture.md","ko/configuration/hooks.md","ko/configuration/porting-from-pi-mono.md","ko/configuration/rpc.md","ko/configuration/sdk.md","ko/configuration/secrets.md","ko/extensions/extension-loading.md","ko/extensions/extensions.md","ko/extensions/gemini-manifest-extensions.md","ko/extensions/marketplace.md","ko/extensions/plugin-manager-installer-plumbing.md","ko/extensions/rulebook-matching-pipeline.md","ko/extensions/skills.md","ko/index.md","ko/mcp/mcp-config.md","ko/mcp/mcp-protocol-transports.md","ko/mcp/mcp-runtime-lifecycle.md","ko/mcp/mcp-server-tool-authoring.md","ko/natives/natives-addon-loader-runtime.md","ko/natives/natives-architecture.md","ko/natives/natives-binding-contract.md","ko/natives/natives-build-release-debugging.md","ko/natives/natives-media-system-utils.md","ko/natives/natives-rust-task-cancellation.md","ko/natives/natives-shell-pty-process.md","ko/natives/natives-text-search-pipeline.md","ko/natives/porting-to-natives.md","ko/providers/models.md","ko/providers/provider-streaming-internals.md","ko/providers/python-repl.md","ko/runtime-tools/bash-tool-runtime.md","ko/runtime-tools/context-command.md","ko/runtime-tools/custom-tools.md","ko/runtime-tools/notebook-tool-runtime.md","ko/runtime-tools/resolve-tool-runtime.md","ko/runtime-tools/slash-command-internals.md","ko/runtime-tools/task-agent-discovery.md","ko/sessions/compaction.md","ko/sessions/handoff-generation-pipeline.md","ko/sessions/memory.md","ko/sessions/non-compaction-retry-policy.md","ko/sessions/session-operations-export-share-fork-resume.md","ko/sessions/session-switching-and-recent-listing.md","ko/sessions/session-tree-plan.md","ko/sessions/session.md","ko/sessions/ttsr-injection-lifecycle.md","ko/tui/theme.md","ko/tui/tree.md","ko/tui/tui-runtime-internals.md","ko/tui/tui.md","pt-br/configuration/blob-artifact-architecture.md","pt-br/configuration/config-usage.md","pt-br/configuration/environment-variables.md","pt-br/configuration/fs-scan-cache-architecture.md","pt-br/configuration/hooks.md","pt-br/configuration/porting-from-pi-mono.md","pt-br/configuration/rpc.md","pt-br/configuration/sdk.md","pt-br/configuration/secrets.md","pt-br/extensions/extension-loading.md","pt-br/extensions/extensions.md","pt-br/extensions/gemini-manifest-extensions.md","pt-br/extensions/marketplace.md","pt-br/extensions/plugin-manager-installer-plumbing.md","pt-br/extensions/rulebook-matching-pipeline.md","pt-br/extensions/skills.md","pt-br/index.md","pt-br/mcp/mcp-config.md","pt-br/mcp/mcp-protocol-transports.md","pt-br/mcp/mcp-runtime-lifecycle.md","pt-br/mcp/mcp-server-tool-authoring.md","pt-br/natives/natives-addon-loader-runtime.md","pt-br/natives/natives-architecture.md","pt-br/natives/natives-binding-contract.md","pt-br/natives/natives-build-release-debugging.md","pt-br/natives/natives-media-system-utils.md","pt-br/natives/natives-rust-task-cancellation.md","pt-br/natives/natives-shell-pty-process.md","pt-br/natives/natives-text-search-pipeline.md","pt-br/natives/porting-to-natives.md","pt-br/providers/models.md","pt-br/providers/provider-streaming-internals.md","pt-br/providers/python-repl.md","pt-br/runtime-tools/bash-tool-runtime.md","pt-br/runtime-tools/context-command.md","pt-br/runtime-tools/custom-tools.md","pt-br/runtime-tools/notebook-tool-runtime.md","pt-br/runtime-tools/resolve-tool-runtime.md","pt-br/runtime-tools/slash-command-internals.md","pt-br/runtime-tools/task-agent-discovery.md","pt-br/sessions/compaction.md","pt-br/sessions/handoff-generation-pipeline.md","pt-br/sessions/memory.md","pt-br/sessions/non-compaction-retry-policy.md","pt-br/sessions/session-operations-export-share-fork-resume.md","pt-br/sessions/session-switching-and-recent-listing.md","pt-br/sessions/session-tree-plan.md","pt-br/sessions/session.md","pt-br/sessions/ttsr-injection-lifecycle.md","pt-br/tui/theme.md","pt-br/tui/tree.md","pt-br/tui/tui-runtime-internals.md","pt-br/tui/tui.md","th/configuration/blob-artifact-architecture.md","th/configuration/config-usage.md","th/configuration/environment-variables.md","th/configuration/fs-scan-cache-architecture.md","th/configuration/hooks.md","th/configuration/porting-from-pi-mono.md","th/configuration/rpc.md","th/configuration/sdk.md","th/configuration/secrets.md","th/extensions/extension-loading.md","th/extensions/extensions.md","th/extensions/gemini-manifest-extensions.md","th/extensions/marketplace.md","th/extensions/plugin-manager-installer-plumbing.md","th/extensions/rulebook-matching-pipeline.md","th/extensions/skills.md","th/index.md","th/mcp/mcp-config.md","th/mcp/mcp-protocol-transports.md","th/mcp/mcp-runtime-lifecycle.md","th/mcp/mcp-server-tool-authoring.md","th/natives/natives-addon-loader-runtime.md","th/natives/natives-architecture.md","th/natives/natives-binding-contract.md","th/natives/natives-build-release-debugging.md","th/natives/natives-media-system-utils.md","th/natives/natives-rust-task-cancellation.md","th/natives/natives-shell-pty-process.md","th/natives/natives-text-search-pipeline.md","th/natives/porting-to-natives.md","th/providers/models.md","th/providers/provider-streaming-internals.md","th/providers/python-repl.md","th/runtime-tools/bash-tool-runtime.md","th/runtime-tools/context-command.md","th/runtime-tools/custom-tools.md","th/runtime-tools/notebook-tool-runtime.md","th/runtime-tools/resolve-tool-runtime.md","th/runtime-tools/slash-command-internals.md","th/runtime-tools/task-agent-discovery.md","th/sessions/compaction.md","th/sessions/handoff-generation-pipeline.md","th/sessions/memory.md","th/sessions/non-compaction-retry-policy.md","th/sessions/session-operations-export-share-fork-resume.md","th/sessions/session-switching-and-recent-listing.md","th/sessions/session-tree-plan.md","th/sessions/session.md","th/sessions/ttsr-injection-lifecycle.md","th/tui/theme.md","th/tui/tree.md","th/tui/tui-runtime-internals.md","th/tui/tui.md","zh-cn/configuration/blob-artifact-architecture.md","zh-cn/configuration/config-usage.md","zh-cn/configuration/environment-variables.md","zh-cn/configuration/fs-scan-cache-architecture.md","zh-cn/configuration/hooks.md","zh-cn/configuration/porting-from-pi-mono.md","zh-cn/configuration/rpc.md","zh-cn/configuration/sdk.md","zh-cn/configuration/secrets.md","zh-cn/extensions/extension-loading.md","zh-cn/extensions/extensions.md","zh-cn/extensions/gemini-manifest-extensions.md","zh-cn/extensions/marketplace.md","zh-cn/extensions/plugin-manager-installer-plumbing.md","zh-cn/extensions/rulebook-matching-pipeline.md","zh-cn/extensions/skills.md","zh-cn/index.md","zh-cn/mcp/mcp-config.md","zh-cn/mcp/mcp-protocol-transports.md","zh-cn/mcp/mcp-runtime-lifecycle.md","zh-cn/mcp/mcp-server-tool-authoring.md","zh-cn/natives/natives-addon-loader-runtime.md","zh-cn/natives/natives-architecture.md","zh-cn/natives/natives-binding-contract.md","zh-cn/natives/natives-build-release-debugging.md","zh-cn/natives/natives-media-system-utils.md","zh-cn/natives/natives-rust-task-cancellation.md","zh-cn/natives/natives-shell-pty-process.md","zh-cn/natives/natives-text-search-pipeline.md","zh-cn/natives/porting-to-natives.md","zh-cn/providers/models.md","zh-cn/providers/provider-streaming-internals.md","zh-cn/providers/python-repl.md","zh-cn/runtime-tools/bash-tool-runtime.md","zh-cn/runtime-tools/context-command.md","zh-cn/runtime-tools/custom-tools.md","zh-cn/runtime-tools/notebook-tool-runtime.md","zh-cn/runtime-tools/resolve-tool-runtime.md","zh-cn/runtime-tools/slash-command-internals.md","zh-cn/runtime-tools/task-agent-discovery.md","zh-cn/sessions/compaction.md","zh-cn/sessions/handoff-generation-pipeline.md","zh-cn/sessions/memory.md","zh-cn/sessions/non-compaction-retry-policy.md","zh-cn/sessions/session-operations-export-share-fork-resume.md","zh-cn/sessions/session-switching-and-recent-listing.md","zh-cn/sessions/session-tree-plan.md","zh-cn/sessions/session.md","zh-cn/sessions/ttsr-injection-lifecycle.md","zh-cn/tui/theme.md","zh-cn/tui/tree.md","zh-cn/tui/tui-runtime-internals.md","zh-cn/tui/tui.md","zh-tw/configuration/blob-artifact-architecture.md","zh-tw/configuration/config-usage.md","zh-tw/configuration/environment-variables.md","zh-tw/configuration/fs-scan-cache-architecture.md","zh-tw/configuration/hooks.md","zh-tw/configuration/porting-from-pi-mono.md","zh-tw/configuration/rpc.md","zh-tw/configuration/sdk.md","zh-tw/configuration/secrets.md","zh-tw/extensions/extension-loading.md","zh-tw/extensions/extensions.md","zh-tw/extensions/gemini-manifest-extensions.md","zh-tw/extensions/marketplace.md","zh-tw/extensions/plugin-manager-installer-plumbing.md","zh-tw/extensions/rulebook-matching-pipeline.md","zh-tw/extensions/skills.md","zh-tw/index.md","zh-tw/mcp/mcp-config.md","zh-tw/mcp/mcp-protocol-transports.md","zh-tw/mcp/mcp-runtime-lifecycle.md","zh-tw/mcp/mcp-server-tool-authoring.md","zh-tw/natives/natives-addon-loader-runtime.md","zh-tw/natives/natives-architecture.md","zh-tw/natives/natives-binding-contract.md","zh-tw/natives/natives-build-release-debugging.md","zh-tw/natives/natives-media-system-utils.md","zh-tw/natives/natives-rust-task-cancellation.md","zh-tw/natives/natives-shell-pty-process.md","zh-tw/natives/natives-text-search-pipeline.md","zh-tw/natives/porting-to-natives.md","zh-tw/providers/models.md","zh-tw/providers/provider-streaming-internals.md","zh-tw/providers/python-repl.md","zh-tw/runtime-tools/bash-tool-runtime.md","zh-tw/runtime-tools/context-command.md","zh-tw/runtime-tools/custom-tools.md","zh-tw/runtime-tools/notebook-tool-runtime.md","zh-tw/runtime-tools/resolve-tool-runtime.md","zh-tw/runtime-tools/slash-command-internals.md","zh-tw/runtime-tools/task-agent-discovery.md","zh-tw/sessions/compaction.md","zh-tw/sessions/handoff-generation-pipeline.md","zh-tw/sessions/memory.md","zh-tw/sessions/non-compaction-retry-policy.md","zh-tw/sessions/session-operations-export-share-fork-resume.md","zh-tw/sessions/session-switching-and-recent-listing.md","zh-tw/sessions/session-tree-plan.md","zh-tw/sessions/session.md","zh-tw/sessions/ttsr-injection-lifecycle.md","zh-tw/tui/theme.md","zh-tw/tui/tree.md","zh-tw/tui/tui-runtime-internals.md","zh-tw/tui/tui.md"];
3
+ export const EMBEDDED_DOC_FILENAMES: readonly string[] = ["SYSTEM_PROMPT_GUIDE.md","ar/configuration/blob-artifact-architecture.md","ar/configuration/config-usage.md","ar/configuration/environment-variables.md","ar/configuration/fs-scan-cache-architecture.md","ar/configuration/hooks.md","ar/configuration/porting-from-pi-mono.md","ar/configuration/rpc.md","ar/configuration/sdk.md","ar/configuration/secrets.md","ar/extensions/extension-loading.md","ar/extensions/extensions.md","ar/extensions/gemini-manifest-extensions.md","ar/extensions/marketplace.md","ar/extensions/plugin-manager-installer-plumbing.md","ar/extensions/rulebook-matching-pipeline.md","ar/extensions/skills.md","ar/index.md","ar/mcp/mcp-config.md","ar/mcp/mcp-protocol-transports.md","ar/mcp/mcp-runtime-lifecycle.md","ar/mcp/mcp-server-tool-authoring.md","ar/natives/natives-addon-loader-runtime.md","ar/natives/natives-architecture.md","ar/natives/natives-binding-contract.md","ar/natives/natives-build-release-debugging.md","ar/natives/natives-media-system-utils.md","ar/natives/natives-rust-task-cancellation.md","ar/natives/natives-shell-pty-process.md","ar/natives/natives-text-search-pipeline.md","ar/natives/porting-to-natives.md","ar/providers/models.md","ar/providers/provider-streaming-internals.md","ar/providers/python-repl.md","ar/runtime-tools/bash-tool-runtime.md","ar/runtime-tools/context-command.md","ar/runtime-tools/custom-tools.md","ar/runtime-tools/notebook-tool-runtime.md","ar/runtime-tools/resolve-tool-runtime.md","ar/runtime-tools/slash-command-internals.md","ar/runtime-tools/task-agent-discovery.md","ar/sessions/compaction.md","ar/sessions/handoff-generation-pipeline.md","ar/sessions/memory.md","ar/sessions/non-compaction-retry-policy.md","ar/sessions/session-operations-export-share-fork-resume.md","ar/sessions/session-switching-and-recent-listing.md","ar/sessions/session-tree-plan.md","ar/sessions/session.md","ar/sessions/ttsr-injection-lifecycle.md","ar/tui/theme.md","ar/tui/tree.md","ar/tui/tui-runtime-internals.md","ar/tui/tui.md","de/configuration/blob-artifact-architecture.md","de/configuration/config-usage.md","de/configuration/environment-variables.md","de/configuration/fs-scan-cache-architecture.md","de/configuration/hooks.md","de/configuration/porting-from-pi-mono.md","de/configuration/rpc.md","de/configuration/sdk.md","de/configuration/secrets.md","de/extensions/extension-loading.md","de/extensions/extensions.md","de/extensions/gemini-manifest-extensions.md","de/extensions/marketplace.md","de/extensions/plugin-manager-installer-plumbing.md","de/extensions/rulebook-matching-pipeline.md","de/extensions/skills.md","de/index.md","de/mcp/mcp-config.md","de/mcp/mcp-protocol-transports.md","de/mcp/mcp-runtime-lifecycle.md","de/mcp/mcp-server-tool-authoring.md","de/natives/natives-addon-loader-runtime.md","de/natives/natives-architecture.md","de/natives/natives-binding-contract.md","de/natives/natives-build-release-debugging.md","de/natives/natives-media-system-utils.md","de/natives/natives-rust-task-cancellation.md","de/natives/natives-shell-pty-process.md","de/natives/natives-text-search-pipeline.md","de/natives/porting-to-natives.md","de/providers/models.md","de/providers/provider-streaming-internals.md","de/providers/python-repl.md","de/runtime-tools/bash-tool-runtime.md","de/runtime-tools/context-command.md","de/runtime-tools/custom-tools.md","de/runtime-tools/notebook-tool-runtime.md","de/runtime-tools/resolve-tool-runtime.md","de/runtime-tools/slash-command-internals.md","de/runtime-tools/task-agent-discovery.md","de/sessions/compaction.md","de/sessions/handoff-generation-pipeline.md","de/sessions/memory.md","de/sessions/non-compaction-retry-policy.md","de/sessions/session-operations-export-share-fork-resume.md","de/sessions/session-switching-and-recent-listing.md","de/sessions/session-tree-plan.md","de/sessions/session.md","de/sessions/ttsr-injection-lifecycle.md","de/tui/theme.md","de/tui/tree.md","de/tui/tui-runtime-internals.md","de/tui/tui.md","en/configuration/blob-artifact-architecture.md","en/configuration/config-usage.md","en/configuration/environment-variables.md","en/configuration/fs-scan-cache-architecture.md","en/configuration/hooks.md","en/configuration/porting-from-pi-mono.md","en/configuration/rpc.md","en/configuration/sdk.md","en/configuration/secrets.md","en/extensions/extension-loading.md","en/extensions/extensions.md","en/extensions/gemini-manifest-extensions.md","en/extensions/marketplace.md","en/extensions/plugin-manager-installer-plumbing.md","en/extensions/rulebook-matching-pipeline.md","en/extensions/skills.md","en/index.md","en/mcp/mcp-config.md","en/mcp/mcp-protocol-transports.md","en/mcp/mcp-runtime-lifecycle.md","en/mcp/mcp-server-tool-authoring.md","en/natives/natives-addon-loader-runtime.md","en/natives/natives-architecture.md","en/natives/natives-binding-contract.md","en/natives/natives-build-release-debugging.md","en/natives/natives-media-system-utils.md","en/natives/natives-rust-task-cancellation.md","en/natives/natives-shell-pty-process.md","en/natives/natives-text-search-pipeline.md","en/natives/porting-to-natives.md","en/providers/models.md","en/providers/provider-streaming-internals.md","en/providers/python-repl.md","en/runtime-tools/bash-tool-runtime.md","en/runtime-tools/context-command.md","en/runtime-tools/custom-tools.md","en/runtime-tools/notebook-tool-runtime.md","en/runtime-tools/resolve-tool-runtime.md","en/runtime-tools/slash-command-internals.md","en/runtime-tools/task-agent-discovery.md","en/sessions/compaction.md","en/sessions/handoff-generation-pipeline.md","en/sessions/memory.md","en/sessions/non-compaction-retry-policy.md","en/sessions/session-operations-export-share-fork-resume.md","en/sessions/session-switching-and-recent-listing.md","en/sessions/session-tree-plan.md","en/sessions/session.md","en/sessions/ttsr-injection-lifecycle.md","en/tui/theme.md","en/tui/tree.md","en/tui/tui-runtime-internals.md","en/tui/tui.md","es/configuration/blob-artifact-architecture.md","es/configuration/config-usage.md","es/configuration/environment-variables.md","es/configuration/fs-scan-cache-architecture.md","es/configuration/hooks.md","es/configuration/porting-from-pi-mono.md","es/configuration/rpc.md","es/configuration/sdk.md","es/configuration/secrets.md","es/extensions/extension-loading.md","es/extensions/extensions.md","es/extensions/gemini-manifest-extensions.md","es/extensions/marketplace.md","es/extensions/plugin-manager-installer-plumbing.md","es/extensions/rulebook-matching-pipeline.md","es/extensions/skills.md","es/index.md","es/mcp/mcp-config.md","es/mcp/mcp-protocol-transports.md","es/mcp/mcp-runtime-lifecycle.md","es/mcp/mcp-server-tool-authoring.md","es/natives/natives-addon-loader-runtime.md","es/natives/natives-architecture.md","es/natives/natives-binding-contract.md","es/natives/natives-build-release-debugging.md","es/natives/natives-media-system-utils.md","es/natives/natives-rust-task-cancellation.md","es/natives/natives-shell-pty-process.md","es/natives/natives-text-search-pipeline.md","es/natives/porting-to-natives.md","es/providers/models.md","es/providers/provider-streaming-internals.md","es/providers/python-repl.md","es/runtime-tools/bash-tool-runtime.md","es/runtime-tools/context-command.md","es/runtime-tools/custom-tools.md","es/runtime-tools/notebook-tool-runtime.md","es/runtime-tools/resolve-tool-runtime.md","es/runtime-tools/slash-command-internals.md","es/runtime-tools/task-agent-discovery.md","es/sessions/compaction.md","es/sessions/handoff-generation-pipeline.md","es/sessions/memory.md","es/sessions/non-compaction-retry-policy.md","es/sessions/session-operations-export-share-fork-resume.md","es/sessions/session-switching-and-recent-listing.md","es/sessions/session-tree-plan.md","es/sessions/session.md","es/sessions/ttsr-injection-lifecycle.md","es/tui/theme.md","es/tui/tree.md","es/tui/tui-runtime-internals.md","es/tui/tui.md","fr/configuration/blob-artifact-architecture.md","fr/configuration/config-usage.md","fr/configuration/environment-variables.md","fr/configuration/fs-scan-cache-architecture.md","fr/configuration/hooks.md","fr/configuration/porting-from-pi-mono.md","fr/configuration/rpc.md","fr/configuration/sdk.md","fr/configuration/secrets.md","fr/extensions/extension-loading.md","fr/extensions/extensions.md","fr/extensions/gemini-manifest-extensions.md","fr/extensions/marketplace.md","fr/extensions/plugin-manager-installer-plumbing.md","fr/extensions/rulebook-matching-pipeline.md","fr/extensions/skills.md","fr/index.md","fr/mcp/mcp-config.md","fr/mcp/mcp-protocol-transports.md","fr/mcp/mcp-runtime-lifecycle.md","fr/mcp/mcp-server-tool-authoring.md","fr/natives/natives-addon-loader-runtime.md","fr/natives/natives-architecture.md","fr/natives/natives-binding-contract.md","fr/natives/natives-build-release-debugging.md","fr/natives/natives-media-system-utils.md","fr/natives/natives-rust-task-cancellation.md","fr/natives/natives-shell-pty-process.md","fr/natives/natives-text-search-pipeline.md","fr/natives/porting-to-natives.md","fr/providers/models.md","fr/providers/provider-streaming-internals.md","fr/providers/python-repl.md","fr/runtime-tools/bash-tool-runtime.md","fr/runtime-tools/context-command.md","fr/runtime-tools/custom-tools.md","fr/runtime-tools/notebook-tool-runtime.md","fr/runtime-tools/resolve-tool-runtime.md","fr/runtime-tools/slash-command-internals.md","fr/runtime-tools/task-agent-discovery.md","fr/sessions/compaction.md","fr/sessions/handoff-generation-pipeline.md","fr/sessions/memory.md","fr/sessions/non-compaction-retry-policy.md","fr/sessions/session-operations-export-share-fork-resume.md","fr/sessions/session-switching-and-recent-listing.md","fr/sessions/session-tree-plan.md","fr/sessions/session.md","fr/sessions/ttsr-injection-lifecycle.md","fr/tui/theme.md","fr/tui/tree.md","fr/tui/tui-runtime-internals.md","fr/tui/tui.md","hi/configuration/blob-artifact-architecture.md","hi/configuration/config-usage.md","hi/configuration/environment-variables.md","hi/configuration/fs-scan-cache-architecture.md","hi/configuration/hooks.md","hi/configuration/porting-from-pi-mono.md","hi/configuration/rpc.md","hi/configuration/sdk.md","hi/configuration/secrets.md","hi/extensions/extension-loading.md","hi/extensions/extensions.md","hi/extensions/gemini-manifest-extensions.md","hi/extensions/marketplace.md","hi/extensions/plugin-manager-installer-plumbing.md","hi/extensions/rulebook-matching-pipeline.md","hi/extensions/skills.md","hi/index.md","hi/mcp/mcp-config.md","hi/mcp/mcp-protocol-transports.md","hi/mcp/mcp-runtime-lifecycle.md","hi/mcp/mcp-server-tool-authoring.md","hi/natives/natives-addon-loader-runtime.md","hi/natives/natives-architecture.md","hi/natives/natives-binding-contract.md","hi/natives/natives-build-release-debugging.md","hi/natives/natives-media-system-utils.md","hi/natives/natives-rust-task-cancellation.md","hi/natives/natives-shell-pty-process.md","hi/natives/natives-text-search-pipeline.md","hi/natives/porting-to-natives.md","hi/providers/models.md","hi/providers/provider-streaming-internals.md","hi/providers/python-repl.md","hi/runtime-tools/bash-tool-runtime.md","hi/runtime-tools/context-command.md","hi/runtime-tools/custom-tools.md","hi/runtime-tools/notebook-tool-runtime.md","hi/runtime-tools/resolve-tool-runtime.md","hi/runtime-tools/slash-command-internals.md","hi/runtime-tools/task-agent-discovery.md","hi/sessions/compaction.md","hi/sessions/handoff-generation-pipeline.md","hi/sessions/memory.md","hi/sessions/non-compaction-retry-policy.md","hi/sessions/session-operations-export-share-fork-resume.md","hi/sessions/session-switching-and-recent-listing.md","hi/sessions/session-tree-plan.md","hi/sessions/session.md","hi/sessions/ttsr-injection-lifecycle.md","hi/tui/theme.md","hi/tui/tree.md","hi/tui/tui-runtime-internals.md","hi/tui/tui.md","it/configuration/blob-artifact-architecture.md","it/configuration/config-usage.md","it/configuration/environment-variables.md","it/configuration/fs-scan-cache-architecture.md","it/configuration/hooks.md","it/configuration/porting-from-pi-mono.md","it/configuration/rpc.md","it/configuration/sdk.md","it/configuration/secrets.md","it/extensions/extension-loading.md","it/extensions/extensions.md","it/extensions/gemini-manifest-extensions.md","it/extensions/marketplace.md","it/extensions/plugin-manager-installer-plumbing.md","it/extensions/rulebook-matching-pipeline.md","it/extensions/skills.md","it/index.md","it/mcp/mcp-config.md","it/mcp/mcp-protocol-transports.md","it/mcp/mcp-runtime-lifecycle.md","it/mcp/mcp-server-tool-authoring.md","it/natives/natives-addon-loader-runtime.md","it/natives/natives-architecture.md","it/natives/natives-binding-contract.md","it/natives/natives-build-release-debugging.md","it/natives/natives-media-system-utils.md","it/natives/natives-rust-task-cancellation.md","it/natives/natives-shell-pty-process.md","it/natives/natives-text-search-pipeline.md","it/natives/porting-to-natives.md","it/providers/models.md","it/providers/provider-streaming-internals.md","it/providers/python-repl.md","it/runtime-tools/bash-tool-runtime.md","it/runtime-tools/context-command.md","it/runtime-tools/custom-tools.md","it/runtime-tools/notebook-tool-runtime.md","it/runtime-tools/resolve-tool-runtime.md","it/runtime-tools/slash-command-internals.md","it/runtime-tools/task-agent-discovery.md","it/sessions/compaction.md","it/sessions/handoff-generation-pipeline.md","it/sessions/memory.md","it/sessions/non-compaction-retry-policy.md","it/sessions/session-operations-export-share-fork-resume.md","it/sessions/session-switching-and-recent-listing.md","it/sessions/session-tree-plan.md","it/sessions/session.md","it/sessions/ttsr-injection-lifecycle.md","it/tui/theme.md","it/tui/tree.md","it/tui/tui-runtime-internals.md","it/tui/tui.md","ja/configuration/blob-artifact-architecture.md","ja/configuration/config-usage.md","ja/configuration/environment-variables.md","ja/configuration/fs-scan-cache-architecture.md","ja/configuration/hooks.md","ja/configuration/porting-from-pi-mono.md","ja/configuration/rpc.md","ja/configuration/sdk.md","ja/configuration/secrets.md","ja/extensions/extension-loading.md","ja/extensions/extensions.md","ja/extensions/gemini-manifest-extensions.md","ja/extensions/marketplace.md","ja/extensions/plugin-manager-installer-plumbing.md","ja/extensions/rulebook-matching-pipeline.md","ja/extensions/skills.md","ja/index.md","ja/mcp/mcp-config.md","ja/mcp/mcp-protocol-transports.md","ja/mcp/mcp-runtime-lifecycle.md","ja/mcp/mcp-server-tool-authoring.md","ja/natives/natives-addon-loader-runtime.md","ja/natives/natives-architecture.md","ja/natives/natives-binding-contract.md","ja/natives/natives-build-release-debugging.md","ja/natives/natives-media-system-utils.md","ja/natives/natives-rust-task-cancellation.md","ja/natives/natives-shell-pty-process.md","ja/natives/natives-text-search-pipeline.md","ja/natives/porting-to-natives.md","ja/providers/models.md","ja/providers/provider-streaming-internals.md","ja/providers/python-repl.md","ja/runtime-tools/bash-tool-runtime.md","ja/runtime-tools/context-command.md","ja/runtime-tools/custom-tools.md","ja/runtime-tools/notebook-tool-runtime.md","ja/runtime-tools/resolve-tool-runtime.md","ja/runtime-tools/slash-command-internals.md","ja/runtime-tools/task-agent-discovery.md","ja/sessions/compaction.md","ja/sessions/handoff-generation-pipeline.md","ja/sessions/memory.md","ja/sessions/non-compaction-retry-policy.md","ja/sessions/session-operations-export-share-fork-resume.md","ja/sessions/session-switching-and-recent-listing.md","ja/sessions/session-tree-plan.md","ja/sessions/session.md","ja/sessions/ttsr-injection-lifecycle.md","ja/tui/theme.md","ja/tui/tree.md","ja/tui/tui-runtime-internals.md","ja/tui/tui.md","ko/configuration/blob-artifact-architecture.md","ko/configuration/config-usage.md","ko/configuration/environment-variables.md","ko/configuration/fs-scan-cache-architecture.md","ko/configuration/hooks.md","ko/configuration/porting-from-pi-mono.md","ko/configuration/rpc.md","ko/configuration/sdk.md","ko/configuration/secrets.md","ko/extensions/extension-loading.md","ko/extensions/extensions.md","ko/extensions/gemini-manifest-extensions.md","ko/extensions/marketplace.md","ko/extensions/plugin-manager-installer-plumbing.md","ko/extensions/rulebook-matching-pipeline.md","ko/extensions/skills.md","ko/index.md","ko/mcp/mcp-config.md","ko/mcp/mcp-protocol-transports.md","ko/mcp/mcp-runtime-lifecycle.md","ko/mcp/mcp-server-tool-authoring.md","ko/natives/natives-addon-loader-runtime.md","ko/natives/natives-architecture.md","ko/natives/natives-binding-contract.md","ko/natives/natives-build-release-debugging.md","ko/natives/natives-media-system-utils.md","ko/natives/natives-rust-task-cancellation.md","ko/natives/natives-shell-pty-process.md","ko/natives/natives-text-search-pipeline.md","ko/natives/porting-to-natives.md","ko/providers/models.md","ko/providers/provider-streaming-internals.md","ko/providers/python-repl.md","ko/runtime-tools/bash-tool-runtime.md","ko/runtime-tools/context-command.md","ko/runtime-tools/custom-tools.md","ko/runtime-tools/notebook-tool-runtime.md","ko/runtime-tools/resolve-tool-runtime.md","ko/runtime-tools/slash-command-internals.md","ko/runtime-tools/task-agent-discovery.md","ko/sessions/compaction.md","ko/sessions/handoff-generation-pipeline.md","ko/sessions/memory.md","ko/sessions/non-compaction-retry-policy.md","ko/sessions/session-operations-export-share-fork-resume.md","ko/sessions/session-switching-and-recent-listing.md","ko/sessions/session-tree-plan.md","ko/sessions/session.md","ko/sessions/ttsr-injection-lifecycle.md","ko/tui/theme.md","ko/tui/tree.md","ko/tui/tui-runtime-internals.md","ko/tui/tui.md","pt-br/configuration/blob-artifact-architecture.md","pt-br/configuration/config-usage.md","pt-br/configuration/environment-variables.md","pt-br/configuration/fs-scan-cache-architecture.md","pt-br/configuration/hooks.md","pt-br/configuration/porting-from-pi-mono.md","pt-br/configuration/rpc.md","pt-br/configuration/sdk.md","pt-br/configuration/secrets.md","pt-br/extensions/extension-loading.md","pt-br/extensions/extensions.md","pt-br/extensions/gemini-manifest-extensions.md","pt-br/extensions/marketplace.md","pt-br/extensions/plugin-manager-installer-plumbing.md","pt-br/extensions/rulebook-matching-pipeline.md","pt-br/extensions/skills.md","pt-br/index.md","pt-br/mcp/mcp-config.md","pt-br/mcp/mcp-protocol-transports.md","pt-br/mcp/mcp-runtime-lifecycle.md","pt-br/mcp/mcp-server-tool-authoring.md","pt-br/natives/natives-addon-loader-runtime.md","pt-br/natives/natives-architecture.md","pt-br/natives/natives-binding-contract.md","pt-br/natives/natives-build-release-debugging.md","pt-br/natives/natives-media-system-utils.md","pt-br/natives/natives-rust-task-cancellation.md","pt-br/natives/natives-shell-pty-process.md","pt-br/natives/natives-text-search-pipeline.md","pt-br/natives/porting-to-natives.md","pt-br/providers/models.md","pt-br/providers/provider-streaming-internals.md","pt-br/providers/python-repl.md","pt-br/runtime-tools/bash-tool-runtime.md","pt-br/runtime-tools/context-command.md","pt-br/runtime-tools/custom-tools.md","pt-br/runtime-tools/notebook-tool-runtime.md","pt-br/runtime-tools/resolve-tool-runtime.md","pt-br/runtime-tools/slash-command-internals.md","pt-br/runtime-tools/task-agent-discovery.md","pt-br/sessions/compaction.md","pt-br/sessions/handoff-generation-pipeline.md","pt-br/sessions/memory.md","pt-br/sessions/non-compaction-retry-policy.md","pt-br/sessions/session-operations-export-share-fork-resume.md","pt-br/sessions/session-switching-and-recent-listing.md","pt-br/sessions/session-tree-plan.md","pt-br/sessions/session.md","pt-br/sessions/ttsr-injection-lifecycle.md","pt-br/tui/theme.md","pt-br/tui/tree.md","pt-br/tui/tui-runtime-internals.md","pt-br/tui/tui.md","th/configuration/blob-artifact-architecture.md","th/configuration/config-usage.md","th/configuration/environment-variables.md","th/configuration/fs-scan-cache-architecture.md","th/configuration/hooks.md","th/configuration/porting-from-pi-mono.md","th/configuration/rpc.md","th/configuration/sdk.md","th/configuration/secrets.md","th/extensions/extension-loading.md","th/extensions/extensions.md","th/extensions/gemini-manifest-extensions.md","th/extensions/marketplace.md","th/extensions/plugin-manager-installer-plumbing.md","th/extensions/rulebook-matching-pipeline.md","th/extensions/skills.md","th/index.md","th/mcp/mcp-config.md","th/mcp/mcp-protocol-transports.md","th/mcp/mcp-runtime-lifecycle.md","th/mcp/mcp-server-tool-authoring.md","th/natives/natives-addon-loader-runtime.md","th/natives/natives-architecture.md","th/natives/natives-binding-contract.md","th/natives/natives-build-release-debugging.md","th/natives/natives-media-system-utils.md","th/natives/natives-rust-task-cancellation.md","th/natives/natives-shell-pty-process.md","th/natives/natives-text-search-pipeline.md","th/natives/porting-to-natives.md","th/providers/models.md","th/providers/provider-streaming-internals.md","th/providers/python-repl.md","th/runtime-tools/bash-tool-runtime.md","th/runtime-tools/context-command.md","th/runtime-tools/custom-tools.md","th/runtime-tools/notebook-tool-runtime.md","th/runtime-tools/resolve-tool-runtime.md","th/runtime-tools/slash-command-internals.md","th/runtime-tools/task-agent-discovery.md","th/sessions/compaction.md","th/sessions/handoff-generation-pipeline.md","th/sessions/memory.md","th/sessions/non-compaction-retry-policy.md","th/sessions/session-operations-export-share-fork-resume.md","th/sessions/session-switching-and-recent-listing.md","th/sessions/session-tree-plan.md","th/sessions/session.md","th/sessions/ttsr-injection-lifecycle.md","th/tui/theme.md","th/tui/tree.md","th/tui/tui-runtime-internals.md","th/tui/tui.md","zh-cn/configuration/blob-artifact-architecture.md","zh-cn/configuration/config-usage.md","zh-cn/configuration/environment-variables.md","zh-cn/configuration/fs-scan-cache-architecture.md","zh-cn/configuration/hooks.md","zh-cn/configuration/porting-from-pi-mono.md","zh-cn/configuration/rpc.md","zh-cn/configuration/sdk.md","zh-cn/configuration/secrets.md","zh-cn/extensions/extension-loading.md","zh-cn/extensions/extensions.md","zh-cn/extensions/gemini-manifest-extensions.md","zh-cn/extensions/marketplace.md","zh-cn/extensions/plugin-manager-installer-plumbing.md","zh-cn/extensions/rulebook-matching-pipeline.md","zh-cn/extensions/skills.md","zh-cn/index.md","zh-cn/mcp/mcp-config.md","zh-cn/mcp/mcp-protocol-transports.md","zh-cn/mcp/mcp-runtime-lifecycle.md","zh-cn/mcp/mcp-server-tool-authoring.md","zh-cn/natives/natives-addon-loader-runtime.md","zh-cn/natives/natives-architecture.md","zh-cn/natives/natives-binding-contract.md","zh-cn/natives/natives-build-release-debugging.md","zh-cn/natives/natives-media-system-utils.md","zh-cn/natives/natives-rust-task-cancellation.md","zh-cn/natives/natives-shell-pty-process.md","zh-cn/natives/natives-text-search-pipeline.md","zh-cn/natives/porting-to-natives.md","zh-cn/providers/models.md","zh-cn/providers/provider-streaming-internals.md","zh-cn/providers/python-repl.md","zh-cn/runtime-tools/bash-tool-runtime.md","zh-cn/runtime-tools/context-command.md","zh-cn/runtime-tools/custom-tools.md","zh-cn/runtime-tools/notebook-tool-runtime.md","zh-cn/runtime-tools/resolve-tool-runtime.md","zh-cn/runtime-tools/slash-command-internals.md","zh-cn/runtime-tools/task-agent-discovery.md","zh-cn/sessions/compaction.md","zh-cn/sessions/handoff-generation-pipeline.md","zh-cn/sessions/memory.md","zh-cn/sessions/non-compaction-retry-policy.md","zh-cn/sessions/session-operations-export-share-fork-resume.md","zh-cn/sessions/session-switching-and-recent-listing.md","zh-cn/sessions/session-tree-plan.md","zh-cn/sessions/session.md","zh-cn/sessions/ttsr-injection-lifecycle.md","zh-cn/tui/theme.md","zh-cn/tui/tree.md","zh-cn/tui/tui-runtime-internals.md","zh-cn/tui/tui.md","zh-tw/configuration/blob-artifact-architecture.md","zh-tw/configuration/config-usage.md","zh-tw/configuration/environment-variables.md","zh-tw/configuration/fs-scan-cache-architecture.md","zh-tw/configuration/hooks.md","zh-tw/configuration/porting-from-pi-mono.md","zh-tw/configuration/rpc.md","zh-tw/configuration/sdk.md","zh-tw/configuration/secrets.md","zh-tw/extensions/extension-loading.md","zh-tw/extensions/extensions.md","zh-tw/extensions/gemini-manifest-extensions.md","zh-tw/extensions/marketplace.md","zh-tw/extensions/plugin-manager-installer-plumbing.md","zh-tw/extensions/rulebook-matching-pipeline.md","zh-tw/extensions/skills.md","zh-tw/index.md","zh-tw/mcp/mcp-config.md","zh-tw/mcp/mcp-protocol-transports.md","zh-tw/mcp/mcp-runtime-lifecycle.md","zh-tw/mcp/mcp-server-tool-authoring.md","zh-tw/natives/natives-addon-loader-runtime.md","zh-tw/natives/natives-architecture.md","zh-tw/natives/natives-binding-contract.md","zh-tw/natives/natives-build-release-debugging.md","zh-tw/natives/natives-media-system-utils.md","zh-tw/natives/natives-rust-task-cancellation.md","zh-tw/natives/natives-shell-pty-process.md","zh-tw/natives/natives-text-search-pipeline.md","zh-tw/natives/porting-to-natives.md","zh-tw/providers/models.md","zh-tw/providers/provider-streaming-internals.md","zh-tw/providers/python-repl.md","zh-tw/runtime-tools/bash-tool-runtime.md","zh-tw/runtime-tools/context-command.md","zh-tw/runtime-tools/custom-tools.md","zh-tw/runtime-tools/notebook-tool-runtime.md","zh-tw/runtime-tools/resolve-tool-runtime.md","zh-tw/runtime-tools/slash-command-internals.md","zh-tw/runtime-tools/task-agent-discovery.md","zh-tw/sessions/compaction.md","zh-tw/sessions/handoff-generation-pipeline.md","zh-tw/sessions/memory.md","zh-tw/sessions/non-compaction-retry-policy.md","zh-tw/sessions/session-operations-export-share-fork-resume.md","zh-tw/sessions/session-switching-and-recent-listing.md","zh-tw/sessions/session-tree-plan.md","zh-tw/sessions/session.md","zh-tw/sessions/ttsr-injection-lifecycle.md","zh-tw/tui/theme.md","zh-tw/tui/tree.md","zh-tw/tui/tui-runtime-internals.md","zh-tw/tui/tui.md"];
4
4
 
5
5
  export const EMBEDDED_DOCS: Readonly<Record<string, string>> = {
6
+ "SYSTEM_PROMPT_GUIDE.md": "# Anthropic System Prompting Best Practices Standard\n\nThis document defines the authoritative engineering standard for authoring, refactoring, and maintaining system prompts, agent instructions, and skills across all f5-sales-demo repositories and xcsh AI assistant plugins.\n\nAll system prompts and agent instructions must strictly adhere to this 8-point checklist.\n\n---\n\n## The 8-Point System Prompt Checklist\n\n### 1. XML Tag Hierarchy & Semantic Framing\n- **Standard**: Wrap logical prompt sections in clean, explicit XML tags (`<role>`, `<defensive_scope>`, `<governance>`, `<operational_standards>`, `<execution_protocol>`, `<examples>`, `<structured_reporting>`).\n- **Rationale**: Claude models are optimized to recognize XML tags as deterministic structural boundaries. Using XML tags prevents context confusion, isolates directives, and ensures consistent rule adherence.\n\n### 2. Affirmative Guidance over Negative Prohibitions\n- **Standard**: Frame all operational boundaries, rules, and workflows using positive, action-oriented directives (*what TO do*). Eliminate negative panic keywords (`HALT immediately`, `STOP`, `DON'T`, `NEVER`, `PROHIBITED`).\n- **Rationale**: Negative prohibition language induces cognitive friction and model freezing, causing the assistant to become overly hesitant or refuse valid execution paths. Affirmative guidance provides a clear forward direction.\n\n### 3. Actionable Rationale (\"Why\" Explanations)\n- **Standard**: Pair every guideline, constraint, or workflow step with an explicit explanation of *why* the rule exists and what outcome it guarantees.\n- **Rationale**: Providing rationale equips the model with the underlying engineering intent. This allows Claude to reason safely and adapt flexibly in novel edge cases rather than failing when encountering unexpected inputs.\n\n### 4. Progressive Context Loading & Modular Hierarchy\n- **Standard**: Keep top-level system prompts concise and focused on core persona, scope, and high-level routing. Place granular tool schemas, raw API curl specs, and detailed multi-step SOPs into dynamically loaded skills or specialized subagents.\n- **Rationale**: Progressive context loading prevents prompt bloat, reduces token overhead, avoids recency bias degradation, and maximizes model attention on the immediate task.\n\n### 5. Expert Persona & Professional Confidence\n- **Standard**: Anchor the assistant or agent with an authoritative, expert persona (*\"You are the GitHub Operations Expert agent...\"*) that approaches tasks with professional confidence, precision, and mastery.\n- **Rationale**: An expert persona establishes domain authority, enhances task execution precision, and encourages autonomous problem-solving within safety boundaries.\n\n### 6. Constructive Fallback Paths (Forward Progress)\n- **Standard**: Provide constructive forward-progress actions for handling missing parameters, ambiguous inputs, or transient API errors instead of halting or throwing panic errors.\n- **Rationale**: Forward progress logic guarantees continuous execution, prompting the caller or retrieving missing context proactively.\n\n### 7. Canonical Few-Shot Examples\n- **Standard**: For complex output structures, status reports, or reasoning patterns, provide clean, canonical few-shot examples wrapped in `<examples>` tags, using `<thinking>` blocks when demonstrating multi-step reasoning.\n- **Rationale**: Few-shot examples ground the model's output formatting far more effectively than abstract rules alone.\n\n### 8. Security Guardrails as High-Rigor Engineering Standards\n- **Standard**: Frame security guardrails (credential protection, input sanitization, worktree isolation, commit history integrity) as standard software craftsmanship and high-rigor engineering practices.\n- **Rationale**: Framing safeguards as standard professional practices integrates security seamlessly without triggering timid refusal behavior.\n\n---\n\n## Verification & Audit Standard\n\nPrior to merging any new or updated prompt file (`*.md` agents, system prompts, or skills), verify compliance against the 8-point checklist above.\n",
6
7
  "ar/configuration/blob-artifact-architecture.md": "---\ntitle: بنية تخزين البيانات الثنائية والقطع الأثرية\ndescription: >-\n مخزن البيانات الثنائية القابل للعنونة بالمحتوى وسجل القطع الأثرية لوسائط\n الجلسة، ولقطات الشاشة، ومخرجات الأدوات.\nsidebar:\n order: 7\n label: تخزين البيانات الثنائية والقطع الأثرية\ni18n:\n sourceHash: 7a8855b81324\n translator: machine\n---\n\n# بنية تخزين البيانات الثنائية والقطع الأثرية\n\nيصف هذا المستند كيفية قيام وكيل الترميز بتخزين الحمولات الكبيرة/الثنائية خارج جلسة JSONL، وكيفية استمرار مخرجات الأدوات المقتطعة، وكيفية تحليل عناوين URL الداخلية (`artifact://`، `agent://`) إلى البيانات المخزنة.\n\n## سبب وجود نظامَي تخزين\n\nيستخدم وقت التشغيل آليتَين مختلفتَين للاستمرارية لأشكال بيانات مختلفة:\n\n- **البيانات الثنائية المعنونة بالمحتوى** (`blob:sha256:<hash>`): تخزين عام موجّه للثنائيات يُستخدم لاستخراج حمولات base64 للصور الكبيرة من إدخالات الجلسة المستمرة.\n- **القطع الأثرية محددة النطاق بالجلسة** (ملفات تحت `<sessionFile-without-.jsonl>/`): ملفات نصية لكل جلسة تُستخدم للمخرجات الكاملة للأدوات ومخرجات الوكلاء الفرعيين.\n\nهما مفصولان عمداً:\n\n- يُحسّن تخزين البيانات الثنائية إلغاء التكرار والمراجع الثابتة بواسطة تجزئة المحتوى،\n- يُحسّن تخزين القطع الأثرية أدوات الجلسة للإلحاق فقط واسترجاع المستخدم/الأداة بواسطة معرفات محلية.\n\n## حدود التخزين والتخطيط على القرص\n\n## حد مخزن البيانات الثنائية (عام)\n\nينشئ `SessionManager` الكائن `BlobStore(getBlobsDir())`، لذا تقع ملفات البيانات الثنائية في دليل بيانات ثنائية مشترك عام (وليس في مجلد جلسة).\n\nتسمية ملفات البيانات الثنائية:\n\n- مسار الملف: `<blobsDir>/<sha256-hex>`\n- بدون امتداد\n- سلسلة المرجع المخزنة في الإدخالات: `blob:sha256:<sha256-hex>`\n\nالآثار المترتبة:\n\n- يتحلل نفس المحتوى الثنائي عبر الجلسات إلى نفس التجزئة/المسار،\n- الكتابات تكون مكافئة على مستوى المحتوى،\n- يمكن أن تتجاوز البيانات الثنائية أي ملف جلسة فردي.\n\n## حد القطع الأثرية (محلي للجلسة)\n\nيشتق `ArtifactManager` دليل القطع الأثرية من مسار ملف الجلسة:\n\n- ملف الجلسة: `.../<timestamp>_<sessionId>.jsonl`\n- دليل القطع الأثرية: `.../<timestamp>_<sessionId>/` (احذف `.jsonl`)\n\nتشترك أنواع القطع الأثرية في هذا الدليل:\n\n- ملفات مخرجات الأدوات المقتطعة: `<numericId>.<toolType>.log` (لـ `artifact://`)\n- ملفات مخرجات الوكيل الفرعي: `<outputId>.md` (لـ `agent://`)\n\n## مخططات تخصيص المعرف والاسم\n\n## معرفات البيانات الثنائية: تجزئة المحتوى\n\nتحسب `BlobStore.put()` SHA-256 على البايتات الثنائية الخام وتُعيد:\n\n- `hash`: ملخص سداسي عشري،\n- `path`: `<blobsDir>/<hash>`،\n- `ref`: `blob:sha256:<hash>`.\n\nلا يُستخدم عداد محلي للجلسة.\n\n## معرفات القطع الأثرية: عدد صحيح تصاعدي محلي للجلسة\n\nيفحص `ArtifactManager` ملفات القطع الأثرية `*.log` الموجودة عند الاستخدام الأول لإيجاد الحد الأقصى للمعرف الرقمي الموجود ويضبط `nextId = max + 1`.\n\nسلوك التخصيص:\n\n- تنسيق الملف: `{id}.{toolType}.log`\n- المعرفات هي سلاسل متسلسلة (`\"0\"`، `\"1\"`، ...)\n- لا يُكتب فوق القطع الأثرية الموجودة عند الاستئناف لأن الفحص يحدث قبل التخصيص.\n\nإذا كان دليل القطع الأثرية مفقوداً، يُعيد الفحص قائمة فارغة ويبدأ التخصيص من `0`.\n\n## معرفات مخرجات الوكيل (`agent://`)\n\nيُخصص `AgentOutputManager` المعرفات لمخرجات الوكيل الفرعي بصيغة `<index>-<requestedId>` (مدمجة اختيارياً تحت بادئة الأصل، مثل `0-Parent.1-Child`). يفحص ملفات `.md` الموجودة عند التهيئة لمواصلة الفهرس التالي عند الاستئناف.\n\n## تدفق بيانات الاستمرارية\n\n## 1) مسار إعادة كتابة استمرارية إدخال الجلسة\n\nقبل كتابة إدخالات الجلسة (`#rewriteFile` / الاستمرارية التزايدية)، يستدعي `SessionManager` الدالة `prepareEntryForPersistence()` (عبر `truncateForPersistence`).\n\nالسلوكيات الرئيسية:\n\n1. **اقتطاع السلاسل الكبيرة**: تُقطع السلاسل الضخمة ويُضاف إليها اللاحقة `\"[Session persistence truncated large content]\"`.\n2. **تجريد الحقول العابرة**: تُحذف `partialJson` و`jsonlEvents` من الإدخالات المستمرة.\n3. **استخراج الصور إلى بيانات ثنائية**:\n - يُطبق فقط على كتل الصور في مصفوفات `content`،\n - فقط عندما لا تكون `data` مرجع بيانات ثنائية بالفعل،\n - فقط عندما يبلغ طول base64 الحد الأدنى (`BLOB_EXTERNALIZE_THRESHOLD = 1024`)،\n - يستبدل base64 المضمّن بـ `blob:sha256:<hash>`.\n\nيُبقي هذا جلسة JSONL مضغوطة مع الحفاظ على إمكانية الاسترداد.\n\n## 2) مسار إعادة ترطيب تحميل الجلسة\n\nعند فتح جلسة (`setSessionFile`)، وبعد عمليات الترحيل، يُشغّل `SessionManager` الدالة `resolveBlobRefsInEntries()`.\n\nلكل كتلة صورة رسالة/رسالة مخصصة تحتوي على `blob:sha256:<hash>`:\n\n- يقرأ بايتات البيانات الثنائية من مخزن البيانات الثنائية،\n- يحوّل البايتات مجدداً إلى base64،\n- يعدّل الإدخال في الذاكرة لتضمين base64 لمستهلكي وقت التشغيل.\n\nإذا كانت البيانات الثنائية مفقودة:\n\n- تسجّل `resolveImageData()` تحذيراً،\n- تُعيد سلسلة المرجع الأصلية دون تغيير،\n- يستمر التحميل (بدون عطل قسري).\n\n## 3) مسار تسرب/اقتطاع مخرجات الأداة\n\nيُشغّل `OutputSink` المخرجات المتدفقة في bash/python/ssh والمنفذين المرتبطين.\n\nالسلوك:\n\n1. يُعقّم كل جزء ويُلحق بمخزن الذيل في الذاكرة.\n2. عندما تتجاوز البايتات في الذاكرة عتبة التسرب (`DEFAULT_MAX_BYTES`، 50KB)، يُعلّم الحوض المخرجات على أنها مقتطعة.\n3. إذا كان مسار قطعة أثرية متاحاً، يفتح الحوض كاتب ملفات ويكتب:\n - المحتوى المؤقت الموجود مرة واحدة،\n - جميع الأجزاء اللاحقة.\n4. يُقلَّص المخزن في الذاكرة دائماً إلى نافذة الذيل للعرض.\n5. تُعيد `dump()` ملخصاً يتضمن `artifactId` فقط عند إنشاء حوض الملفات بنجاح.\n\nالتأثير العملي:\n\n- يُظهر واجهة المستخدم/إعادة أداة الذيل المقتطع،\n- يُحفظ المخرج الكامل في ملف قطعة أثرية ويُشار إليه بـ `artifact://<id>`.\n\nإذا فشل إنشاء حوض الملفات (خطأ إدخال/إخراج، مسار مفقود، إلخ)، يرجع الحوض بصمت إلى الاقتطاع في الذاكرة فقط؛ ولا يُستمر في حفظ المخرج الكامل.\n\n## نموذج وصول URL\n\n## مراجع `blob:`\n\n`blob:sha256:<hash>` هو مرجع استمرارية داخل حمولات إدخال الجلسة، وليس مخطط URL داخلي يعالجه الموجّه. يتم التحليل بواسطة `SessionManager` أثناء تحميل الجلسة.\n\n## `artifact://<id>`\n\nيعالجه `ArtifactProtocolHandler`:\n\n- يتطلب دليل قطع أثرية جلسة نشطة،\n- يجب أن يكون المعرف رقمياً،\n- يُحلَّل بمطابقة بادئة اسم الملف `<id>.`،\n- يُعيد نصاً خاماً (`text/plain`) من ملف `.log` المطابق،\n- عند الغياب، يتضمن الخطأ قائمة بمعرفات القطع الأثرية المتاحة.\n\nسلوك الدليل المفقود:\n\n- إذا كان دليل القطع الأثرية غير موجود، يُطلق استثناء `No artifacts directory found`.\n\n## `agent://<id>`\n\nيعالجه `AgentProtocolHandler` عبر `<artifactsDir>/<id>.md`:\n\n- يُعيد النموذج البسيط نص markdown،\n- يُجري نموذجا `/path` أو `?q=` استخراج JSON،\n- لا يمكن الجمع بين استخراج المسار والاستعلام،\n- إذا طُلب الاستخراج، يجب أن يُحلَّل محتوى الملف بصيغة JSON.\n\nسلوك الدليل المفقود:\n\n- يُطلق استثناء `No artifacts directory found`.\n\nسلوك المخرج المفقود:\n\n- يُطلق استثناء `Not found: <id>` مع المعرفات المتاحة من ملفات `.md` الموجودة.\n\nتكامل أداة القراءة:\n\n- تدعم `read` ترقيم الصفحات بالإزاحة/الحد لقراءات URL الداخلية غير الاستخراجية،\n- ترفض `offset/limit` عند استخدام استخراج `agent://`.\n\n## دلالات الاستئناف والتفرع والنقل\n\n## الاستئناف\n\n- يفحص `ArtifactManager` ملفات `{id}.*.log` الموجودة عند أول تخصيص ويواصل الترقيم.\n- يفحص `AgentOutputManager` معرفات مخرجات `.md` الموجودة ويواصل الترقيم.\n- يُعيد `SessionManager` ترطيب مراجع البيانات الثنائية إلى base64 عند التحميل.\n\n## التفرع\n\nيُنشئ `SessionManager.fork()` ملف جلسة جديد بمعرف جلسة جديد وارتباط `parentSession`، ثم يُعيد مسارات الملفات القديمة/الجديدة. تُعالج نسخة القطع الأثرية بواسطة `AgentSession.fork()`:\n\n- يحاول النسخ التكراري لدليل القطع الأثرية القديم إلى دليل القطع الأثرية الجديد،\n- يُتحمّل الدليل القديم المفقود،\n- تُسجَّل أخطاء النسخ غير ENOENT كتحذيرات ويكتمل التفرع على أي حال.\n\nآثار المعرفات بعد التفرع:\n\n- إذا نجح النسخ، تواصل عدادات القطع الأثرية في الجلسة الجديدة بعد الحد الأقصى للمعرف المنسوخ،\n- إذا فشل النسخ/تجاوزه، تبدأ معرفات قطع أثرية الجلسة الجديدة من `0`.\n\nآثار البيانات الثنائية بعد التفرع:\n\n- البيانات الثنائية عامة ومعنونة بالمحتوى، لذا لا يلزم نسخ دليل البيانات الثنائية.\n\n## الانتقال إلى مسار عمل جديد\n\nيُعيد `SessionManager.moveTo()` تسمية ملف الجلسة ودليل القطع الأثرية إلى دليل الجلسة الافتراضي الجديد، مع منطق التراجع إذا فشلت خطوة لاحقة. يُحافظ هذا على هوية القطع الأثرية مع إعادة توطين نطاق الجلسة.\n\n## معالجة الأعطال ومسارات الرجوع\n\n| الحالة | السلوك |\n| --- | --- |\n| ملف البيانات الثنائية مفقود أثناء إعادة الترطيب | التحذير والاحتفاظ بسلسلة المرجع `blob:sha256:` في الذاكرة |\n| قراءة البيانات الثنائية ENOENT عبر `BlobStore.get` | تُعيد `null` |\n| دليل القطع الأثرية مفقود (`ArtifactManager.listFiles`) | تُعيد قائمة فارغة (يمكن بدء التخصيص من جديد) |\n| دليل القطع الأثرية مفقود (`artifact://` / `agent://`) | يُطلق استثناء صريح `No artifacts directory found` |\n| معرف القطعة الأثرية غير موجود | يُطلق استثناء مع قائمة بالمعرفات المتاحة |\n| فشل تهيئة كاتب القطعة الأثرية في OutputSink | يواصل مع الاقتطاع بالذيل فقط (بدون قطعة أثرية للمخرج الكامل) |\n| لا يوجد ملف جلسة (بعض مسارات المهام) | تعود أداة المهمة إلى دليل قطع أثرية مؤقت لمخرجات الوكيل الفرعي |\n\n## استخراج البيانات الثنائية مقابل قطع الأثرية للمخرج النصي\n\n- **استخراج البيانات الثنائية** يُخصص لحمولات الصور الثنائية داخل محتوى إدخال الجلسة المستمرة؛ يستبدل base64 المضمّن في JSONL بمراجع محتوى ثابتة.\n- **القطع الأثرية** ملفات نصية عادية لمخرجات التنفيذ ومخرجات الوكيل الفرعي؛ يمكن عنونتها بواسطة معرفات محلية للجلسة عبر عناوين URL الداخلية.\n\nيتقاطع النظامان بشكل غير مباشر فقط (كلاهما يُقلل من تضخم جلسة JSONL) لكن لهما هوية وعمر ومسارات استرداد مختلفة.\n\n## ملفات التنفيذ\n\n- [`src/session/blob-store.ts`](https://github.com/f5-sales-demo/xcsh/blob/main/packages/coding-agent/src/session/blob-store.ts) — تنسيق مرجع البيانات الثنائية، والتجزئة، والوضع/الأخذ، ومساعدات الاستخراج/التحليل.\n- [`src/session/artifacts.ts`](https://github.com/f5-sales-demo/xcsh/blob/main/packages/coding-agent/src/session/artifacts.ts) — نموذج دليل قطع أثرية الجلسة وتخصيص معرف القطعة الأثرية الرقمي.\n- [`src/session/streaming-output.ts`](https://github.com/f5-sales-demo/xcsh/blob/main/packages/coding-agent/src/session/streaming-output.ts) — سلوك اقتطاع `OutputSink`/التسرب إلى الملف وبيانات الملخص.\n- [`src/session/session-manager.ts`](https://github.com/f5-sales-demo/xcsh/blob/main/packages/coding-agent/src/session/session-manager.ts) — تحويلات الاستمرارية، وإعادة ترطيب البيانات الثنائية عند التحميل، وتفاعلات تفرع/نقل الجلسة.\n- [`src/session/agent-session.ts`](https://github.com/f5-sales-demo/xcsh/blob/main/packages/coding-agent/src/session/agent-session.ts) — نسخ دليل القطع الأثرية أثناء التفرع التفاعلي.\n- [`src/tools/output-utils.ts`](https://github.com/f5-sales-demo/xcsh/blob/main/packages/coding-agent/src/tools/output-utils.ts) — تمهيد مدير قطع أثرية الأداة وتخصيص مسار القطعة الأثرية لكل أداة.\n- [`src/internal-urls/artifact-protocol.ts`](https://github.com/f5-sales-demo/xcsh/blob/main/packages/coding-agent/src/internal-urls/artifact-protocol.ts) — محلّل `artifact://`.\n- [`src/internal-urls/agent-protocol.ts`](https://github.com/f5-sales-demo/xcsh/blob/main/packages/coding-agent/src/internal-urls/agent-protocol.ts) — محلّل `agent://` + استخراج JSON.\n- [`src/sdk.ts`](https://github.com/f5-sales-demo/xcsh/blob/main/packages/coding-agent/src/sdk.ts) — توصيل موجّه URL الداخلي ومحلّل دليل القطع الأثرية.\n- [`src/task/output-manager.ts`](https://github.com/f5-sales-demo/xcsh/blob/main/packages/coding-agent/src/task/output-manager.ts) — تخصيص معرف مخرجات الوكيل محدد النطاق بالجلسة لـ `agent://`.\n- [`src/task/executor.ts`](https://github.com/f5-sales-demo/xcsh/blob/main/packages/coding-agent/src/task/executor.ts) — كتابة قطع أثرية مخرجات الوكيل الفرعي (`<id>.md`) والرجوع إلى دليل القطع الأثرية المؤقت.\n",
7
8
  "ar/configuration/config-usage.md": "---\ntitle: اكتشاف التكوين وحلّه\ndescription: >-\n كيف يكتشف xcsh التكوين ويحلّه ويُطبّق طبقاته من جذور المشروع والمستخدم\n والمؤسسة.\nsidebar:\n order: 1\n label: التكوين\ni18n:\n sourceHash: e38bd9792499\n translator: machine\n---\n\n# اكتشاف التكوين وحلّه\n\nيصف هذا المستند كيف يحلّ وكيل البرمجة (coding-agent) التكوين حالياً: أي الجذور يتم فحصها، وكيف تعمل الأسبقية، وكيف يُستهلك التكوين المحلول من قِبَل الإعدادات والمهارات والخطّافات (hooks) والأدوات والإضافات.\n\n## النطاق\n\nالتنفيذ الأساسي:\n\n- `src/config.ts`\n- `src/config/settings.ts`\n- `src/config/settings-schema.ts`\n- `src/discovery/builtin.ts`\n- `src/discovery/helpers.ts`\n\nنقاط التكامل الرئيسية:\n\n- `src/capability/index.ts`\n- `src/discovery/index.ts`\n- `src/extensibility/skills.ts`\n- `src/extensibility/hooks/loader.ts`\n- `src/extensibility/custom-tools/loader.ts`\n- `src/extensibility/extensions/loader.ts`\n\n---\n\n## تدفق الحلّ (مرئي)\n\n```text\n Config roots (ordered)\n┌───────────────────────────────────────┐\n│ 1) ~/.xcsh/agent + <cwd>/.xcsh │\n│ 2) ~/.claude + <cwd>/.claude │\n│ 3) ~/.codex + <cwd>/.codex │\n│ 4) ~/.gemini + <cwd>/.gemini │\n└───────────────────────────────────────┘\n │\n ▼\n config.ts helper resolution\n (getConfigDirs/findConfigFile/findNearest...)\n │\n ▼\n capability providers enumerate items\n (native, claude, codex, gemini, agents, etc.)\n │\n ▼\n priority sort + per-capability dedup\n │\n ▼\n subsystem-specific consumption\n (settings, skills, hooks, tools, extensions)\n```\n\n## 1) جذور التكوين وترتيب المصادر\n\n## الجذور القانونية\n\nيُعرّف `src/config.ts` قائمة أسبقية مصادر ثابتة:\n\n1. `.xcsh` (أصلي)\n2. `.claude`\n3. `.codex`\n4. `.gemini`\n\nالقواعد على مستوى المستخدم:\n\n- `~/.xcsh/agent`\n- `~/.claude`\n- `~/.codex`\n- `~/.gemini`\n\nالقواعد على مستوى المشروع:\n\n- `<cwd>/.xcsh`\n- `<cwd>/.claude`\n- `<cwd>/.codex`\n- `<cwd>/.gemini`\n\n`CONFIG_DIR_NAME` هو `.xcsh` (`packages/utils/src/dirs.ts`).\n\n## قيد مهم\n\nالمساعدات العامة في `src/config.ts` **لا** تتضمن `.pi` في ترتيب اكتشاف المصادر.\n\n---\n\n## 2) مساعدات الاكتشاف الأساسية (`src/config.ts`)\n\n## `getConfigDirs(subpath, options)`\n\nتُرجع مُدخلات مرتبة:\n\n- المُدخلات على مستوى المستخدم أولاً (حسب أسبقية المصدر)\n- ثم المُدخلات على مستوى المشروع (حسب نفس أسبقية المصدر)\n\nالخيارات:\n\n- `user` (الافتراضي `true`)\n- `project` (الافتراضي `true`)\n- `cwd` (الافتراضي `getProjectDir()`)\n- `existingOnly` (الافتراضي `false`)\n\nتُستخدم هذه الواجهة البرمجية لعمليات البحث عن التكوين المبنية على المجلدات (الأوامر، الخطّافات، الأدوات، الوكلاء، إلخ).\n\n## `findConfigFile(subpath, options)` / `findConfigFileWithMeta(...)`\n\nتبحث عن أول ملف موجود عبر القواعد المرتبة، وتُرجع أول تطابق (المسار فقط أو المسار + البيانات الوصفية).\n\n## `findAllNearestProjectConfigDirs(subpath, cwd)`\n\nتتنقل عبر المجلدات الأب صعوداً وتُرجع **أقرب مجلد موجود لكل قاعدة مصدر** (`.xcsh`، `.claude`، `.codex`، `.gemini`)، ثم تُرتّب النتائج حسب أسبقية المصدر.\n\nاستخدم هذه الدالة عندما يجب أن يُورَث تكوين المشروع من المجلدات الأب (سلوك المستودعات المتعددة/مساحات العمل المتداخلة).\n\n---\n\n## 3) غلاف ملف التكوين (`ConfigFile<T>` في `src/config.ts`)\n\n`ConfigFile<T>` هو المُحمّل المُتحقق من المخطط لملفات التكوين المفردة.\n\nالصيغ المدعومة:\n\n- `.yml` / `.yaml`\n- `.json` / `.jsonc`\n\nالسلوك:\n\n- يتحقق من البيانات المُحلّلة باستخدام AJV مقابل مخطط TypeBox المُقدّم.\n- يُخبّئ نتيجة التحميل حتى استدعاء `invalidate()`.\n- يُرجع نتيجة ثلاثية الحالة عبر `tryLoad()`:\n - `ok`\n - `not-found`\n - `error` (`ConfigError` مع سياق المخطط/التحليل)\n\nترحيل النسخ القديمة لا يزال مدعوماً:\n\n- إذا كان المسار المستهدف `.yml`/`.yaml`، يتم ترحيل ملف `.json` مجاور تلقائياً مرة واحدة (`migrateJsonToYml`).\n\n---\n\n## 4) نموذج حلّ الإعدادات (`src/config/settings.ts`)\n\nنموذج الإعدادات في وقت التشغيل مُطبّق بطبقات:\n\n1. الإعدادات العامة: `~/.xcsh/agent/config.yml`\n2. إعدادات المشروع: مُكتشفة عبر قدرة الإعدادات (`settings.json` من المزوّدين)\n3. التجاوزات في وقت التشغيل: في الذاكرة، غير مستمرة\n4. القيم الافتراضية للمخطط: من `SETTINGS_SCHEMA`\n\nمسار القراءة الفعّال:\n\n`defaults <- global <- project <- overrides`\n\nسلوك الكتابة:\n\n- `settings.set(...)` يكتب إلى الطبقة **العامة** (`config.yml`) ويُدرج عملية حفظ في الخلفية.\n- إعدادات المشروع هي للقراءة فقط من اكتشاف القدرات.\n\n## سلوك الترحيل لا يزال نشطاً\n\nعند بدء التشغيل، إذا كان `config.yml` مفقوداً:\n\n1. الترحيل من `~/.xcsh/agent/settings.json` (يُعاد تسميته إلى `.bak` عند النجاح)\n2. الدمج مع إعدادات قاعدة البيانات القديمة من `agent.db`\n3. كتابة النتيجة المدمجة إلى `config.yml`\n\nعمليات ترحيل على مستوى الحقول في `#migrateRawSettings`:\n\n- `queueMode` -> `steeringMode`\n- `ask.timeout` بالمللي ثانية -> بالثواني عندما تبدو القيمة القديمة كمللي ثانية (`> 1000`)\n- البنية القديمة المسطحة `theme: \"...\"` -> بنية `theme.dark/theme.light`\n\n---\n\n## 5) تكامل القدرات/الاكتشاف\n\nمعظم تدفقات تحميل التكوين غير الأساسية تمر عبر سجل القدرات (`src/capability/index.ts` + `src/discovery/index.ts`).\n\n## ترتيب المزوّدين\n\nيتم ترتيب المزوّدين حسب الأولوية الرقمية (الأعلى أولاً). أمثلة على الأولويات:\n\n- OMP الأصلي (`builtin.ts`): `100`\n- Claude: `80`\n- Codex / agents / Claude marketplace: `70`\n- Gemini: `60`\n\n```text\nProvider precedence (higher wins)\n\nnative (.xcsh) priority 100\nclaude priority 80\ncodex / agents / ... priority 70\ngemini priority 60\n```\n\n## دلالات إزالة التكرار\n\nتُعرّف القدرات `key(item)`:\n\n- نفس المفتاح => العنصر الأول يفوز (العنصر ذو الأولوية الأعلى/المُحمّل أولاً)\n- لا مفتاح (`undefined`) => لا إزالة تكرار، يتم الاحتفاظ بجميع العناصر\n\nالمفاتيح ذات الصلة:\n\n- المهارات: `name`\n- الأدوات: `name`\n- الخطّافات: `${type}:${tool}:${name}`\n- وحدات الإضافات: `name`\n- الإضافات: `name`\n- الإعدادات: لا إزالة تكرار (يتم الاحتفاظ بجميع العناصر)\n\n---\n\n## 6) سلوك المزوّد الأصلي `.xcsh` (`src/discovery/builtin.ts`)\n\nالمزوّد الأصلي (`id: native`) يقرأ من:\n\n- المشروع: `<cwd>/.xcsh/...`\n- المستخدم: `~/.xcsh/agent/...`\n\n### قاعدة قبول المجلد\n\n`builtin.ts` يتضمن جذر التكوين فقط إذا كان المجلد موجوداً **وغير فارغ** (`ifNonEmptyDir`).\n\n### التحميل الخاص بالنطاق\n\n- المهارات: `skills/*/SKILL.md`\n- أوامر الشرطة المائلة: `commands/*.md`\n- القواعد: `rules/*.{md,mdc}`\n- المطالبات: `prompts/*.md`\n- التعليمات: `instructions/*.md`\n- الخطّافات: `hooks/pre/*`، `hooks/post/*`\n- الأدوات: `tools/*.json|*.md` و `tools/<name>/index.ts`\n- وحدات الإضافات: مُكتشفة تحت `extensions/` (+ مصفوفة نصوص قديمة `settings.json.extensions`)\n- الإضافات: `extensions/<name>/gemini-extension.json`\n- قدرة الإعدادات: `settings.json`\n\n### فارق دقيق في البحث عن أقرب مشروع\n\nبالنسبة لـ `SYSTEM.md` و `XCSH.md`، يستخدم المزوّد الأصلي بحث أقرب مجلد `.xcsh` أب في المشروع (تصاعدي) لكنه لا يزال يشترط أن يكون مجلد `.xcsh` غير فارغ.\n\n---\n\n## 7) كيف تستهلك الأنظمة الفرعية الرئيسية التكوين\n\n## نظام الإعدادات الفرعي\n\n- `Settings.init()` يُحمّل `config.yml` العام + عناصر قدرة `settings.json` المُكتشفة على مستوى المشروع.\n- يتم دمج عناصر القدرات التي تحمل `level === \"project\"` فقط في طبقة المشروع.\n\n## نظام المهارات الفرعي\n\n- `extensibility/skills.ts` يُحمّل عبر `loadCapability(skillCapability.id, { cwd })`.\n- يُطبّق مفاتيح تبديل المصادر والمرشحات (`ignoredSkills`، `includeSkills`، مجلدات مخصصة).\n- مفاتيح التبديل ذات الأسماء القديمة لا تزال موجودة (`skills.enablePiUser`، `skills.enablePiProject`) لكنها تتحكم في المزوّد الأصلي (`provider === \"native\"`).\n\n## نظام الخطّافات الفرعي\n\n- `discoverAndLoadHooks()` يحلّ مسارات الخطّافات من قدرة الخطّافات + المسارات المُعدّة صراحةً.\n- ثم يُحمّل الوحدات عبر استيراد Bun.\n\n## نظام الأدوات الفرعي\n\n- `discoverAndLoadCustomTools()` يحلّ مسارات الأدوات من قدرة الأدوات + مسارات أدوات الإضافات + المسارات المُعدّة صراحةً.\n- ملفات الأدوات التصريحية `.md/.json` هي بيانات وصفية فقط؛ التحميل التنفيذي يتوقع وحدات شفرة.\n\n## نظام الإضافات الفرعي\n\n- `discoverAndLoadExtensions()` يحلّ وحدات الإضافات من قدرة وحدة الإضافات بالإضافة إلى المسارات الصريحة.\n- التنفيذ الحالي يحتفظ عمداً فقط بعناصر القدرات التي تحمل `_source.provider === \"native\"` قبل التحميل.\n\n---\n\n## 8) قواعد الأسبقية التي يمكن الاعتماد عليها\n\nاستخدم هذا النموذج الذهني:\n\n1. ترتيب مجلد المصدر من `config.ts` يُحدد ترتيب المسارات المرشحة.\n2. أولوية مزوّد القدرة تُحدد الأسبقية عبر المزوّدين.\n3. إزالة تكرار مفتاح القدرة تُحدد سلوك التعارض (الأول يفوز للقدرات ذات المفاتيح).\n4. منطق الدمج الخاص بالنظام الفرعي يمكن أن يُغيّر الأسبقية الفعّالة بشكل إضافي (خاصةً الإعدادات).\n\n### تحذير خاص بالإعدادات\n\nعناصر قدرة الإعدادات لا يتم إزالة تكرارها؛ `Settings.#loadProjectSettings()` يُجري دمجاً عميقاً لعناصر المشروع بالترتيب المُرجَع. لأن الدمج يُطبّق قيم العنصر الأحدث فوق القيم الأقدم، فإن سلوك التجاوز الفعّال يعتمد على ترتيب إصدار المزوّد، وليس فقط على دلالات مفتاح القدرة.\n\n---\n\n## 9) سلوكيات التوافق/القديمة لا تزال موجودة\n\n- ترحيل JSON -> YAML في `ConfigFile` للملفات المستهدفة بصيغة YAML.\n- ترحيل الإعدادات من `settings.json` و `agent.db` إلى `config.yml`.\n- عمليات ترحيل مفاتيح الإعدادات (`queueMode`، `ask.timeout`، `theme` المسطح).\n- توافق بيان الإضافات: المُحمّل يقبل كلاً من أقسام بيان `package.json.xcsh` و `package.json.pi`.\n- أسماء الإعدادات القديمة `skills.enablePiUser` / `skills.enablePiProject` لا تزال بوابات نشطة لمصدر المهارات الأصلي.\n\nإذا تمت إزالة مسارات التوافق هذه من الشفرة، حدّث هذا المستند فوراً؛ عدة سلوكيات في وقت التشغيل لا تزال تعتمد عليها اليوم.\n",
8
9
  "ar/configuration/environment-variables.md": "---\ntitle: متغيرات البيئة\ndescription: >-\n Runtime environment variable reference for xcsh configuration and behavior\n control.\nsidebar:\n order: 2\n label: متغيرات البيئة\ni18n:\n sourceHash: e2890f963c02\n translator: machine\n---\n\n# متغيرات البيئة (مرجع وقت التشغيل الحالي)\n\nهذا المرجع مُستمد من مسارات الشيفرة البرمجية الحالية في:\n\n- `packages/coding-agent/src/**`\n- `packages/ai/src/**` (حل المزود/المصادقة المُستخدم من قِبل coding-agent)\n- `packages/utils/src/**` و `packages/tui/src/**` حيث تؤثر تلك المتغيرات مباشرة على وقت تشغيل coding-agent\n\nيوثّق هذا المرجع السلوك النشط فقط.\n\n## نموذج الحل والأسبقية\n\nتستخدم معظم عمليات البحث في وقت التشغيل `$env` من `@f5-sales-demo/pi-utils` (`packages/utils/src/env.ts`).\n\nترتيب تحميل `$env`:\n\n1. بيئة العملية الحالية (`Bun.env`)\n2. ملف `.env` الخاص بالمشروع (`$PWD/.env`) للمفاتيح غير المُعيَّنة مسبقاً\n3. ملف `.env` الخاص بالمجلد الرئيسي (`~/.env`) للمفاتيح غير المُعيَّنة مسبقاً\n\nقاعدة إضافية في ملفات `.env`: يتم نسخ مفاتيح `XCSH_*` إلى مفاتيح `PI_*` أثناء التحليل.\n\n---\n\n## 1) مصادقة النموذج/المزود\n\nيتم استهلاك هذه المتغيرات عبر `getEnvApiKey()` (`packages/ai/src/stream.ts`) ما لم يُذكر خلاف ذلك.\n\n### بيانات اعتماد المزود الأساسية\n\n| المتغير | الاستخدام | مطلوب عند | ملاحظات / الأسبقية |\n|---------------------------------|---|---------------------------------------------------------------|-----------------------------------------------------------------------------------------------------|\n| `ANTHROPIC_OAUTH_TOKEN` | مصادقة Anthropic API | استخدام Anthropic مع مصادقة رمز OAuth | يأخذ الأسبقية على `ANTHROPIC_API_KEY` لحل مصادقة المزود |\n| `ANTHROPIC_API_KEY` | مصادقة Anthropic API | استخدام Anthropic بدون رمز OAuth | البديل الاحتياطي بعد `ANTHROPIC_OAUTH_TOKEN` |\n| `ANTHROPIC_FOUNDRY_API_KEY` | Anthropic عبر Azure Foundry / بوابة المؤسسات | تفعيل `CLAUDE_CODE_USE_FOUNDRY` | يأخذ الأسبقية على `ANTHROPIC_OAUTH_TOKEN` و `ANTHROPIC_API_KEY` عند تفعيل وضع Foundry |\n| `OPENAI_API_KEY` | مصادقة OpenAI | استخدام مزودي عائلة OpenAI بدون وسيط apiKey صريح | يُستخدم من قِبل مزودي OpenAI Completions/Responses |\n| `GEMINI_API_KEY` | مصادقة Google Gemini | استخدام نماذج مزود `google` | المفتاح الأساسي لتعيين مزود Gemini |\n| `GOOGLE_API_KEY` | مصادقة احتياطية لأداة صور Gemini | استخدام أداة `gemini_image` بدون `GEMINI_API_KEY` | يُستخدم من قِبل المسار الاحتياطي لأداة صور coding-agent |\n| `GROQ_API_KEY` | مصادقة Groq | استخدام نماذج Groq | |\n| `CEREBRAS_API_KEY` | مصادقة Cerebras | استخدام نماذج Cerebras | |\n| `TOGETHER_API_KEY` | مصادقة Together | استخدام مزود `together` | |\n| `HUGGINGFACE_HUB_TOKEN` | مصادقة Hugging Face | استخدام مزود `huggingface` | متغير بيئة رمز Hugging Face الأساسي |\n| `HF_TOKEN` | مصادقة Hugging Face | استخدام مزود `huggingface` | البديل الاحتياطي عندما يكون `HUGGINGFACE_HUB_TOKEN` غير مُعيَّن |\n| `SYNTHETIC_API_KEY` | مصادقة Synthetic | استخدام نماذج Synthetic | |\n| `NVIDIA_API_KEY` | مصادقة NVIDIA | استخدام مزود `nvidia` | |\n| `NANO_GPT_API_KEY` | مصادقة NanoGPT | استخدام مزود `nanogpt` | |\n| `VENICE_API_KEY` | مصادقة Venice | استخدام مزود `venice` | |\n| `LITELLM_API_KEY` | مصادقة LiteLLM | استخدام مزود `litellm` | مفتاح وكيل LiteLLM المتوافق مع OpenAI. عند تعيينه مع `LITELLM_BASE_URL`، يُمكّن التكوين التلقائي لـ `models.yml` |\n| `LM_STUDIO_API_KEY` | مصادقة LM Studio (اختياري) | استخدام مزود `lm-studio` مع مضيفين مُصادَق عليهم | عادةً يعمل LM Studio المحلي بدون مصادقة؛ أي رمز غير فارغ يعمل عند الحاجة لمفتاح |\n| `OLLAMA_API_KEY` | مصادقة Ollama (اختياري) | استخدام مزود `ollama` مع مضيفين مُصادَق عليهم | عادةً يعمل Ollama المحلي بدون مصادقة؛ أي رمز غير فارغ يعمل عند الحاجة لمفتاح |\n| `LLAMA_CPP_API_KEY` | مصادقة Ollama (اختياري) | استخدام `llama-server` مع معامل `--api-key` | عادةً يعمل llama.cpp المحلي بدون مصادقة؛ أي رمز غير فارغ يعمل عند تكوين مفتاح |\n| `XIAOMI_API_KEY` | مصادقة Xiaomi MiMo | استخدام مزود `xiaomi` | |\n| `MOONSHOT_API_KEY` | مصادقة Moonshot | استخدام مزود `moonshot` | |\n| `XAI_API_KEY` | مصادقة xAI | استخدام نماذج xAI | |\n| `OPENROUTER_API_KEY` | مصادقة OpenRouter | استخدام نماذج OpenRouter | يُستخدم أيضاً من قِبل أداة الصور عندما يكون المزود المفضل/التلقائي هو OpenRouter |\n| `MISTRAL_API_KEY` | مصادقة Mistral | استخدام نماذج Mistral | |\n| `ZAI_API_KEY` | مصادقة z.ai | استخدام نماذج z.ai | يُستخدم أيضاً من قِبل مزود بحث الويب z.ai |\n| `MINIMAX_API_KEY` | مصادقة MiniMax | استخدام مزود `minimax` | |\n| `MINIMAX_CODE_API_KEY` | مصادقة MiniMax Code | استخدام مزود `minimax-code` | |\n| `MINIMAX_CODE_CN_API_KEY` | مصادقة MiniMax Code CN | استخدام مزود `minimax-code-cn` | |\n| `OPENCODE_API_KEY` | مصادقة OpenCode | استخدام نماذج OpenCode | |\n| `QIANFAN_API_KEY` | مصادقة Qianfan | استخدام مزود `qianfan` | |\n| `QWEN_OAUTH_TOKEN` | مصادقة Qwen Portal | استخدام `qwen-portal` مع رمز OAuth | يأخذ الأسبقية على `QWEN_PORTAL_API_KEY` |\n| `QWEN_PORTAL_API_KEY` | مصادقة Qwen Portal | استخدام `qwen-portal` مع مفتاح API | البديل الاحتياطي بعد `QWEN_OAUTH_TOKEN` |\n| `ZENMUX_API_KEY` | مصادقة ZenMux | استخدام مزود `zenmux` | يُستخدم لمسارات ZenMux المتوافقة مع OpenAI وAnthropic |\n| `VLLM_API_KEY` | مصادقة/اكتشاف vLLM | استخدام مزود `vllm` (خوادم محلية متوافقة مع OpenAI) | أي قيمة غير فارغة تعمل للخوادم المحلية بدون مصادقة |\n| `CURSOR_ACCESS_TOKEN` | مصادقة مزود Cursor | استخدام مزود Cursor | |\n| `AI_GATEWAY_API_KEY` | مصادقة Vercel AI Gateway | استخدام مزود `vercel-ai-gateway` | |\n| `CLOUDFLARE_AI_GATEWAY_API_KEY` | مصادقة Cloudflare AI Gateway | استخدام مزود `cloudflare-ai-gateway` | يجب تكوين عنوان URL الأساسي كـ `https://gateway.ai.cloudflare.com/v1/<account>/<gateway>/anthropic` |\n\n### سلاسل رموز GitHub/Copilot\n\n| المتغير | الاستخدام | السلسلة |\n|---|---|---|\n| `COPILOT_GITHUB_TOKEN` | مصادقة مزود GitHub Copilot | `COPILOT_GITHUB_TOKEN` → `GH_TOKEN` → `GITHUB_TOKEN` |\n| `GH_TOKEN` | بديل Copilot الاحتياطي؛ مصادقة GitHub API في أداة استخراج الويب | في أداة استخراج الويب: `GITHUB_TOKEN` → `GH_TOKEN` |\n| `GITHUB_TOKEN` | بديل Copilot الاحتياطي؛ مصادقة GitHub API في أداة استخراج الويب | في أداة استخراج الويب: يُفحص قبل `GH_TOKEN` |\n\n---\n\n## 2) تكوين وقت التشغيل الخاص بالمزود\n\n### بوابة Anthropic Foundry (Azure / وكيل المؤسسات)\n\nعند تفعيل `CLAUDE_CODE_USE_FOUNDRY`، تتحول طلبات Anthropic إلى وضع Foundry:\n\n- يُحل عنوان URL الأساسي من `FOUNDRY_BASE_URL` (يبقى البديل الاحتياطي هو عنوان URL الأساسي للنموذج/الافتراضي إذا لم يُعيَّن).\n- يصبح حل مفتاح API لمزود `anthropic`:\n `ANTHROPIC_FOUNDRY_API_KEY` → `ANTHROPIC_OAUTH_TOKEN` → `ANTHROPIC_API_KEY`.\n- يتم تحليل `ANTHROPIC_CUSTOM_HEADERS` كأزواج `key: value` مفصولة بفاصلة/سطر جديد ودمجها في ترويسات الطلب.\n- يمكن حقن مواد TLS للعميل/الخادم من قيم البيئة:\n `NODE_EXTRA_CA_CERTS`، `CLAUDE_CODE_CLIENT_CERT`، `CLAUDE_CODE_CLIENT_KEY`.\n كل منها يقبل إما:\n - مسار نظام ملفات لمحتوى PEM، أو\n - PEM مضمّن (بما في ذلك تسلسلات `\\n` المُهرَّبة).\n\n| المتغير | نوع القيمة | السلوك |\n|---|---|---|\n| `CLAUDE_CODE_USE_FOUNDRY` | سلسلة شبيهة بالقيمة المنطقية (`1`، `true`، `yes`، `on`) | يُفعّل وضع Foundry لمزود Anthropic |\n| `FOUNDRY_BASE_URL` | سلسلة URL | عنوان URL الأساسي لنقطة نهاية Anthropic في وضع Foundry |\n| `ANTHROPIC_FOUNDRY_API_KEY` | سلسلة رمز | يُستخدم لـ `Authorization: Bearer <token>` |\n| `ANTHROPIC_CUSTOM_HEADERS` | سلسلة قائمة ترويسات | ترويسات إضافية؛ التنسيق `header-a: value, header-b: value` أو مفصولة بأسطر جديدة |\n| `NODE_EXTRA_CA_CERTS` | مسار PEM أو PEM مضمّن | سلسلة CA إضافية للتحقق من شهادة الخادم |\n| `CLAUDE_CODE_CLIENT_CERT` | مسار PEM أو PEM مضمّن | شهادة عميل mTLS |\n| `CLAUDE_CODE_CLIENT_KEY` | مسار PEM أو PEM مضمّن | مفتاح خاص لعميل mTLS (يجب أن يُقرن بالشهادة) |\n\n### Amazon Bedrock\n\n| المتغير | الافتراضي / السلوك |\n|---|---|\n| `AWS_REGION` | مصدر المنطقة الأساسي |\n| `AWS_DEFAULT_REGION` | البديل الاحتياطي إذا لم يُعيَّن `AWS_REGION` |\n| `AWS_PROFILE` | يُفعّل مسار مصادقة الملف الشخصي المُسمى |\n| `AWS_ACCESS_KEY_ID` + `AWS_SECRET_ACCESS_KEY` | يُفعّل مسار مصادقة مفتاح IAM |\n| `AWS_BEARER_TOKEN_BEDROCK` | يُفعّل مسار مصادقة رمز الحامل |\n| `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI` / `AWS_CONTAINER_CREDENTIALS_FULL_URI` | يُفعّل مسار بيانات اعتماد مهمة ECS |\n| `AWS_WEB_IDENTITY_TOKEN_FILE` + `AWS_ROLE_ARN` | يُفعّل مسار مصادقة هوية الويب |\n| `AWS_BEDROCK_SKIP_AUTH` | إذا كان `1`، يحقن بيانات اعتماد وهمية (سيناريوهات الوكيل/بدون مصادقة) |\n| `AWS_BEDROCK_FORCE_HTTP1` | إذا كان `1`، يفرض معالج طلبات Node HTTP/1 |\n\nالبديل الاحتياطي للمنطقة في شيفرة المزود: `options.region` → `AWS_REGION` → `AWS_DEFAULT_REGION` → `us-east-1`.\n\n### Azure OpenAI Responses\n\n| المتغير | الافتراضي / السلوك |\n|---|---|\n| `AZURE_OPENAI_API_KEY` | مطلوب ما لم يُمرر مفتاح API كخيار |\n| `AZURE_OPENAI_API_VERSION` | الافتراضي `v1` |\n| `AZURE_OPENAI_BASE_URL` | تجاوز مباشر لعنوان URL الأساسي |\n| `AZURE_OPENAI_RESOURCE_NAME` | يُستخدم لبناء عنوان URL الأساسي: `https://<resource>.openai.azure.com/openai/v1` |\n| `AZURE_OPENAI_DEPLOYMENT_NAME_MAP` | سلسلة تعيين اختيارية: `modelId=deploymentName,model2=deployment2` |\n\nحل عنوان URL الأساسي: خيار `azureBaseUrl` → بيئة `AZURE_OPENAI_BASE_URL` → اسم المورد من الخيار/البيئة → `model.baseUrl`.\n\n### Google Vertex AI\n\n| المتغير | مطلوب؟ | ملاحظات |\n|---|---|---|\n| `GOOGLE_CLOUD_PROJECT` | نعم (ما لم يُمرر في الخيارات) | البديل الاحتياطي: `GCLOUD_PROJECT` |\n| `GCLOUD_PROJECT` | بديل احتياطي | يُستخدم كمصدر بديل لمعرّف المشروع |\n| `GOOGLE_CLOUD_LOCATION` | نعم (ما لم يُمرر في الخيارات) | لا يوجد افتراضي في المزود |\n| `GOOGLE_APPLICATION_CREDENTIALS` | مشروط | إذا عُيِّن، يجب أن يكون الملف موجوداً؛ وإلا يُفحص مسار ADC الاحتياطي (`~/.config/gcloud/application_default_credentials.json`) |\n\n### Kimi\n\n| المتغير | الافتراضي / السلوك |\n|---|---|\n| `KIMI_CODE_OAUTH_HOST` | تجاوز مضيف OAuth الأساسي |\n| `KIMI_OAUTH_HOST` | تجاوز مضيف OAuth الاحتياطي |\n| `KIMI_CODE_BASE_URL` | يتجاوز عنوان URL الأساسي لنقطة نهاية استخدام Kimi (`usage/kimi.ts`) |\n\nسلسلة مضيف OAuth: `KIMI_CODE_OAUTH_HOST` → `KIMI_OAUTH_HOST` → `https://auth.kimi.com`.\n\n### توافق Antigravity/صور Gemini\n\n| المتغير | الافتراضي / السلوك |\n|---|---|\n| `PI_AI_ANTIGRAVITY_VERSION` | يتجاوز علامة إصدار وكيل المستخدم Antigravity في مزود Gemini CLI |\n\n### استجابات OpenAI Codex (عناصر التحكم بالميزات/التصحيح)\n\n| المتغير | السلوك |\n|---|---|\n| `PI_CODEX_DEBUG` | `1`/`true` يُفعّل تسجيل تصحيح مزود Codex |\n| `PI_CODEX_WEBSOCKET` | `1`/`true` يُفعّل تفضيل نقل websocket |\n| `PI_CODEX_WEBSOCKET_V2` | `1`/`true` يُفعّل مسار websocket v2 |\n| `PI_CODEX_WEBSOCKET_IDLE_TIMEOUT_MS` | تجاوز عدد صحيح موجب (الافتراضي 300000) |\n| `PI_CODEX_WEBSOCKET_RETRY_BUDGET` | تجاوز عدد صحيح غير سالب (الافتراضي 5) |\n| `PI_CODEX_WEBSOCKET_RETRY_DELAY_MS` | تجاوز قاعدة التراجع الأسي كعدد صحيح موجب (الافتراضي 500) |\n\n### تصحيح مزود Cursor\n\n| المتغير | السلوك |\n|---|---|\n| `DEBUG_CURSOR` | يُفعّل سجلات تصحيح المزود؛ `2`/`verbose` لمقتطفات حمولة مفصلة |\n| `DEBUG_CURSOR_LOG` | مسار ملف اختياري لإخراج سجل تصحيح JSONL |\n\n### مفتاح توافق ذاكرة التخزين المؤقت للموجهات\n\n| المتغير | السلوك |\n|---|---|\n| `PI_CACHE_RETENTION` | إذا كان `long`، يُفعّل الاحتفاظ الطويل حيث يكون مدعوماً (`anthropic`، `openai-responses`، حل احتفاظ Bedrock) |\n\n---\n\n## 3) النظام الفرعي لبحث الويب\n\n### بيانات اعتماد مزود البحث\n\n| المتغير | يُستخدم من قِبل |\n|---|---|\n| `EXA_API_KEY` | مزود بحث Exa وأدوات Exa MCP |\n| `BRAVE_API_KEY` | مزود بحث Brave |\n| `PERPLEXITY_API_KEY` | مزود بحث Perplexity في وضع مفتاح API |\n| `TAVILY_API_KEY` | مزود بحث Tavily |\n| `ZAI_API_KEY` | مزود بحث z.ai (يفحص أيضاً OAuth المُخزَّن في `agent.db`) |\n| `OPENAI_API_KEY` / Codex OAuth في DB | توفر/مصادقة مزود بحث Codex |\n\n### سلسلة مصادقة بحث الويب من Anthropic\n\nيحل `packages/coding-agent/src/web/search/auth.ts` بيانات اعتماد بحث الويب من Anthropic بهذا الترتيب:\n\n1. `ANTHROPIC_SEARCH_API_KEY` (+ اختيارياً `ANTHROPIC_SEARCH_BASE_URL`)\n2. إدخال مزود `models.json` مع `api: \"anthropic-messages\"`\n3. بيانات اعتماد Anthropic OAuth من `agent.db` (يجب ألا تنتهي صلاحيتها خلال مهلة 5 دقائق)\n4. بديل Anthropic العام الاحتياطي: مفتاح المزود (`ANTHROPIC_FOUNDRY_API_KEY`/`ANTHROPIC_OAUTH_TOKEN`/`ANTHROPIC_API_KEY`) + اختيارياً `ANTHROPIC_BASE_URL` (`FOUNDRY_BASE_URL` عند تفعيل وضع Foundry)\n\nالمتغيرات ذات الصلة:\n\n| المتغير | الافتراضي / السلوك |\n|---|---|\n| `ANTHROPIC_SEARCH_API_KEY` | مفتاح بحث صريح بأعلى أسبقية |\n| `ANTHROPIC_SEARCH_BASE_URL` | الافتراضي `https://api.anthropic.com` عند حذفه |\n| `ANTHROPIC_SEARCH_MODEL` | الافتراضي `claude-haiku-4-5` |\n| `ANTHROPIC_BASE_URL` | عنوان URL أساسي عام احتياطي لمسار المصادقة من المستوى 4 |\n\n### علامة سلوك تدفق Perplexity OAuth\n\n| المتغير | السلوك |\n|---|---|\n| `PI_AUTH_NO_BORROW` | إذا عُيِّن، يُعطّل مسار استعارة رمز التطبيق الأصلي في macOS في تدفق تسجيل دخول Perplexity |\n\n---\n\n## 4) أدوات Python ووقت تشغيل النواة\n\n| المتغير | الافتراضي / السلوك |\n|---|---|\n| `PI_PY` | تجاوز وضع أداة Python: `0`/`bash`=`bash-only`، `1`/`py`=`ipy-only`، `mix`/`both`=`both`؛ يتم تجاهل القيم غير الصالحة |\n| `PI_PYTHON_SKIP_CHECK` | إذا كان `1`، يتخطى فحوصات توفر نواة Python/فحوصات الإحماء |\n| `PI_PYTHON_GATEWAY_URL` | إذا عُيِّن، يستخدم بوابة نواة خارجية بدلاً من البوابة المشتركة المحلية |\n| `PI_PYTHON_GATEWAY_TOKEN` | رمز مصادقة اختياري للبوابة الخارجية (`Authorization: token <value>`) |\n| `PI_PYTHON_IPC_TRACE` | إذا كان `1`، يُفعّل مسار تتبع IPC منخفض المستوى في وحدة النواة |\n| `VIRTUAL_ENV` | مسار بيئة افتراضية بأعلى أسبقية لحل وقت تشغيل Python |\n\nسلوك شرطي إضافي:\n\n- إذا كان `BUN_ENV=test` أو `NODE_ENV=test`، تُعامل فحوصات توفر Python على أنها ناجحة ويُتخطى الإحماء.\n- تصفية بيئة Python ترفض مفاتيح API الشائعة وتسمح بمتغيرات الأساس الآمنة + بادئات `LC_`، `XDG_`، `PI_`.\n\n---\n\n## 5) مفاتيح تبديل سلوك الوكيل/وقت التشغيل\n\n| المتغير | الافتراضي / السلوك |\n|----------------------------|----------------------------------------------------------------------------------------------|\n| `PI_SMOL_MODEL` | تجاوز مؤقت لدور النموذج `smol` (خيار CLI `--smol` يأخذ الأسبقية) |\n| `PI_SLOW_MODEL` | تجاوز مؤقت لدور النموذج `slow` (خيار CLI `--slow` يأخذ الأسبقية) |\n| `PI_PLAN_MODEL` | تجاوز مؤقت لدور النموذج `plan` (خيار CLI `--plan` يأخذ الأسبقية) |\n| `PI_NO_TITLE` | إذا عُيِّن (أي قيمة غير فارغة)، يُعطّل التوليد التلقائي لعنوان الجلسة عند أول رسالة مستخدم |\n| `NULL_PROMPT` | إذا كان `true`، يُعيد منشئ موجه النظام سلسلة فارغة |\n| `PI_BLOCKED_AGENT` | يحظر نوع وكيل فرعي محدد في أداة المهام |\n| `PI_SUBPROCESS_CMD` | يتجاوز أمر إنشاء الوكيل الفرعي (تجاوز حل `xcsh` / `xcsh.cmd`) |\n| `PI_TASK_MAX_OUTPUT_BYTES` | أقصى عدد بايتات مُلتقطة لكل وكيل فرعي (الافتراضي `500000`) |\n| `PI_TASK_MAX_OUTPUT_LINES` | أقصى عدد أسطر مُلتقطة لكل وكيل فرعي (الافتراضي `5000`) |\n| `PI_TIMING` | إذا كان `1`، يُفعّل سجلات أدوات توقيت بدء التشغيل/الأدوات |\n| `PI_DEBUG_STARTUP` | يُفعّل طباعات تصحيح مرحلة بدء التشغيل إلى stderr في مسارات بدء تشغيل متعددة |\n| `PI_PACKAGE_DIR` | يتجاوز حل دليل أصول الحزمة الأساسي (بحث مسار المستندات/الأمثلة/سجل التغييرات) |\n| `PI_DISABLE_LSPMUX` | إذا كان `1`، يُعطّل اكتشاف/تكامل lspmux ويفرض إنشاء خادم LSP مباشر |\n| `LITELLM_BASE_URL` | عنوان URL الأساسي لوكيل LiteLLM. عند تعيينه مع `LITELLM_API_KEY`، يُشغّل التوليد التلقائي لـ `models.yml` عند أول تشغيل والإصلاح الذاتي عند كل بدء تشغيل |\n| `LM_STUDIO_BASE_URL` | تجاوز عنوان URL الأساسي الافتراضي الضمني لاكتشاف LM Studio (`http://127.0.0.1:1234/v1` إذا لم يُعيَّن) |\n| `OLLAMA_BASE_URL` | تجاوز عنوان URL الأساسي الافتراضي الضمني لاكتشاف Ollama (`http://127.0.0.1:11434` إذا لم يُعيَّن) |\n| `LLAMA_CPP_BASE_URL` | تجاوز عنوان URL الأساسي الافتراضي الضمني لاكتشاف Llama.cpp (`http://127.0.0.1:8080` إذا لم يُعيَّن) |\n| `PI_EDIT_VARIANT` | إذا كان `hashline`، يفرض وضع عرض القراءة/البحث بنمط hashline عند توفر أداة التحرير |\n| `PI_NO_PTY` | إذا كان `1`، يُعطّل مسار PTY التفاعلي لأداة bash |\n\nيُعيَّن `PI_NO_PTY` أيضاً داخلياً عند استخدام خيار CLI `--no-pty`.\n\n---\n\n## 6) مسارات جذر التخزين والتكوين\n\nتُستهلك هذه المتغيرات عبر `@f5-sales-demo/pi-utils/dirs` وتؤثر على مكان تخزين coding-agent للبيانات.\n\n| المتغير | الافتراضي / السلوك |\n|---|---|\n| `PI_CONFIG_DIR` | اسم دليل جذر التكوين تحت المجلد الرئيسي (الافتراضي `.xcsh`) |\n| `PI_CODING_AGENT_DIR` | تجاوز كامل لدليل الوكيل (الافتراضي `~/<PI_CONFIG_DIR or .xcsh>/agent`) |\n| `PWD` | يُستخدم عند مطابقة دليل العمل الحالي الكنسي في مساعدات المسارات |\n\n---\n\n## 7) بيئة تنفيذ الصدفة/الأدوات\n\n(من `packages/utils/src/procmgr.ts` وتكامل أداة bash في coding-agent.)\n\n| المتغير | السلوك |\n|---|---|\n| `PI_BASH_NO_CI` | يمنع الحقن التلقائي لـ `CI=true` في بيئة الصدفة المُنشأة |\n| `CLAUDE_BASH_NO_CI` | اسم مستعار قديم احتياطي لـ `PI_BASH_NO_CI` |\n| `PI_BASH_NO_LOGIN` | مخصص لتعطيل وضع صدفة تسجيل الدخول |\n| `CLAUDE_BASH_NO_LOGIN` | اسم مستعار قديم احتياطي لـ `PI_BASH_NO_LOGIN` |\n| `PI_SHELL_PREFIX` | غلاف بادئة أمر اختياري |\n| `CLAUDE_CODE_SHELL_PREFIX` | اسم مستعار قديم احتياطي لـ `PI_SHELL_PREFIX` |\n| `VISUAL` | أمر المحرر الخارجي المفضل |\n| `EDITOR` | أمر المحرر الخارجي الاحتياطي |\n\nملاحظة حول التنفيذ الحالي: يتم قراءة `PI_BASH_NO_LOGIN`/`CLAUDE_BASH_NO_LOGIN`، لكن `getShellArgs()` الحالية تُعيد `['-l','-c']` في كلا الفرعين (بدون تأثير فعلي حالياً).\n\n---\n\n## 8) واجهة المستخدم/السمة/اكتشاف الجلسة (بيئة مُكتشفة تلقائياً)\n\nتُقرأ هذه المتغيرات كإشارات وقت تشغيل؛ وعادةً يتم تعيينها من قِبل الطرفية/نظام التشغيل بدلاً من التكوين اليدوي.\n\n| المتغير | الاستخدام |\n|---|---|\n| `COLORTERM`، `TERM`، `WT_SESSION` | اكتشاف قدرة الألوان (وضع ألوان السمة) |\n| `COLORFGBG` | اكتشاف تلقائي لخلفية الطرفية فاتحة/داكنة |\n| `TERM_PROGRAM`، `TERM_PROGRAM_VERSION`، `TERMINAL_EMULATOR` | هوية الطرفية في موجه/سياق النظام |\n| `KDE_FULL_SESSION`، `XDG_CURRENT_DESKTOP`، `DESKTOP_SESSION`، `XDG_SESSION_DESKTOP`، `GDMSESSION`، `WINDOWMANAGER` | اكتشاف سطح المكتب/مدير النوافذ في موجه/سياق النظام |\n| `KITTY_WINDOW_ID`، `TMUX_PANE`، `TERM_SESSION_ID`، `WT_SESSION` | معرّفات تتبع جلسة مستقرة لكل طرفية |\n| `SHELL`، `ComSpec`، `TERM_PROGRAM`، `TERM` | تشخيصات معلومات النظام |\n| `APPDATA`، `XDG_CONFIG_HOME` | حل مسار تكوين lspmux |\n| `HOME` | اختصار المسار في واجهة أوامر MCP |\n\n---\n\n## 9) علامات المُحمّل الأصلي/التصحيح\n\n| المتغير | السلوك |\n|---|---|\n| `PI_DEV` | يُفعّل تشخيصات تحميل الإضافة الأصلية المُفصّلة في `packages/natives` |\n\n## 10) علامات وقت تشغيل TUI (حزمة مشتركة، تؤثر على تجربة المستخدم في coding-agent)\n\n| المتغير | السلوك |\n|---|---|\n| `PI_NOTIFICATIONS` | `off` / `0` / `false` تمنع إشعارات سطح المكتب |\n| `PI_TUI_WRITE_LOG` | إذا عُيِّن، يُسجّل كتابات TUI في ملف |\n| `PI_HARDWARE_CURSOR` | إذا كان `1`، يُفعّل وضع مؤشر الأجهزة |\n| `PI_CLEAR_ON_SHRINK` | إذا كان `1`، يمسح الصفوف الفارغة عند تقلّص المحتوى |\n| `PI_DEBUG_REDRAW` | إذا كان `1`، يُفعّل تسجيل تصحيح إعادة الرسم |\n| `PI_TUI_DEBUG` | إذا كان `1`، يُفعّل مسار تفريغ تصحيح TUI العميق |\n\n---\n\n## 11) عناصر التحكم بتوليد الالتزامات\n\n| المتغير | السلوك |\n|---|---|\n| `PI_COMMIT_TEST_FALLBACK` | إذا كان `true` (غير حساس لحالة الأحرف)، يفرض مسار توليد الالتزام الاحتياطي |\n| `PI_COMMIT_NO_FALLBACK` | إذا كان `true`، يُعطّل البديل الاحتياطي عندما لا يُعيد الوكيل أي اقتراح |\n| `PI_COMMIT_MAP_REDUCE` | إذا كان `false`، يُعطّل مسار تحليل الالتزام بنمط map-reduce |\n| `DEBUG` | إذا عُيِّن، تُطبع تتبعات مكدس أخطاء وكيل الالتزام |\n\n---\n\n## المتغيرات ذات الحساسية الأمنية\n\nتعامل مع هذه المتغيرات كأسرار؛ لا تُسجّلها أو تُرسلها إلى المستودع:\n\n- مفاتيح المزود/API وبيانات اعتماد OAuth/رمز الحامل (جميع `*_API_KEY`، `*_TOKEN`، رموز الوصول/التحديث لـ OAuth)\n- بيانات اعتماد السحابة (`AWS_*`، مسار `GOOGLE_APPLICATION_CREDENTIALS` قد يكشف مواد حساب الخدمة)\n- متغيرات مصادقة البحث/المزود (`EXA_API_KEY`، `BRAVE_API_KEY`، `PERPLEXITY_API_KEY`، مفاتيح بحث Anthropic)\n- مواد mTLS لـ Foundry (`CLAUDE_CODE_CLIENT_CERT`، `CLAUDE_CODE_CLIENT_KEY`، `NODE_EXTRA_CA_CERTS` عندما يشير إلى حزم CA خاصة)\n\nيقوم وقت تشغيل Python أيضاً بتجريد العديد من متغيرات المفاتيح الشائعة صراحةً قبل إنشاء عمليات نواة فرعية (`packages/coding-agent/src/ipy/runtime.ts`).\n",