SIGN IN SIGN UP

feat(enterprise): extensions from approved repositories, and a skill for the boundary

An extension that could send what it sees off the machine (an integration's
API, approved origins, an unsandboxed service) ran in enterprise mode like
any other, with only the user's approval behind it.

In enterprise mode such a package installs, updates and keeps those grants
only from a Git repository listed in the policy's allowedExtensions
(OPENCHAMBER_ALLOWED_EXTENSIONS). The list holds repository URLs, since a
package names its own id; an entry ending in / allows everything under it,
such as a whole organization. allowLocalExtensions lets developer machines
install from a local folder; ZIP stays closed. Install and update refuse the
rest with enterprise-mode, the catalog strips refused grants on every read so
a policy change counts at once, and approval cannot grant them. Settings
marks such an extension Not allowed and explains the rule in the Add tooltip.
Extensions that do none of this install as usual. The policy file is also
read when saved with a byte-order mark, as Windows PowerShell 5 writes it.

The new enterprise-boundary skill tells agents how to classify a change that
sends conversation content out, opens a way into the machine, adds provider
entry or reports usage, where to enforce it, when an administrator knob is
due, and how to walk every surface. AGENTS.md routes to it and pr-review
treats an ungated crossing as a finding.

Security docs gain the extension rules and an Examples section (policy file
on macOS, Linux and Windows, a Docker environment block); SDK docs tell
extension authors what enterprise mode means for them. Every locale.

Tested with the guests and enterprise-mode suites (a removed-protection run
turned the grant test red), the ui type-check, and the i18n, extensions and
integrations suites.
B
Bohdan Triapitsyn committed
c1cd3e5dd8fb512e73cbd6a6f00ae76fb22b213d
Parent: 4f0f59a