pyquipu-spec 0.1.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.
- pyquipu_spec-0.1.0/.gitignore +75 -0
- pyquipu_spec-0.1.0/PKG-INFO +18 -0
- pyquipu_spec-0.1.0/pyproject.toml +31 -0
- pyquipu_spec-0.1.0/src/quipu/__init__.py +3 -0
- pyquipu_spec-0.1.0/src/quipu/spec/__init__.py +0 -0
- pyquipu_spec-0.1.0/src/quipu/spec/constants.py +4 -0
- pyquipu_spec-0.1.0/src/quipu/spec/exceptions.py +14 -0
- pyquipu_spec-0.1.0/src/quipu/spec/exceptions.stitcher.yaml +8 -0
- pyquipu_spec-0.1.0/src/quipu/spec/models/__init__.py +0 -0
- pyquipu_spec-0.1.0/src/quipu/spec/models/execution.py +12 -0
- pyquipu_spec-0.1.0/src/quipu/spec/models/execution.stitcher.yaml +2 -0
- pyquipu_spec-0.1.0/src/quipu/spec/models/graph.py +32 -0
- pyquipu_spec-0.1.0/src/quipu/spec/models/graph.stitcher.yaml +2 -0
- pyquipu_spec-0.1.0/src/quipu/spec/protocols/__init__.py +0 -0
- pyquipu_spec-0.1.0/src/quipu/spec/protocols/engine.py +27 -0
- pyquipu_spec-0.1.0/src/quipu/spec/protocols/engine.stitcher.yaml +2 -0
- pyquipu_spec-0.1.0/src/quipu/spec/protocols/messaging.py +10 -0
- pyquipu_spec-0.1.0/src/quipu/spec/protocols/messaging.stitcher.yaml +2 -0
- pyquipu_spec-0.1.0/src/quipu/spec/protocols/parser.py +7 -0
- pyquipu_spec-0.1.0/src/quipu/spec/protocols/parser.stitcher.yaml +2 -0
- pyquipu_spec-0.1.0/src/quipu/spec/protocols/runtime.py +45 -0
- pyquipu_spec-0.1.0/src/quipu/spec/protocols/runtime.stitcher.yaml +8 -0
- pyquipu_spec-0.1.0/src/quipu/spec/protocols/storage.py +25 -0
- pyquipu_spec-0.1.0/src/quipu/spec/protocols/storage.stitcher.yaml +4 -0
- pyquipu_spec-0.1.0/stitcher.lock +203 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# tmpfiles
|
|
7
|
+
o.md
|
|
8
|
+
a.md
|
|
9
|
+
a
|
|
10
|
+
o
|
|
11
|
+
t
|
|
12
|
+
tmpfile
|
|
13
|
+
|
|
14
|
+
# Scaffoldings
|
|
15
|
+
context_builder.yml
|
|
16
|
+
context_builder.py
|
|
17
|
+
current_prompts
|
|
18
|
+
|
|
19
|
+
# Distribution / Packaging
|
|
20
|
+
.Python
|
|
21
|
+
build/
|
|
22
|
+
develop-eggs/
|
|
23
|
+
dist/
|
|
24
|
+
downloads/
|
|
25
|
+
eggs/
|
|
26
|
+
.eggs/
|
|
27
|
+
lib/
|
|
28
|
+
lib64/
|
|
29
|
+
parts/
|
|
30
|
+
sdist/
|
|
31
|
+
var/
|
|
32
|
+
wheels/
|
|
33
|
+
*.egg-info/
|
|
34
|
+
.installed.cfg
|
|
35
|
+
*.egg
|
|
36
|
+
|
|
37
|
+
# Virtual Environments
|
|
38
|
+
venv/
|
|
39
|
+
env/
|
|
40
|
+
.env
|
|
41
|
+
.venv/
|
|
42
|
+
|
|
43
|
+
# Testing
|
|
44
|
+
.tox/
|
|
45
|
+
.coverage
|
|
46
|
+
.coverage.*
|
|
47
|
+
.cache
|
|
48
|
+
nosetests.xml
|
|
49
|
+
coverage.xml
|
|
50
|
+
*.cover
|
|
51
|
+
.hypothesis/
|
|
52
|
+
.pytest_cache/
|
|
53
|
+
|
|
54
|
+
# IDEs
|
|
55
|
+
.idea/
|
|
56
|
+
.vscode/
|
|
57
|
+
*.swp
|
|
58
|
+
*.swo
|
|
59
|
+
|
|
60
|
+
# Project Specific
|
|
61
|
+
*.log
|
|
62
|
+
axon.log
|
|
63
|
+
# Ignore test vaults or scratchpads if created in root
|
|
64
|
+
vault/
|
|
65
|
+
temp/
|
|
66
|
+
scratch/
|
|
67
|
+
# --- Quipu Dev Infra ---
|
|
68
|
+
.envs/
|
|
69
|
+
.uv/
|
|
70
|
+
sandbox/
|
|
71
|
+
*.egg-info/
|
|
72
|
+
__pycache__/
|
|
73
|
+
.pytest_cache/
|
|
74
|
+
.coverage
|
|
75
|
+
htmlcov/
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: pyquipu-spec
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: The constitutional specifications and protocols for the Quipu ecosystem.
|
|
5
|
+
Project-URL: Homepage, https://github.com/quipu-dev/Quipu
|
|
6
|
+
Project-URL: Repository, https://github.com/quipu-dev/Quipu
|
|
7
|
+
Author-email: doucx <doucxldh@gmail.com>
|
|
8
|
+
License-Expression: Apache-2.0
|
|
9
|
+
Classifier: Development Status :: 3 - Alpha
|
|
10
|
+
Classifier: Intended Audience :: Developers
|
|
11
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
12
|
+
Classifier: Operating System :: OS Independent
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
17
|
+
Classifier: Typing :: Typed
|
|
18
|
+
Requires-Python: >=3.10
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["hatchling"]
|
|
3
|
+
build-backend = "hatchling.build"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "pyquipu-spec"
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
authors = [{ name="doucx", email="doucxldh@gmail.com" }]
|
|
9
|
+
description = "The constitutional specifications and protocols for the Quipu ecosystem."
|
|
10
|
+
requires-python = ">=3.10"
|
|
11
|
+
license = "Apache-2.0"
|
|
12
|
+
classifiers = [
|
|
13
|
+
"Development Status :: 3 - Alpha",
|
|
14
|
+
"Intended Audience :: Developers",
|
|
15
|
+
"License :: OSI Approved :: Apache Software License",
|
|
16
|
+
"Operating System :: OS Independent",
|
|
17
|
+
"Programming Language :: Python :: 3",
|
|
18
|
+
"Programming Language :: Python :: 3.10",
|
|
19
|
+
"Programming Language :: Python :: 3.11",
|
|
20
|
+
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
21
|
+
"Typing :: Typed",
|
|
22
|
+
]
|
|
23
|
+
|
|
24
|
+
dependencies = []
|
|
25
|
+
|
|
26
|
+
[project.urls]
|
|
27
|
+
Homepage = "https://github.com/quipu-dev/Quipu"
|
|
28
|
+
Repository = "https://github.com/quipu-dev/Quipu"
|
|
29
|
+
|
|
30
|
+
[tool.hatch.build.targets.wheel]
|
|
31
|
+
packages = ["src/quipu"]
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from dataclasses import dataclass, field
|
|
2
|
+
from typing import Any, Dict, Optional
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
@dataclass
|
|
6
|
+
class QuipuResult:
|
|
7
|
+
success: bool
|
|
8
|
+
exit_code: int
|
|
9
|
+
message: str = ""
|
|
10
|
+
data: Any = None
|
|
11
|
+
error: Optional[Exception] = None
|
|
12
|
+
msg_kwargs: Dict[str, Any] = field(default_factory=dict)
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
import dataclasses
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
from typing import List, Optional
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@dataclasses.dataclass
|
|
9
|
+
class QuipuNode:
|
|
10
|
+
commit_hash: str
|
|
11
|
+
output_tree: str
|
|
12
|
+
input_tree: str
|
|
13
|
+
timestamp: datetime
|
|
14
|
+
filename: Path
|
|
15
|
+
node_type: str # "plan" | "capture"
|
|
16
|
+
content: str = ""
|
|
17
|
+
summary: str = ""
|
|
18
|
+
owner_id: Optional[str] = None
|
|
19
|
+
|
|
20
|
+
# 图遍历字段(由加载器填充)
|
|
21
|
+
parent: Optional[QuipuNode] = None
|
|
22
|
+
children: List[QuipuNode] = dataclasses.field(default_factory=list)
|
|
23
|
+
|
|
24
|
+
@property
|
|
25
|
+
def short_hash(self) -> str:
|
|
26
|
+
return self.output_tree[:7]
|
|
27
|
+
|
|
28
|
+
@property
|
|
29
|
+
def siblings(self) -> List[QuipuNode]:
|
|
30
|
+
if not self.parent:
|
|
31
|
+
return [self]
|
|
32
|
+
return self.parent.children
|
|
File without changes
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
from typing import Protocol, Dict, Optional, List, runtime_checkable
|
|
2
|
+
from pathlib import Path
|
|
3
|
+
from ..models.graph import QuipuNode
|
|
4
|
+
from .storage import HistoryReader, HistoryWriter
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@runtime_checkable
|
|
8
|
+
class QuipuEngine(Protocol):
|
|
9
|
+
root_dir: Path
|
|
10
|
+
reader: HistoryReader
|
|
11
|
+
writer: HistoryWriter
|
|
12
|
+
history_graph: Dict[str, QuipuNode]
|
|
13
|
+
current_node: Optional[QuipuNode]
|
|
14
|
+
|
|
15
|
+
def align(self) -> str: ...
|
|
16
|
+
def visit(self, target_hash: str) -> None: ...
|
|
17
|
+
def capture_drift(self, current_hash: str, message: Optional[str] = None) -> QuipuNode: ...
|
|
18
|
+
def create_plan_node(
|
|
19
|
+
self, input_tree: str, output_tree: str, plan_content: str, summary_override: Optional[str] = None
|
|
20
|
+
) -> QuipuNode: ...
|
|
21
|
+
def checkout(self, target_hash: str) -> None: ...
|
|
22
|
+
def back(self) -> Optional[str]: ...
|
|
23
|
+
def forward(self) -> Optional[str]: ...
|
|
24
|
+
def find_nodes(
|
|
25
|
+
self, summary_regex: Optional[str] = None, node_type: Optional[str] = None, limit: int = 10
|
|
26
|
+
) -> List[QuipuNode]: ...
|
|
27
|
+
def close(self) -> None: ...
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
from typing import Protocol, runtime_checkable
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
@runtime_checkable
|
|
5
|
+
class Renderer(Protocol):
|
|
6
|
+
def success(self, message: str) -> None: ...
|
|
7
|
+
def info(self, message: str) -> None: ...
|
|
8
|
+
def warning(self, message: str) -> None: ...
|
|
9
|
+
def error(self, message: str) -> None: ...
|
|
10
|
+
def data(self, data_string: str) -> None: ...
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from pathlib import Path
|
|
3
|
+
from typing import Protocol, List, Callable, runtime_checkable, TypedDict
|
|
4
|
+
from ..exceptions import ExecutionError
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@runtime_checkable
|
|
8
|
+
class ExecutorProtocol(Protocol):
|
|
9
|
+
@property
|
|
10
|
+
def root_dir(self) -> Path: ...
|
|
11
|
+
def resolve_path(self, rel_path: str) -> Path: ...
|
|
12
|
+
def request_confirmation(self, file_path: Path, old_content: str, new_content: str) -> bool: ...
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class ActContext:
|
|
16
|
+
def __init__(self, executor: ExecutorProtocol):
|
|
17
|
+
self._executor = executor
|
|
18
|
+
|
|
19
|
+
@property
|
|
20
|
+
def root_dir(self) -> Path:
|
|
21
|
+
return self._executor.root_dir
|
|
22
|
+
|
|
23
|
+
def resolve_path(self, rel_path: str) -> Path:
|
|
24
|
+
return self._executor.resolve_path(rel_path)
|
|
25
|
+
|
|
26
|
+
def request_confirmation(self, file_path: Path, old_content: str, new_content: str) -> bool:
|
|
27
|
+
return self._executor.request_confirmation(file_path, old_content, new_content)
|
|
28
|
+
|
|
29
|
+
def fail(self, message: str):
|
|
30
|
+
raise ExecutionError(message)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# --- Runtime Type Definitions ---
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class Statement(TypedDict):
|
|
37
|
+
act: str
|
|
38
|
+
contexts: List[str]
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
# Act 函数签名定义: (context, args) -> None
|
|
42
|
+
ActFunction = Callable[[ActContext, List[str]], None]
|
|
43
|
+
|
|
44
|
+
# Summarizer 函数签名定义: (args, context_blocks) -> str
|
|
45
|
+
Summarizer = Callable[[List[str], List[str]], str]
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
from typing import Protocol, List, Dict, Optional, Set, Any, runtime_checkable
|
|
2
|
+
from ..models.graph import QuipuNode
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
@runtime_checkable
|
|
6
|
+
class HistoryReader(Protocol):
|
|
7
|
+
def load_all_nodes(self) -> List[QuipuNode]: ...
|
|
8
|
+
def get_node_content(self, node: QuipuNode) -> str: ...
|
|
9
|
+
def get_node_blobs(self, commit_hash: str) -> Dict[str, bytes]: ...
|
|
10
|
+
def find_nodes(
|
|
11
|
+
self, summary_regex: Optional[str] = None, node_type: Optional[str] = None, limit: int = 10
|
|
12
|
+
) -> List[QuipuNode]: ...
|
|
13
|
+
def get_node_count(self) -> int: ...
|
|
14
|
+
def load_nodes_paginated(self, limit: int, offset: int) -> List[QuipuNode]: ...
|
|
15
|
+
def get_ancestor_output_trees(self, start_output_tree_hash: str) -> Set[str]: ...
|
|
16
|
+
def get_private_data(self, node_commit_hash: str) -> Optional[str]: ...
|
|
17
|
+
def get_descendant_output_trees(self, start_output_tree_hash: str) -> Set[str]: ...
|
|
18
|
+
def get_node_position(self, output_tree_hash: str) -> int: ...
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@runtime_checkable
|
|
22
|
+
class HistoryWriter(Protocol):
|
|
23
|
+
def create_node(
|
|
24
|
+
self, node_type: str, input_tree: str, output_tree: str, content: str, **kwargs: Any
|
|
25
|
+
) -> QuipuNode: ...
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
{
|
|
2
|
+
"fingerprints": {
|
|
3
|
+
"py://packages/pyquipu-spec/src/quipu/spec/exceptions.py#AIFSOpsError": {
|
|
4
|
+
"baseline_code_signature_text": "class AIFSOpsError(Exception):",
|
|
5
|
+
"baseline_code_structure_hash": "fc5a372aeb969f843698f3493aa2bbc8413b4488b3724476302ce75d35ac0d81",
|
|
6
|
+
"baseline_yaml_content_hash": "3245641438af8cc0aa61938b811047fa2ff793959293fb9afbd3419480064a33"
|
|
7
|
+
},
|
|
8
|
+
"py://packages/pyquipu-spec/src/quipu/spec/exceptions.py#ExecutionError": {
|
|
9
|
+
"baseline_code_signature_text": "class ExecutionError(AIFSOpsError):",
|
|
10
|
+
"baseline_code_structure_hash": "4baa72bc61c1156d30b52ef5718ef7aa16746e13bc93fc24f9bb8fe89020a18d",
|
|
11
|
+
"baseline_yaml_content_hash": "f24a55592d50ea1cd068a6c63d24990c099e370cc88dd37ebae2000bcc6d494e"
|
|
12
|
+
},
|
|
13
|
+
"py://packages/pyquipu-spec/src/quipu/spec/exceptions.py#OperationCancelledError": {
|
|
14
|
+
"baseline_code_signature_text": "class OperationCancelledError(ExecutionError):",
|
|
15
|
+
"baseline_code_structure_hash": "6b6f2855825ce5c170266021f9651c88c44e78c976576e92f0e136439f9fb265",
|
|
16
|
+
"baseline_yaml_content_hash": "40ac817483d7f36965450fcfb0979b9e1fe35d8418a1b9d470655782da2d91be"
|
|
17
|
+
},
|
|
18
|
+
"py://packages/pyquipu-spec/src/quipu/spec/exceptions.py#ParseError": {
|
|
19
|
+
"baseline_code_signature_text": "class ParseError(AIFSOpsError):",
|
|
20
|
+
"baseline_code_structure_hash": "c53679185cfd1e86925b3f794c283f62c133f1169fce4ba5359ea6a329233eaa",
|
|
21
|
+
"baseline_yaml_content_hash": "0e5e2927b8793764757b06dcf6d809ff1524c7088b1c28aefa5a55b69026a7f8"
|
|
22
|
+
},
|
|
23
|
+
"py://packages/pyquipu-spec/src/quipu/spec/models/execution.py#QuipuResult": {
|
|
24
|
+
"baseline_code_signature_text": "class QuipuResult:",
|
|
25
|
+
"baseline_code_structure_hash": "06b50f4dedf8b7dcddee0ed040535cd004e63102bb6082ec803891200e84f50a",
|
|
26
|
+
"baseline_yaml_content_hash": "d4a607c76c74ba666a0cc713186d78f5c7984e6967d43e9a65a5a2b3f866a723"
|
|
27
|
+
},
|
|
28
|
+
"py://packages/pyquipu-spec/src/quipu/spec/models/graph.py#QuipuNode": {
|
|
29
|
+
"baseline_code_signature_text": "class QuipuNode:",
|
|
30
|
+
"baseline_code_structure_hash": "5fe448b7c1b35c0ac2fbb70cdbdfb63d81a1ccfd8b2976512ca7dff5bfeccb58",
|
|
31
|
+
"baseline_yaml_content_hash": "0a104488ff08e05df2ce18abde8f30b3e7c365996a210c02f99c2c94f7daabfa"
|
|
32
|
+
},
|
|
33
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/engine.py#QuipuEngine": {
|
|
34
|
+
"baseline_code_signature_text": "class QuipuEngine(Protocol):",
|
|
35
|
+
"baseline_code_structure_hash": "e27cc52ef3c1bfc958d700e567fd0529204de368ff314349ce8b38af02464b3c",
|
|
36
|
+
"baseline_yaml_content_hash": "90a8bab6a3c92ecc639ce41d990d49f8f6dfd0005c22be0cc1f925c2e57717c5"
|
|
37
|
+
},
|
|
38
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/engine.py#QuipuEngine.align": {
|
|
39
|
+
"baseline_code_signature_text": "def align(self) -> str:",
|
|
40
|
+
"baseline_code_structure_hash": "ca024696817bc79db5069e2e16d7d503f5c7187d13ecc10f5e571df4e3670ddd"
|
|
41
|
+
},
|
|
42
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/engine.py#QuipuEngine.back": {
|
|
43
|
+
"baseline_code_signature_text": "def back(self) -> Optional[str]:",
|
|
44
|
+
"baseline_code_structure_hash": "a7748b7fc946b8eb824e020a87aa0c57ce9228f36f2bfea46eae4e36acc5a368"
|
|
45
|
+
},
|
|
46
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/engine.py#QuipuEngine.capture_drift": {
|
|
47
|
+
"baseline_code_signature_text": "def capture_drift(self, current_hash: str, message: Optional[str] = None) -> QuipuNode:",
|
|
48
|
+
"baseline_code_structure_hash": "d4756168f9df0f9c1e09da7cd742ce1442c7cf4e4ffba883161ab492798eb903"
|
|
49
|
+
},
|
|
50
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/engine.py#QuipuEngine.checkout": {
|
|
51
|
+
"baseline_code_signature_text": "def checkout(self, target_hash: str) -> None:",
|
|
52
|
+
"baseline_code_structure_hash": "ba0395f6a2fcb87f0a8fc64eac5649905d7b4312c20934596e6f363202bb5f9f"
|
|
53
|
+
},
|
|
54
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/engine.py#QuipuEngine.close": {
|
|
55
|
+
"baseline_code_signature_text": "def close(self) -> None:",
|
|
56
|
+
"baseline_code_structure_hash": "448a81ea26422a473726844413387f1a9caae2b00fb595913c94c1bad3e387a7"
|
|
57
|
+
},
|
|
58
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/engine.py#QuipuEngine.create_plan_node": {
|
|
59
|
+
"baseline_code_signature_text": "def create_plan_node(self, input_tree: str, output_tree: str, plan_content: str, summary_override: Optional[str] = None) -> QuipuNode:",
|
|
60
|
+
"baseline_code_structure_hash": "54a7940fb7f43ac7495fdbde9c1f62b7befd3a341f3c23d6917c3cbfa9d22cd5"
|
|
61
|
+
},
|
|
62
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/engine.py#QuipuEngine.find_nodes": {
|
|
63
|
+
"baseline_code_signature_text": "def find_nodes(self, summary_regex: Optional[str] = None, node_type: Optional[str] = None, limit: int = 10) -> List[QuipuNode]:",
|
|
64
|
+
"baseline_code_structure_hash": "3d04cb357877311ed8d37041f5ad5d0f322ed4105e52f5b88cfd40b6f110f6cc"
|
|
65
|
+
},
|
|
66
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/engine.py#QuipuEngine.forward": {
|
|
67
|
+
"baseline_code_signature_text": "def forward(self) -> Optional[str]:",
|
|
68
|
+
"baseline_code_structure_hash": "dc27f9b55154bebc01529f9ea3b0e1ae8e57be3dfeebc5e1bf291caa3aa73ee9"
|
|
69
|
+
},
|
|
70
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/engine.py#QuipuEngine.visit": {
|
|
71
|
+
"baseline_code_signature_text": "def visit(self, target_hash: str) -> None:",
|
|
72
|
+
"baseline_code_structure_hash": "00e303c1d2d4e189968576ae68fec363919d576a7bbf0ffd61e434a73cb32ca0"
|
|
73
|
+
},
|
|
74
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/messaging.py#Renderer": {
|
|
75
|
+
"baseline_code_signature_text": "class Renderer(Protocol):",
|
|
76
|
+
"baseline_code_structure_hash": "8342694db8d308b36ba5d1ecf2dc07bba1460712ac3a9a9438c5abba24852b3d",
|
|
77
|
+
"baseline_yaml_content_hash": "b5559e5e5454686dd205a6a527f55c70fd458fd9fc661fe1bb5970418663d7eb"
|
|
78
|
+
},
|
|
79
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/messaging.py#Renderer.data": {
|
|
80
|
+
"baseline_code_signature_text": "def data(self, data_string: str) -> None:",
|
|
81
|
+
"baseline_code_structure_hash": "e24670692edbaa5b2b5efeb813dbb1f8c58794e5f10e72f7b92f5ee5d18f505c"
|
|
82
|
+
},
|
|
83
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/messaging.py#Renderer.error": {
|
|
84
|
+
"baseline_code_signature_text": "def error(self, message: str) -> None:",
|
|
85
|
+
"baseline_code_structure_hash": "2cd45ec5cc7b5fb349714653e4b1c9f36712fc8adf7a7ef9e1eb8774b61e7f4c"
|
|
86
|
+
},
|
|
87
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/messaging.py#Renderer.info": {
|
|
88
|
+
"baseline_code_signature_text": "def info(self, message: str) -> None:",
|
|
89
|
+
"baseline_code_structure_hash": "74013f04bbff01b4572176f4cdac1721665fcad57786891db1ea372e5ce7de3b"
|
|
90
|
+
},
|
|
91
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/messaging.py#Renderer.success": {
|
|
92
|
+
"baseline_code_signature_text": "def success(self, message: str) -> None:",
|
|
93
|
+
"baseline_code_structure_hash": "17cccbfacd9894cee2db64164628e166abec8d66b260be2492fa5a812ad9d615"
|
|
94
|
+
},
|
|
95
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/messaging.py#Renderer.warning": {
|
|
96
|
+
"baseline_code_signature_text": "def warning(self, message: str) -> None:",
|
|
97
|
+
"baseline_code_structure_hash": "122aef289ffd46f5b55b51ddb08da50008b03914266298a8a491fe22cbdaabe4"
|
|
98
|
+
},
|
|
99
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/parser.py#PlanParser": {
|
|
100
|
+
"baseline_code_signature_text": "class PlanParser(Protocol):",
|
|
101
|
+
"baseline_code_structure_hash": "f6e7e0b1506b088368f020fd72b96b9ace617e4f9a02eb4c513e6a2c375cbfca",
|
|
102
|
+
"baseline_yaml_content_hash": "1fd3fc5addd4bd1a9e6f8b839b574d143003d974972fcf069ff8d7a5c562edfd"
|
|
103
|
+
},
|
|
104
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/parser.py#PlanParser.parse": {
|
|
105
|
+
"baseline_code_signature_text": "def parse(self, text: str) -> List[Statement]:",
|
|
106
|
+
"baseline_code_structure_hash": "707b6f06d9e47b672e6523beff9a1e7699ff5ad4f4c930ad4aa87c75b18fbd7f"
|
|
107
|
+
},
|
|
108
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/runtime.py#ActContext": {
|
|
109
|
+
"baseline_code_signature_text": "class ActContext:",
|
|
110
|
+
"baseline_code_structure_hash": "59a96b50a86285ea69756266a316ce62a8181101f51429907fa666ae5395f058",
|
|
111
|
+
"baseline_yaml_content_hash": "09d4e02b8db12698b3d87b51752bf82c4bc9e988caa5c486801a885cabf2f464"
|
|
112
|
+
},
|
|
113
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/runtime.py#ActContext.__init__": {
|
|
114
|
+
"baseline_code_signature_text": "def __init__(self, executor: ExecutorProtocol):",
|
|
115
|
+
"baseline_code_structure_hash": "e1b93ee725aa5ee39941887fb26b49732a7a8f61df0b77926daeda9129a29b32"
|
|
116
|
+
},
|
|
117
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/runtime.py#ActContext.fail": {
|
|
118
|
+
"baseline_code_signature_text": "def fail(self, message: str):",
|
|
119
|
+
"baseline_code_structure_hash": "958e2673564bee10478978290bfc40000240b95caeda5960ba5ab3f021fde407"
|
|
120
|
+
},
|
|
121
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/runtime.py#ActContext.request_confirmation": {
|
|
122
|
+
"baseline_code_signature_text": "def request_confirmation(self, file_path: Path, old_content: str, new_content: str) -> bool:",
|
|
123
|
+
"baseline_code_structure_hash": "308ac488c4d05a8380d8910726f80f5b8037609442117aefbf79db0737ed1831"
|
|
124
|
+
},
|
|
125
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/runtime.py#ActContext.resolve_path": {
|
|
126
|
+
"baseline_code_signature_text": "def resolve_path(self, rel_path: str) -> Path:",
|
|
127
|
+
"baseline_code_structure_hash": "72f5dd33f74cb5de3c3603b501ffd27c15a1aa7ad04c772be50667efef35f981"
|
|
128
|
+
},
|
|
129
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/runtime.py#ExecutorProtocol": {
|
|
130
|
+
"baseline_code_signature_text": "class ExecutorProtocol(Protocol):",
|
|
131
|
+
"baseline_code_structure_hash": "5ba8feddbb90925be658fe1a55a0fcca2a2067850b995da8a15bd3f327af9910",
|
|
132
|
+
"baseline_yaml_content_hash": "c265feb8cdf711f4a009e3a054c6d9b9e1cac38ca22db5431cacab79130a77b5"
|
|
133
|
+
},
|
|
134
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/runtime.py#ExecutorProtocol.request_confirmation": {
|
|
135
|
+
"baseline_code_signature_text": "def request_confirmation(self, file_path: Path, old_content: str, new_content: str) -> bool:",
|
|
136
|
+
"baseline_code_structure_hash": "308ac488c4d05a8380d8910726f80f5b8037609442117aefbf79db0737ed1831"
|
|
137
|
+
},
|
|
138
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/runtime.py#ExecutorProtocol.resolve_path": {
|
|
139
|
+
"baseline_code_signature_text": "def resolve_path(self, rel_path: str) -> Path:",
|
|
140
|
+
"baseline_code_structure_hash": "72f5dd33f74cb5de3c3603b501ffd27c15a1aa7ad04c772be50667efef35f981"
|
|
141
|
+
},
|
|
142
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/runtime.py#Statement": {
|
|
143
|
+
"baseline_code_signature_text": "class Statement(TypedDict):",
|
|
144
|
+
"baseline_code_structure_hash": "a71a6d36d5b816cfe96b1b76cc1eb0f218a04eea3080823362237ea3de4ff3d0",
|
|
145
|
+
"baseline_yaml_content_hash": "617d059dce0d2b84285f00ed8eabdd9d9e88d5529b7528b747a13c60d70f1787"
|
|
146
|
+
},
|
|
147
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/storage.py#HistoryReader": {
|
|
148
|
+
"baseline_code_signature_text": "class HistoryReader(Protocol):",
|
|
149
|
+
"baseline_code_structure_hash": "3ce92e99b1a40f6db0b4198af11310d36f37a101133c16b1d695493411282ad2",
|
|
150
|
+
"baseline_yaml_content_hash": "368ba6f89cf6384287d88bae6db4504c4c9e54be888685b16083b875c4cfc25e"
|
|
151
|
+
},
|
|
152
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/storage.py#HistoryReader.find_nodes": {
|
|
153
|
+
"baseline_code_signature_text": "def find_nodes(self, summary_regex: Optional[str] = None, node_type: Optional[str] = None, limit: int = 10) -> List[QuipuNode]:",
|
|
154
|
+
"baseline_code_structure_hash": "3d04cb357877311ed8d37041f5ad5d0f322ed4105e52f5b88cfd40b6f110f6cc"
|
|
155
|
+
},
|
|
156
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/storage.py#HistoryReader.get_ancestor_output_trees": {
|
|
157
|
+
"baseline_code_signature_text": "def get_ancestor_output_trees(self, start_output_tree_hash: str) -> Set[str]:",
|
|
158
|
+
"baseline_code_structure_hash": "5ae091ca177977fc323d5563cb7f0c6e7af44ac50237f951d24c9793c2336220"
|
|
159
|
+
},
|
|
160
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/storage.py#HistoryReader.get_descendant_output_trees": {
|
|
161
|
+
"baseline_code_signature_text": "def get_descendant_output_trees(self, start_output_tree_hash: str) -> Set[str]:",
|
|
162
|
+
"baseline_code_structure_hash": "8eb09e56e11e9534720ef7286af9a75507b606322ada07811813f6b3278f5edd"
|
|
163
|
+
},
|
|
164
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/storage.py#HistoryReader.get_node_blobs": {
|
|
165
|
+
"baseline_code_signature_text": "def get_node_blobs(self, commit_hash: str) -> Dict[str, bytes]:",
|
|
166
|
+
"baseline_code_structure_hash": "48acf7a37a5612c09d5062797e966133a5c15ba17d05e10407be3235bb076f3d"
|
|
167
|
+
},
|
|
168
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/storage.py#HistoryReader.get_node_content": {
|
|
169
|
+
"baseline_code_signature_text": "def get_node_content(self, node: QuipuNode) -> str:",
|
|
170
|
+
"baseline_code_structure_hash": "72fb728d5fb5468b523a77045d87750229fb34202f36e0bfe8861de1ab999ed8"
|
|
171
|
+
},
|
|
172
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/storage.py#HistoryReader.get_node_count": {
|
|
173
|
+
"baseline_code_signature_text": "def get_node_count(self) -> int:",
|
|
174
|
+
"baseline_code_structure_hash": "f248a486494c998cc0f98482e50a5e3292f3132d247377d5088251762489517e"
|
|
175
|
+
},
|
|
176
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/storage.py#HistoryReader.get_node_position": {
|
|
177
|
+
"baseline_code_signature_text": "def get_node_position(self, output_tree_hash: str) -> int:",
|
|
178
|
+
"baseline_code_structure_hash": "eeb815e029cbffaf43c5365481a21a4251ca6fb30632886a63a5716104041b0e"
|
|
179
|
+
},
|
|
180
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/storage.py#HistoryReader.get_private_data": {
|
|
181
|
+
"baseline_code_signature_text": "def get_private_data(self, node_commit_hash: str) -> Optional[str]:",
|
|
182
|
+
"baseline_code_structure_hash": "b03c5152ce31de33095b38682a69df3dcfcd6551fd2d0e5109137fb9a8e6a772"
|
|
183
|
+
},
|
|
184
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/storage.py#HistoryReader.load_all_nodes": {
|
|
185
|
+
"baseline_code_signature_text": "def load_all_nodes(self) -> List[QuipuNode]:",
|
|
186
|
+
"baseline_code_structure_hash": "860f1b0ce953562bf9798d8e0e7a6d05c0aada817fc5e88689012cb45876f7be"
|
|
187
|
+
},
|
|
188
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/storage.py#HistoryReader.load_nodes_paginated": {
|
|
189
|
+
"baseline_code_signature_text": "def load_nodes_paginated(self, limit: int, offset: int) -> List[QuipuNode]:",
|
|
190
|
+
"baseline_code_structure_hash": "cf4d892bf90a00fa3f083ef8e4bb292b58bf36a417cf53e04002657744c0022e"
|
|
191
|
+
},
|
|
192
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/storage.py#HistoryWriter": {
|
|
193
|
+
"baseline_code_signature_text": "class HistoryWriter(Protocol):",
|
|
194
|
+
"baseline_code_structure_hash": "740981829e9176f53f5b3009c22bed5ac51dbacc64df70ffe3dcf2e19b74bb07",
|
|
195
|
+
"baseline_yaml_content_hash": "a64382b70e78938181dd8dcb30eeb0300d71d9443d85bc50ef4729e69ce2b6c6"
|
|
196
|
+
},
|
|
197
|
+
"py://packages/pyquipu-spec/src/quipu/spec/protocols/storage.py#HistoryWriter.create_node": {
|
|
198
|
+
"baseline_code_signature_text": "def create_node(self, node_type: str, input_tree: str, output_tree: str, content: str, **kwargs: Any = {}) -> QuipuNode:",
|
|
199
|
+
"baseline_code_structure_hash": "f04bb8222f7e248eae151188752d560054da0331a6605ee0e8b2938943348a8d"
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
"version": "1.0"
|
|
203
|
+
}
|