apcore-cli 0.10.3__tar.gz → 0.10.5__tar.gz
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.
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/CHANGELOG.md +18 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/PKG-INFO +3 -3
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/pyproject.toml +2 -2
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/.github/CODEOWNERS +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/.github/copilot-ignore +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/.github/workflows/ci.yml +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/.gitignore +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/.gitmessage +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/.pre-commit-config.yaml +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/CLAUDE.md +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/LICENSE +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/Makefile +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/README.md +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/examples/README.md +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/examples/extensions/math/add.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/examples/extensions/math/multiply.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/examples/extensions/sysutil/disk.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/examples/extensions/sysutil/env.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/examples/extensions/sysutil/info.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/examples/extensions/text/reverse.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/examples/extensions/text/upper.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/examples/extensions/text/wordcount.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/examples/run_examples.sh +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/planning/approval-gate.md +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/planning/config-resolver.md +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/planning/core-dispatcher.md +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/planning/discovery.md +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/planning/exposure-filtering.md +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/planning/grouped-commands.md +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/planning/output-formatter.md +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/planning/overview.md +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/planning/schema-parser.md +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/planning/security-manager.md +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/planning/shell-integration.md +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/planning/state.json +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/__init__.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/__main__.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/_sandbox_runner.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/approval.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/builtin_group.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/cli.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/config.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/discovery.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/display_helpers.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/exit_codes.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/exposure.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/factory.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/init_cmd.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/output.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/ref_resolver.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/schema_parser.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/security/__init__.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/security/audit.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/security/auth.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/security/config_encryptor.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/security/sandbox.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/shell.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/strategy.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/system_cmd.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/system_usage.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/src/apcore_cli/validate.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/__init__.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/conformance/__init__.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/conformance/test_apcli_visibility.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/conformance/test_snake_case_kwargs.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/conftest.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/shell_test_utils.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_apcli_integration.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_approval.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_bugfixes.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_builtin_group.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_cli.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_config.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_discovery.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_discovery_fe13.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_display_helpers.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_e2e.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_exit_codes.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_exposure.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_factory_fe13.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_init_cmd.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_integration.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_list_command_filters.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_output.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_output_format_exec.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_output_format_markdown_skill.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_public_api.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_ref_resolver.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_sandbox_runner.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_schema_parser.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_security/__init__.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_security/test_audit.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_security/test_auth.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_security/test_config_encryptor.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_security/test_sandbox.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_shell.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_strategy.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_system_cmd.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_system_usage.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_toolkit_integration.py +0 -0
- {apcore_cli-0.10.3 → apcore_cli-0.10.5}/tests/test_validate.py +0 -0
|
@@ -5,6 +5,24 @@ All notable changes to apcore-cli (Python SDK) will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.10.5] - 2026-08-17
|
|
9
|
+
|
|
10
|
+
Patch release. Bumps the required `apcore` floor to `0.27.0` to track the aligned apcore 0.27.0 release (2026-08-14). **No source changes** — the full test suite passes unchanged (798 passed, 5 xfailed) against apcore 0.27.0.
|
|
11
|
+
|
|
12
|
+
The apcore 0.26.0 → 0.27.0 delta is BREAKING at the spec level, but touches no surface the CLI consumes — verified against the release notes and the actual call sites:
|
|
13
|
+
|
|
14
|
+
- **Middleware semantics** — `before_step` failure is now terminal/non-recoverable, `after_step` fires after a recovered step body, `state.outputs` excludes the current step in `after_step`. The CLI never constructs or configures middleware or pipelines; it only calls `executor.call` / `executor.validate` / `call_with_trace` with strategy names. No exposure.
|
|
15
|
+
- **ACL-failed `validate()` introspection** — a failed `acl` check now withholds `module_preflight` / `module_preview` checks and `predicted_changes`. The CLI's `executor.validate()` calls (per-module `--dry-run`, `apcli validate`, and the `system.health.summary` probe) consume only `valid` / `checks` / `requires_approval`; the probe discards its result. Behavior stays correct (ACL-denied calls surface exit 77 as before).
|
|
16
|
+
- **`Registry.register` metadata `dependencies` persistence** — the CLI never calls `register()` directly (module registration is via `discover()` / toolkit `RegistryWriter`); it only reads `len(descriptor.dependencies)` for the `--deps` column. No exposure.
|
|
17
|
+
- **Schema conversion (A23)** — object detection, nullable `anyOf` wrapping, sorted `required` are SDK-conversion rules. The CLI runs its **own** schema→Click converter (`schema_parser.py`) on the descriptor's `input_schema`; it already strips `{"type": "null"}` branches from `anyOf` (v0.10.3) and treats `required` order-insensitively. No exposure.
|
|
18
|
+
- **`pipeline.configure` 4-field set / `requires`/`provides` non-configurable** — the CLI never configures pipelines; a host config carrying other keys now fails at load (spec-mandated strictness, upstream concern).
|
|
19
|
+
- **No type coercion at the module boundary** — CLI flag parsing (Click) produces typed values; only `--input -` JSON passthrough with string-typed numeric values now fails `SCHEMA_VALIDATION_ERROR` instead of being silently coerced (spec-mandated strictness).
|
|
20
|
+
- **Removed/renamed API surface** — Python `apcore.middleware.namespace_keys` removed, `SchemaValidator` default flip, `TraceContext.inject()` raises `InvalidParentIdError` — none used by the CLI.
|
|
21
|
+
|
|
22
|
+
## [0.10.4] - 2026-07-14
|
|
23
|
+
|
|
24
|
+
Patch release. Bumps the required `apcore` floor to `0.26.0` to align the ecosystem on the 0.26.0 governance layer (Execution Policy, governance events, no-handler fail-loud — additive, no breaking changes). No code or API changes; all 798 tests pass (5 xfailed) unmodified against apcore 0.26.0.
|
|
25
|
+
|
|
8
26
|
## [0.10.3] - 2026-07-07
|
|
9
27
|
|
|
10
28
|
Patch release: fixes Pydantic v2 `Optional[...]` field type mapping and bumps the required `apcore-toolkit` floor. All 798 tests pass (5 xfailed).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: apcore-cli
|
|
3
|
-
Version: 0.10.
|
|
3
|
+
Version: 0.10.5
|
|
4
4
|
Summary: Terminal adapter for apcore — execute AI-Perceivable modules from the command line
|
|
5
5
|
Project-URL: Homepage, https://aiperceivable.com
|
|
6
6
|
Project-URL: Repository, https://github.com/aiperceivable/apcore-cli-python
|
|
@@ -22,7 +22,7 @@ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
|
22
22
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
23
23
|
Requires-Python: >=3.11
|
|
24
24
|
Requires-Dist: apcore-toolkit>=0.10.0
|
|
25
|
-
Requires-Dist: apcore>=0.
|
|
25
|
+
Requires-Dist: apcore>=0.27.0
|
|
26
26
|
Requires-Dist: click>=8.1
|
|
27
27
|
Requires-Dist: cryptography>=41.0
|
|
28
28
|
Requires-Dist: jsonschema>=4.20
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "apcore-cli"
|
|
7
|
-
version = "0.10.
|
|
7
|
+
version = "0.10.5"
|
|
8
8
|
description = "Terminal adapter for apcore — execute AI-Perceivable modules from the command line"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "Apache-2.0"
|
|
@@ -26,7 +26,7 @@ classifiers = [
|
|
|
26
26
|
"Environment :: Console",
|
|
27
27
|
]
|
|
28
28
|
dependencies = [
|
|
29
|
-
"apcore>=0.
|
|
29
|
+
"apcore>=0.27.0",
|
|
30
30
|
"apcore-toolkit>=0.10.0",
|
|
31
31
|
"click>=8.1",
|
|
32
32
|
"jsonschema>=4.20",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|