Files
browser-cli/browser_cli/sdk/__init__.py
T
daniel156161 5cec57e06d
Testing / remote-protocol-compat (0.9.3) (push) Successful in 40s
Testing / remote-protocol-compat (0.9.5) (push) Successful in 38s
Testing / test (push) Failing after 1m3s
Package Extension / package-extension (push) Successful in 29s
Build & Publish Package / publish (push) Successful in 33s
feat!: harden raw browser control and packaging
- Add safe-by-default policy gates for raw command surfaces: command, script, and serve-http /command.

- Require explicit opt-ins for page reads, browser control, and high-risk commands such as dom.eval, storage.*, and screenshots.

- Remove all cookies support from CLI, SDK, extension commands, permissions, constants, docs, and tests.

- Add diagnostic, events, watch, workspace, remote, raw command, script, HTTP gateway, tree-view, session import/export, and extension info/capability commands.

- Add Chrome Web Store packaging that strips manifest.key while keeping local packages with a stable native-messaging extension ID.

- Bump browser-cli and extension version to 0.14.1 and cover the new behavior with pytest and extension packaging tests.

BREAKING CHANGE: cookies commands and the b.cookies SDK namespace have been removed; generic raw command execution now blocks non-safe commands unless explicitly allowed.
2026-06-14 14:33:15 +02:00

49 lines
1.3 KiB
Python

"""SDK command namespaces for :class:`browser_cli.BrowserCLI`.
Each namespace groups related browser commands under a short accessor on the
client (``b.tabs``, ``b.dom``, ``b.session``, ...), mirroring the command groups
in the browser extension.
"""
from browser_cli.sdk.browser_data import StorageNS
from browser_cli.sdk.decorators import DecoratorsNS
from browser_cli.sdk.dom import DomNS, ExtractNS, PageNS
from browser_cli.sdk.extension import ExtensionNS
from browser_cli.sdk.groups import GroupsNS
from browser_cli.sdk.navigation import NavigationNS
from browser_cli.sdk.perf import PerfNS
from browser_cli.sdk.session import SessionNS
from browser_cli.sdk.tabs import TabsNS
from browser_cli.sdk.windows import WindowsNS
NAMESPACE_SPECS = (
("nav", NavigationNS),
("tabs", TabsNS),
("groups", GroupsNS),
("windows", WindowsNS),
("dom", DomNS),
("extract", ExtractNS),
("page", PageNS),
("storage", StorageNS),
("session", SessionNS),
("perf", PerfNS),
("extension", ExtensionNS),
)
NAMESPACE_NAMES = tuple(name for name, _ in NAMESPACE_SPECS)
__all__ = [
"NavigationNS",
"TabsNS",
"GroupsNS",
"WindowsNS",
"DomNS",
"ExtractNS",
"PageNS",
"StorageNS",
"SessionNS",
"PerfNS",
"ExtensionNS",
"DecoratorsNS",
"NAMESPACE_SPECS",
"NAMESPACE_NAMES",
]