abstractnote 0.2.0__tar.gz → 0.3.0__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.
- {abstractnote-0.2.0/src/abstractnote.egg-info → abstractnote-0.3.0}/PKG-INFO +6 -2
- {abstractnote-0.2.0 → abstractnote-0.3.0}/README.md +5 -1
- {abstractnote-0.2.0 → abstractnote-0.3.0}/pyproject.toml +1 -1
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/__init__.py +1 -1
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/flows/runner.py +19 -1
- {abstractnote-0.2.0 → abstractnote-0.3.0/src/abstractnote.egg-info}/PKG-INFO +6 -2
- {abstractnote-0.2.0 → abstractnote-0.3.0}/LICENSE +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/setup.cfg +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/cli.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/flows/__init__.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/flows/build.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/flows/bundle.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/flows/contract.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/flows/graph.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/flows/json/note-capture.json +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/flows/json/note-consolidate.json +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/flows/json/note-drain.json +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/flows/json/note-file.json +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/flows/json/note-mine.json +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/flows/json/note-process.json +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/flows/json/note-recall.json +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/flows/json/note-reflect.json +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/flows/prompts_fallback.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/flows/schemas_fallback.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/gateway/__init__.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/gateway/appspec.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/gateway/consolidation.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/gateway/health.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/gateway/refile.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/gateway/router.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/gateway/tools.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/ids.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/importers/__init__.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/importers/__main__.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/importers/agora.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/importers/claude_sessions.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/importers/cli.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/importers/dedupe.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/importers/files.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/importers/markdown.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/ingest/__init__.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/ingest/blobs.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/ingest/capture.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/ingest/dates.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/ingest/extract.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/ingest/normalise.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/ingest/refile.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/ledger.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/model.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/__init__.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/context.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/demote.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/generic_words.txt +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/merge.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/packets.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/__init__.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/entity_summaries.md +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/entity_summaries.system.md +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/extract.md +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/extract.system.md +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/link.md +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/link.system.md +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/mine_dossier.md +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/mine_dossier.system.md +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/mine_findings.md +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/mine_findings.system.md +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/mine_plan.md +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/mine_plan.system.md +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/quick_filing.md +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/quick_filing.system.md +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/reflect.md +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/reflect.system.md +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/synthesize.md +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/synthesize.system.md +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/resolve.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/revise.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/schemas.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/validate.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/vocabulary.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/recall/__init__.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/recall/changes.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/recall/communities.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/recall/consolidation.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/recall/expand.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/recall/insights.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/recall/processing.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/recall/propagation.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/recall/reflect.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/recall/review.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/recall/search.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/recall/shapes.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/recall/stats.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/recall/then_now.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/store/__init__.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/store/archive.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/store/embeddings.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/store/kg.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/store/names.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/store/notebook.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/store/notes.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/store/queue.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/store/schema.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/store/topics.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/store/vector_index.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/tools/__init__.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/tools/capture.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/tools/consolidation.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/tools/context.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/tools/process.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/tools/queue.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/tools/recall.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote.egg-info/SOURCES.txt +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote.egg-info/dependency_links.txt +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote.egg-info/entry_points.txt +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote.egg-info/requires.txt +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote.egg-info/top_level.txt +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_capture.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_capture_dates.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_changes_understood.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_cli.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_communities.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_communities_flow.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_communities_stale_first.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_consolidation.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_consolidation_gaps.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_consolidation_gateway.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_dated_views.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_drain_stale_requeue.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_entity_names.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_file_dates.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_filing_imports.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_flows_compile.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_flows_contract.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_flows_headless.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_gateway_communities.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_gateway_normalize.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_gateway_refile.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_gateway_router.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_gateway_seam_guard.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_gateway_w10.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_importer_dates.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_importers.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_kg_projection.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_ledger_provenance.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_memory_dedupe.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_model_settings.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_no_silent_drops.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_packets.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_process.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_process_tools.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_processing.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_processor_repair.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_prompts_kinds.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_prompts_predicates.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_prompts_summaries.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_propagation.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_queue.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_queue_claims.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_queue_errors.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_read_paths_recovery.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_rebuild.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_recall.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_recall_eval.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_reflect_no_repeats.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_reinterpret.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_retired_hidden.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_retro.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_retro_context.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_retro_flow.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_retro_router.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_review_and_archive.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_search_structural_entities.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_stats.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_store.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_store_support.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_strict_schemas.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_stub_llm.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_summary_ties.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_topics_canonical.py +0 -0
- {abstractnote-0.2.0 → abstractnote-0.3.0}/tests/test_validate.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: abstractnote
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: AbstractNote: one endpoint for your notes; a temporal semantic knowledge graph of your life, built on AbstractGateway, AbstractRuntime and AbstractMemory
|
|
5
5
|
Author-email: Laurent-Philippe Albou <contact@abstractcore.ai>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -45,9 +45,13 @@ runtime and one notebook per user, app hosting), **AbstractRuntime** and **Abstr
|
|
|
45
45
|
capture and understanding workflows), **AbstractMemory** (temporal facts) and **AbstractCore**
|
|
46
46
|
(models, structured output, embeddings).
|
|
47
47
|
|
|
48
|
-
Status: version 0.
|
|
48
|
+
Status: version 0.3.0, alpha. The Python package is `abstractnote` on PyPI and the web app is
|
|
49
49
|
`@abstractframework/note` on npm (see [Install](#install)).
|
|
50
50
|
|
|
51
|
+
What's new in 0.3.0: the web app follows runs through the gateway's replay view and says when a run waits
|
|
52
|
+
for an answer, the top bar carries the shared Docs assistant and one account widget, and Capture uses the
|
|
53
|
+
shared composer. See [CHANGELOG.md](CHANGELOG.md#030---2026-11-02).
|
|
54
|
+
|
|
51
55
|
## What you get
|
|
52
56
|
|
|
53
57
|
- **Capture anywhere**: the web app, the Apple Watch app, the `abstractnote` command line, and
|
|
@@ -11,9 +11,13 @@ runtime and one notebook per user, app hosting), **AbstractRuntime** and **Abstr
|
|
|
11
11
|
capture and understanding workflows), **AbstractMemory** (temporal facts) and **AbstractCore**
|
|
12
12
|
(models, structured output, embeddings).
|
|
13
13
|
|
|
14
|
-
Status: version 0.
|
|
14
|
+
Status: version 0.3.0, alpha. The Python package is `abstractnote` on PyPI and the web app is
|
|
15
15
|
`@abstractframework/note` on npm (see [Install](#install)).
|
|
16
16
|
|
|
17
|
+
What's new in 0.3.0: the web app follows runs through the gateway's replay view and says when a run waits
|
|
18
|
+
for an answer, the top bar carries the shared Docs assistant and one account widget, and Capture uses the
|
|
19
|
+
shared composer. See [CHANGELOG.md](CHANGELOG.md#030---2026-11-02).
|
|
20
|
+
|
|
17
21
|
## What you get
|
|
18
22
|
|
|
19
23
|
- **Capture anywhere**: the web app, the Apple Watch app, the `abstractnote` command line, and
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "abstractnote"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.3.0"
|
|
8
8
|
description = "AbstractNote: one endpoint for your notes; a temporal semantic knowledge graph of your life, built on AbstractGateway, AbstractRuntime and AbstractMemory"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -62,7 +62,7 @@ class ScriptedLLM:
|
|
|
62
62
|
raise AssertionError(f"ScriptedLLM: no AbstractNote schema has the fields {sorted(fields)}")
|
|
63
63
|
|
|
64
64
|
def generate(self, *, prompt: str = "", params: Optional[Dict[str, Any]] = None, **kwargs: Any) -> Dict[str, Any]:
|
|
65
|
-
model = (params
|
|
65
|
+
model = structured_model(params)
|
|
66
66
|
if model is None:
|
|
67
67
|
raise AssertionError("ScriptedLLM answers structured calls only (the AbstractNote flows make no other)")
|
|
68
68
|
name = self.schema_name(model)
|
|
@@ -84,6 +84,24 @@ class ScriptedLLM:
|
|
|
84
84
|
return {"data": validated, "content": json.dumps(validated), "metadata": {}, "finish_reason": "stop"}
|
|
85
85
|
|
|
86
86
|
|
|
87
|
+
def structured_model(params: Optional[Mapping[str, Any]]) -> Any:
|
|
88
|
+
"""The response model of a structured ``generate`` call, in either shape AbstractRuntime sends.
|
|
89
|
+
|
|
90
|
+
AbstractRuntime 0.15 passes the validator class as ``params["response_model"]``; 0.16.0 and later pass the
|
|
91
|
+
JSON schema as data (``params["response_schema"]`` and ``params["response_schema_name"]``) and leave building
|
|
92
|
+
the validator to the client, with the runtime's own ``prepare_response_model``. ``None`` for an
|
|
93
|
+
unstructured call."""
|
|
94
|
+
params = params or {}
|
|
95
|
+
if params.get("response_model") is not None:
|
|
96
|
+
return params["response_model"]
|
|
97
|
+
schema = params.get("response_schema")
|
|
98
|
+
if schema is None:
|
|
99
|
+
return None
|
|
100
|
+
from abstractruntime.integrations.abstractcore.structured_output import prepare_response_model
|
|
101
|
+
|
|
102
|
+
return prepare_response_model(schema, name=str(params.get("response_schema_name") or "StructuredOutput"))
|
|
103
|
+
|
|
104
|
+
|
|
87
105
|
def _accepts_null(schema: Any) -> bool:
|
|
88
106
|
if not isinstance(schema, dict):
|
|
89
107
|
return False
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: abstractnote
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: AbstractNote: one endpoint for your notes; a temporal semantic knowledge graph of your life, built on AbstractGateway, AbstractRuntime and AbstractMemory
|
|
5
5
|
Author-email: Laurent-Philippe Albou <contact@abstractcore.ai>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -45,9 +45,13 @@ runtime and one notebook per user, app hosting), **AbstractRuntime** and **Abstr
|
|
|
45
45
|
capture and understanding workflows), **AbstractMemory** (temporal facts) and **AbstractCore**
|
|
46
46
|
(models, structured output, embeddings).
|
|
47
47
|
|
|
48
|
-
Status: version 0.
|
|
48
|
+
Status: version 0.3.0, alpha. The Python package is `abstractnote` on PyPI and the web app is
|
|
49
49
|
`@abstractframework/note` on npm (see [Install](#install)).
|
|
50
50
|
|
|
51
|
+
What's new in 0.3.0: the web app follows runs through the gateway's replay view and says when a run waits
|
|
52
|
+
for an answer, the top bar carries the shared Docs assistant and one account widget, and Capture uses the
|
|
53
|
+
shared composer. See [CHANGELOG.md](CHANGELOG.md#030---2026-11-02).
|
|
54
|
+
|
|
51
55
|
## What you get
|
|
52
56
|
|
|
53
57
|
- **Capture anywhere**: the web app, the Apple Watch app, the `abstractnote` command line, and
|
|
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
|
{abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/entity_summaries.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/extract.system.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/mine_dossier.system.md
RENAMED
|
File without changes
|
|
File without changes
|
{abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/mine_findings.system.md
RENAMED
|
File without changes
|
|
File without changes
|
{abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/mine_plan.system.md
RENAMED
|
File without changes
|
|
File without changes
|
{abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/quick_filing.system.md
RENAMED
|
File without changes
|
|
File without changes
|
{abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/reflect.system.md
RENAMED
|
File without changes
|
|
File without changes
|
{abstractnote-0.2.0 → abstractnote-0.3.0}/src/abstractnote/process/prompts/synthesize.system.md
RENAMED
|
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
|