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

1"""apcore-cli: CLI adapter for the apcore module ecosystem.""" 

2 

3from importlib.metadata import PackageNotFoundError 

4from importlib.metadata import version as _get_version 

5 

6try: 

7 __version__ = _get_version("apcore-cli") 

8except PackageNotFoundError: 

9 __version__ = "unknown" 

10 

11# Config Bus namespace registration (apcore >= 0.15.0) 

12try: 

13 from apcore import Config 

14 

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 

27 

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) 

55 

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]