Coverage for src / apcore_cli / __init__.py: 83%
24 statements
« prev ^ index » next coverage.py v7.13.0, created at 2026-04-26 10:23 +0800
« prev ^ index » next coverage.py v7.13.0, created at 2026-04-26 10:23 +0800
1"""apcore-cli: CLI adapter for the apcore module ecosystem."""
3from importlib.metadata import PackageNotFoundError
4from importlib.metadata import version as _get_version
6try:
7 __version__ = _get_version("apcore-cli")
8except PackageNotFoundError:
9 __version__ = "unknown"
11# Config Bus namespace registration (apcore >= 0.15.0)
12try:
13 from apcore import Config
15 Config.register_namespace(
16 name="apcore-cli",
17 schema=None,
18 env_prefix="APCORE_CLI",
19 defaults={
20 "help_text_max_length": 1000,
21 "approval_timeout": 60,
22 "group_depth": 1,
23 },
24 )
25except (ImportError, AttributeError):
26 pass # apcore < 0.15.0 or not installed
28# Public API re-exports
29from apcore_cli.approval import (
30 ApprovalDeniedError,
31 ApprovalTimeoutError,
32 CliApprovalHandler,
33 check_approval,
34)
35from apcore_cli.builtin_group import (
36 RESERVED_GROUP_NAMES,
37 ApcliGroup,
38 ApcliMode,
39)
40from apcore_cli.config import ConfigResolver
41from apcore_cli.exposure import ExposureFilter
42from apcore_cli.factory import create_cli
43from apcore_cli.output import format_exec_result
44from apcore_cli.ref_resolver import resolve_refs
45from apcore_cli.schema_parser import schema_to_click_options
46from apcore_cli.security.audit import AuditLogger
47from apcore_cli.security.auth import AuthenticationError, AuthProvider
48from apcore_cli.security.config_encryptor import ConfigDecryptionError, ConfigEncryptor
49from apcore_cli.security.sandbox import (
50 CliModuleNotFoundError,
51 ModuleExecutionError,
52 Sandbox,
53 SchemaValidationError,
54)
56__all__ = [
57 "__version__",
58 # Factory
59 "create_cli",
60 # FE-13 builtin-group surface
61 "ApcliGroup",
62 "ApcliMode",
63 "RESERVED_GROUP_NAMES",
64 # FE-11 approval
65 "CliApprovalHandler",
66 "check_approval",
67 # FE-12 exposure
68 "ExposureFilter",
69 # Schema / output / ref resolution
70 "resolve_refs",
71 "schema_to_click_options",
72 "format_exec_result",
73 # Config / security
74 "ConfigResolver",
75 "AuditLogger",
76 "AuthProvider",
77 "ConfigEncryptor",
78 "Sandbox",
79 # Error classes
80 "ApprovalDeniedError",
81 "ApprovalTimeoutError",
82 "AuthenticationError",
83 "ConfigDecryptionError",
84 "ModuleExecutionError",
85 "CliModuleNotFoundError",
86 "SchemaValidationError",
87]