substratum-cli 0.2.4__tar.gz → 0.2.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.
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/PKG-INFO +1 -1
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/__init__.py +1 -1
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/session.py +7 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli.egg-info/PKG-INFO +1 -1
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/README.md +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/pyproject.toml +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/setup.cfg +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/README.md +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/__main__.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/_boot.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/_update.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/_vendor/__init__.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/_vendor/_pro_test_derive.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/_vendor/client_gate.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/_wordmark.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/account.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/build_state.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/cli.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/codes.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/commands/__init__.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/commands/apply.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/commands/auth.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/commands/commit.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/commands/explain.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/commands/failing.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/commands/fix.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/commands/history.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/commands/init_cmd.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/commands/pr.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/commands/replay.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/commands/scaffold.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/commands/show.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/commands/undo.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/commands/verify.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/commands/write.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/config.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/diffs.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/engine.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/gitio.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/langscan.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/product_ops.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/refusals.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/remote.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/render.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/result.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/run_store.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/runid.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli/style.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli.egg-info/SOURCES.txt +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli.egg-info/dependency_links.txt +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli.egg-info/entry_points.txt +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli.egg-info/requires.txt +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/substratum_cli.egg-info/top_level.txt +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_adaptive_prior.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_alias_warrant_trace.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_bidirectional_gate_contracts.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_coherence_evolution.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_coherences.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_connection_web_api.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_cross_entity_scoping.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_data.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_de28_negation_refuse.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_definite_description_handler.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_demo_regression_catalog.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_demo_response_shape.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_e1_e2_field_alignment.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_extraction_class_write_time.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_falsification_predictions.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_gap_d_wh_normalization.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_inference.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_inflection_cvc_rule.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_inflection_irregular.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_intervention.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_invariant.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_legal_citation_handler.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_lens_noop_seam.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_markup_tag_handler.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_nl_parser.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_nl_parser_adversarial.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_noise.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_pass2_contextual.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_perspectives.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_polysemous_token_alias_guard.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_possessive_normalization.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_predicate_canon.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_projection_gate.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_projection_gate_tag_question.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_query_normalizer.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_records_answer_format.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_referent_aboutness_gate.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_referent_quality_gate.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_refuse_message_topic_neutrality.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_relation_detection.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_relaxation.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_residual_content_gate.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_reverse_lookup_subject_filter.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_sec_statement_aliases.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_span_lens.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_span_lens_query_integration.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_substrate.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_synonymy_detector.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_table_ingest.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_triple_ingest.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_two_phase_schema.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_user_asserted_aliases.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_v2_api.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_v2_api_claims.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_v2_claim_determinism.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_word_role.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_word_role_wiring.py +0 -0
- {substratum_cli-0.2.4 → substratum_cli-0.2.5}/tests/test_xbrl_doc_aliases.py +0 -0
|
@@ -5,4 +5,4 @@ Import budget: this package is stdlib-only; the ONLY module reaching into backen
|
|
|
5
5
|
"""
|
|
6
6
|
# SINGLE SOURCE OF TRUTH for the release version. pyproject reads this (dynamic version), the boot shows
|
|
7
7
|
# it, and the update-check compares against it. To cut a release, bump ONLY this line, then publish.
|
|
8
|
-
__version__ = "0.2.
|
|
8
|
+
__version__ = "0.2.5"
|
|
@@ -619,6 +619,7 @@ class Session:
|
|
|
619
619
|
self.banner()
|
|
620
620
|
from . import style as S
|
|
621
621
|
prompt = (S.GOLD + S.g("brand") + " " + S.RESET) if self.color else (S.g("brand") + " ")
|
|
622
|
+
exit_hints = 0
|
|
622
623
|
while True:
|
|
623
624
|
try:
|
|
624
625
|
line = input(prompt)
|
|
@@ -626,7 +627,13 @@ class Session:
|
|
|
626
627
|
sys.stdout.write("\n")
|
|
627
628
|
_leave()
|
|
628
629
|
except KeyboardInterrupt:
|
|
630
|
+
# Ctrl-C clears the current line (readline behavior); it does NOT exit. Users spam it
|
|
631
|
+
# trying to leave and just get blank lines, so surface the real exit the first few
|
|
632
|
+
# times, then stay quiet for power users who use Ctrl-C to clear a half-typed line.
|
|
629
633
|
sys.stdout.write("\n")
|
|
634
|
+
if exit_hints < 3:
|
|
635
|
+
self._say(" Ctrl-C clears the line. to leave, type /exit (or press Ctrl-D)", _DIM)
|
|
636
|
+
exit_hints += 1
|
|
630
637
|
continue
|
|
631
638
|
try:
|
|
632
639
|
res, keep = self.handle(line)
|
|
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
|
|
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
|