griptape-nodes 0.38.1__py3-none-any.whl → 0.41.0__py3-none-any.whl
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.
- griptape_nodes/__init__.py +13 -9
- griptape_nodes/app/__init__.py +10 -1
- griptape_nodes/app/app.py +2 -3
- griptape_nodes/app/app_sessions.py +458 -0
- griptape_nodes/bootstrap/workflow_executors/__init__.py +1 -0
- griptape_nodes/bootstrap/workflow_executors/local_workflow_executor.py +213 -0
- griptape_nodes/bootstrap/workflow_executors/workflow_executor.py +13 -0
- griptape_nodes/bootstrap/workflow_runners/local_workflow_runner.py +1 -1
- griptape_nodes/drivers/storage/__init__.py +4 -0
- griptape_nodes/drivers/storage/storage_backend.py +10 -0
- griptape_nodes/exe_types/core_types.py +5 -1
- griptape_nodes/exe_types/node_types.py +20 -24
- griptape_nodes/machines/node_resolution.py +5 -1
- griptape_nodes/node_library/advanced_node_library.py +51 -0
- griptape_nodes/node_library/library_registry.py +28 -2
- griptape_nodes/node_library/workflow_registry.py +1 -1
- griptape_nodes/retained_mode/events/agent_events.py +15 -2
- griptape_nodes/retained_mode/events/app_events.py +113 -2
- griptape_nodes/retained_mode/events/base_events.py +28 -1
- griptape_nodes/retained_mode/events/library_events.py +111 -1
- griptape_nodes/retained_mode/events/node_events.py +1 -0
- griptape_nodes/retained_mode/events/workflow_events.py +1 -0
- griptape_nodes/retained_mode/griptape_nodes.py +240 -18
- griptape_nodes/retained_mode/managers/agent_manager.py +123 -17
- griptape_nodes/retained_mode/managers/flow_manager.py +16 -48
- griptape_nodes/retained_mode/managers/library_manager.py +642 -121
- griptape_nodes/retained_mode/managers/node_manager.py +2 -2
- griptape_nodes/retained_mode/managers/static_files_manager.py +4 -3
- griptape_nodes/retained_mode/managers/workflow_manager.py +666 -37
- griptape_nodes/retained_mode/utils/__init__.py +1 -0
- griptape_nodes/retained_mode/utils/engine_identity.py +131 -0
- griptape_nodes/retained_mode/utils/name_generator.py +162 -0
- griptape_nodes/retained_mode/utils/session_persistence.py +105 -0
- {griptape_nodes-0.38.1.dist-info → griptape_nodes-0.41.0.dist-info}/METADATA +1 -1
- {griptape_nodes-0.38.1.dist-info → griptape_nodes-0.41.0.dist-info}/RECORD +38 -28
- {griptape_nodes-0.38.1.dist-info → griptape_nodes-0.41.0.dist-info}/WHEEL +0 -0
- {griptape_nodes-0.38.1.dist-info → griptape_nodes-0.41.0.dist-info}/entry_points.txt +0 -0
- {griptape_nodes-0.38.1.dist-info → griptape_nodes-0.41.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Utility modules for the retained mode system."""
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"""Manages engine identity for a single engine per machine.
|
|
2
|
+
|
|
3
|
+
Handles engine ID, name storage, and generation for unique engine identification.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import json
|
|
7
|
+
import os
|
|
8
|
+
import uuid
|
|
9
|
+
from datetime import UTC, datetime
|
|
10
|
+
from pathlib import Path
|
|
11
|
+
|
|
12
|
+
from xdg_base_dirs import xdg_data_home
|
|
13
|
+
|
|
14
|
+
from .name_generator import generate_engine_name
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class EngineIdentity:
|
|
18
|
+
"""Manages engine identity for a single engine per machine."""
|
|
19
|
+
|
|
20
|
+
_ENGINE_DATA_FILE = "engine.json"
|
|
21
|
+
|
|
22
|
+
@classmethod
|
|
23
|
+
def _get_engine_data_dir(cls) -> Path:
|
|
24
|
+
"""Get the XDG data directory for engine identity storage."""
|
|
25
|
+
return xdg_data_home() / "griptape_nodes"
|
|
26
|
+
|
|
27
|
+
@classmethod
|
|
28
|
+
def _get_engine_data_file(cls) -> Path:
|
|
29
|
+
"""Get the path to the engine data storage file."""
|
|
30
|
+
return cls._get_engine_data_dir() / cls._ENGINE_DATA_FILE
|
|
31
|
+
|
|
32
|
+
@classmethod
|
|
33
|
+
def _load_engine_data(cls) -> dict:
|
|
34
|
+
"""Load engine data from storage.
|
|
35
|
+
|
|
36
|
+
Returns:
|
|
37
|
+
dict: Engine data including id, name, timestamps
|
|
38
|
+
"""
|
|
39
|
+
engine_data_file = cls._get_engine_data_file()
|
|
40
|
+
|
|
41
|
+
if engine_data_file.exists():
|
|
42
|
+
try:
|
|
43
|
+
with engine_data_file.open("r") as f:
|
|
44
|
+
data = json.load(f)
|
|
45
|
+
if isinstance(data, dict):
|
|
46
|
+
return data
|
|
47
|
+
except (json.JSONDecodeError, OSError):
|
|
48
|
+
# If file is corrupted, return empty dict
|
|
49
|
+
pass
|
|
50
|
+
|
|
51
|
+
return {}
|
|
52
|
+
|
|
53
|
+
@classmethod
|
|
54
|
+
def _save_engine_data(cls, engine_data: dict) -> None:
|
|
55
|
+
"""Save engine data to storage.
|
|
56
|
+
|
|
57
|
+
Args:
|
|
58
|
+
engine_data: Engine data to save
|
|
59
|
+
"""
|
|
60
|
+
engine_data_dir = cls._get_engine_data_dir()
|
|
61
|
+
engine_data_dir.mkdir(parents=True, exist_ok=True)
|
|
62
|
+
|
|
63
|
+
engine_data_file = cls._get_engine_data_file()
|
|
64
|
+
with engine_data_file.open("w") as f:
|
|
65
|
+
json.dump(engine_data, f, indent=2)
|
|
66
|
+
|
|
67
|
+
@classmethod
|
|
68
|
+
def get_engine_data(cls) -> dict:
|
|
69
|
+
"""Get the engine data, creating default if it doesn't exist.
|
|
70
|
+
|
|
71
|
+
Returns:
|
|
72
|
+
dict: The engine data
|
|
73
|
+
"""
|
|
74
|
+
engine_data = cls._load_engine_data()
|
|
75
|
+
|
|
76
|
+
if not engine_data or "id" not in engine_data:
|
|
77
|
+
# Create default engine data
|
|
78
|
+
engine_data = {
|
|
79
|
+
"id": os.getenv("GTN_ENGINE_ID") or str(uuid.uuid4()),
|
|
80
|
+
"name": generate_engine_name(),
|
|
81
|
+
"created_at": datetime.now(tz=UTC).isoformat(),
|
|
82
|
+
}
|
|
83
|
+
cls._save_engine_data(engine_data)
|
|
84
|
+
|
|
85
|
+
return engine_data
|
|
86
|
+
|
|
87
|
+
@classmethod
|
|
88
|
+
def get_engine_id(cls) -> str:
|
|
89
|
+
"""Get the engine ID.
|
|
90
|
+
|
|
91
|
+
Returns:
|
|
92
|
+
str: The engine ID (UUID)
|
|
93
|
+
"""
|
|
94
|
+
engine_data = cls.get_engine_data()
|
|
95
|
+
return engine_data["id"]
|
|
96
|
+
|
|
97
|
+
@classmethod
|
|
98
|
+
def get_engine_name(cls) -> str:
|
|
99
|
+
"""Get the engine name.
|
|
100
|
+
|
|
101
|
+
Returns:
|
|
102
|
+
str: The engine name
|
|
103
|
+
"""
|
|
104
|
+
engine_data = cls.get_engine_data()
|
|
105
|
+
return engine_data["name"]
|
|
106
|
+
|
|
107
|
+
@classmethod
|
|
108
|
+
def set_engine_name(cls, engine_name: str) -> None:
|
|
109
|
+
"""Set and persist the engine name.
|
|
110
|
+
|
|
111
|
+
Args:
|
|
112
|
+
engine_name: The new engine name to set
|
|
113
|
+
"""
|
|
114
|
+
engine_data = cls._load_engine_data()
|
|
115
|
+
|
|
116
|
+
# Ensure we have basic engine data
|
|
117
|
+
if not engine_data or "id" not in engine_data:
|
|
118
|
+
engine_data = cls.get_engine_data()
|
|
119
|
+
|
|
120
|
+
engine_data["name"] = engine_name
|
|
121
|
+
engine_data["updated_at"] = datetime.now(tz=UTC).isoformat()
|
|
122
|
+
cls._save_engine_data(engine_data)
|
|
123
|
+
|
|
124
|
+
@classmethod
|
|
125
|
+
def get_engine_data_file_path(cls) -> Path:
|
|
126
|
+
"""Get the path where engine data is stored (for debugging/inspection).
|
|
127
|
+
|
|
128
|
+
Returns:
|
|
129
|
+
Path: The path to the engine data file
|
|
130
|
+
"""
|
|
131
|
+
return cls._get_engine_data_file()
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"""Generates random fun names for engines like 'admirable-finch' or 'ancient-green-cat'.
|
|
2
|
+
|
|
3
|
+
Used for default engine naming when no custom name is provided.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import random
|
|
7
|
+
|
|
8
|
+
ADJECTIVES = [
|
|
9
|
+
"admirable",
|
|
10
|
+
"ancient",
|
|
11
|
+
"brave",
|
|
12
|
+
"bright",
|
|
13
|
+
"calm",
|
|
14
|
+
"clever",
|
|
15
|
+
"cool",
|
|
16
|
+
"cozy",
|
|
17
|
+
"daring",
|
|
18
|
+
"dreamy",
|
|
19
|
+
"eager",
|
|
20
|
+
"elegant",
|
|
21
|
+
"epic",
|
|
22
|
+
"fancy",
|
|
23
|
+
"fierce",
|
|
24
|
+
"fluffy",
|
|
25
|
+
"gentle",
|
|
26
|
+
"golden",
|
|
27
|
+
"graceful",
|
|
28
|
+
"happy",
|
|
29
|
+
"honest",
|
|
30
|
+
"jolly",
|
|
31
|
+
"kind",
|
|
32
|
+
"lively",
|
|
33
|
+
"lucky",
|
|
34
|
+
"magical",
|
|
35
|
+
"mighty",
|
|
36
|
+
"noble",
|
|
37
|
+
"peaceful",
|
|
38
|
+
"playful",
|
|
39
|
+
"proud",
|
|
40
|
+
"quiet",
|
|
41
|
+
"radiant",
|
|
42
|
+
"serene",
|
|
43
|
+
"shiny",
|
|
44
|
+
"silver",
|
|
45
|
+
"smooth",
|
|
46
|
+
"stellar",
|
|
47
|
+
"swift",
|
|
48
|
+
"tender",
|
|
49
|
+
"valiant",
|
|
50
|
+
"vibrant",
|
|
51
|
+
"warm",
|
|
52
|
+
"wise",
|
|
53
|
+
"wonderful",
|
|
54
|
+
"zesty",
|
|
55
|
+
]
|
|
56
|
+
|
|
57
|
+
ANIMALS = [
|
|
58
|
+
"ant",
|
|
59
|
+
"bear",
|
|
60
|
+
"cat",
|
|
61
|
+
"deer",
|
|
62
|
+
"eagle",
|
|
63
|
+
"finch",
|
|
64
|
+
"goat",
|
|
65
|
+
"hawk",
|
|
66
|
+
"ibis",
|
|
67
|
+
"jay",
|
|
68
|
+
"kiwi",
|
|
69
|
+
"llama",
|
|
70
|
+
"mouse",
|
|
71
|
+
"newt",
|
|
72
|
+
"owl",
|
|
73
|
+
"panda",
|
|
74
|
+
"quail",
|
|
75
|
+
"rabbit",
|
|
76
|
+
"seal",
|
|
77
|
+
"tiger",
|
|
78
|
+
"urchin",
|
|
79
|
+
"viper",
|
|
80
|
+
"whale",
|
|
81
|
+
"xerus",
|
|
82
|
+
"yak",
|
|
83
|
+
"zebra",
|
|
84
|
+
"badger",
|
|
85
|
+
"crane",
|
|
86
|
+
"dove",
|
|
87
|
+
"elk",
|
|
88
|
+
"fox",
|
|
89
|
+
"gecko",
|
|
90
|
+
"heron",
|
|
91
|
+
"iguana",
|
|
92
|
+
"jackal",
|
|
93
|
+
"koala",
|
|
94
|
+
"lynx",
|
|
95
|
+
"mole",
|
|
96
|
+
"narwhal",
|
|
97
|
+
"otter",
|
|
98
|
+
"penguin",
|
|
99
|
+
"quokka",
|
|
100
|
+
"raven",
|
|
101
|
+
"swan",
|
|
102
|
+
"turtle",
|
|
103
|
+
"unicorn",
|
|
104
|
+
"vulture",
|
|
105
|
+
"wolf",
|
|
106
|
+
"xenops",
|
|
107
|
+
"yellowhammer",
|
|
108
|
+
]
|
|
109
|
+
|
|
110
|
+
COLORS = [
|
|
111
|
+
"amber",
|
|
112
|
+
"azure",
|
|
113
|
+
"bronze",
|
|
114
|
+
"coral",
|
|
115
|
+
"crimson",
|
|
116
|
+
"emerald",
|
|
117
|
+
"forest",
|
|
118
|
+
"golden",
|
|
119
|
+
"indigo",
|
|
120
|
+
"jade",
|
|
121
|
+
"lavender",
|
|
122
|
+
"magenta",
|
|
123
|
+
"navy",
|
|
124
|
+
"orange",
|
|
125
|
+
"pink",
|
|
126
|
+
"rose",
|
|
127
|
+
"ruby",
|
|
128
|
+
"sage",
|
|
129
|
+
"teal",
|
|
130
|
+
"violet",
|
|
131
|
+
"white",
|
|
132
|
+
"yellow",
|
|
133
|
+
"black",
|
|
134
|
+
"blue",
|
|
135
|
+
"brown",
|
|
136
|
+
"cyan",
|
|
137
|
+
"gray",
|
|
138
|
+
"green",
|
|
139
|
+
"lime",
|
|
140
|
+
"maroon",
|
|
141
|
+
"olive",
|
|
142
|
+
"purple",
|
|
143
|
+
"red",
|
|
144
|
+
"silver",
|
|
145
|
+
]
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
def generate_engine_name() -> str:
|
|
149
|
+
"""Generate a random engine name in the format 'adjective-animal' or 'adjective-color-animal'.
|
|
150
|
+
|
|
151
|
+
Returns:
|
|
152
|
+
str: A randomly generated engine name
|
|
153
|
+
"""
|
|
154
|
+
adjective = random.choice(ADJECTIVES) # noqa: S311
|
|
155
|
+
animal = random.choice(ANIMALS) # noqa: S311
|
|
156
|
+
|
|
157
|
+
# 30% chance to include a color for more variety
|
|
158
|
+
color_chance = 0.3
|
|
159
|
+
if random.random() < color_chance: # noqa: S311
|
|
160
|
+
color = random.choice(COLORS) # noqa: S311
|
|
161
|
+
return f"{adjective}-{color}-{animal}"
|
|
162
|
+
return f"{adjective}-{animal}"
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"""Manages session persistence using XDG state directory.
|
|
2
|
+
|
|
3
|
+
Handles storing and retrieving active session information across engine restarts.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import json
|
|
7
|
+
from datetime import UTC, datetime
|
|
8
|
+
from pathlib import Path
|
|
9
|
+
|
|
10
|
+
from xdg_base_dirs import xdg_state_home
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class SessionPersistence:
|
|
14
|
+
"""Manages session persistence for active session tracking."""
|
|
15
|
+
|
|
16
|
+
_SESSION_STATE_FILE = "session.json"
|
|
17
|
+
|
|
18
|
+
@classmethod
|
|
19
|
+
def _get_session_state_dir(cls) -> Path:
|
|
20
|
+
"""Get the XDG state directory for session persistence."""
|
|
21
|
+
return xdg_state_home() / "griptape_nodes"
|
|
22
|
+
|
|
23
|
+
@classmethod
|
|
24
|
+
def _get_session_state_file(cls) -> Path:
|
|
25
|
+
"""Get the path to the session state storage file."""
|
|
26
|
+
return cls._get_session_state_dir() / cls._SESSION_STATE_FILE
|
|
27
|
+
|
|
28
|
+
@classmethod
|
|
29
|
+
def _load_session_data(cls) -> dict:
|
|
30
|
+
"""Load session data from storage.
|
|
31
|
+
|
|
32
|
+
Returns:
|
|
33
|
+
dict: Session data including id, timestamps
|
|
34
|
+
"""
|
|
35
|
+
session_state_file = cls._get_session_state_file()
|
|
36
|
+
|
|
37
|
+
if session_state_file.exists():
|
|
38
|
+
try:
|
|
39
|
+
with session_state_file.open("r") as f:
|
|
40
|
+
data = json.load(f)
|
|
41
|
+
if isinstance(data, dict):
|
|
42
|
+
return data
|
|
43
|
+
except (json.JSONDecodeError, OSError):
|
|
44
|
+
# If file is corrupted, return empty dict
|
|
45
|
+
pass
|
|
46
|
+
|
|
47
|
+
return {}
|
|
48
|
+
|
|
49
|
+
@classmethod
|
|
50
|
+
def _save_session_data(cls, session_data: dict) -> None:
|
|
51
|
+
"""Save session data to storage.
|
|
52
|
+
|
|
53
|
+
Args:
|
|
54
|
+
session_data: Session data to save
|
|
55
|
+
"""
|
|
56
|
+
session_state_dir = cls._get_session_state_dir()
|
|
57
|
+
session_state_dir.mkdir(parents=True, exist_ok=True)
|
|
58
|
+
|
|
59
|
+
session_state_file = cls._get_session_state_file()
|
|
60
|
+
with session_state_file.open("w") as f:
|
|
61
|
+
json.dump(session_data, f, indent=2)
|
|
62
|
+
|
|
63
|
+
@classmethod
|
|
64
|
+
def persist_session(cls, session_id: str) -> None:
|
|
65
|
+
"""Persist the active session ID to storage.
|
|
66
|
+
|
|
67
|
+
Args:
|
|
68
|
+
session_id: The session ID to persist
|
|
69
|
+
"""
|
|
70
|
+
session_data = {
|
|
71
|
+
"session_id": session_id,
|
|
72
|
+
"started_at": datetime.now(tz=UTC).isoformat(),
|
|
73
|
+
"last_updated": datetime.now(tz=UTC).isoformat(),
|
|
74
|
+
}
|
|
75
|
+
cls._save_session_data(session_data)
|
|
76
|
+
|
|
77
|
+
@classmethod
|
|
78
|
+
def get_persisted_session_id(cls) -> str | None:
|
|
79
|
+
"""Get the persisted session ID if it exists.
|
|
80
|
+
|
|
81
|
+
Returns:
|
|
82
|
+
str | None: The persisted session ID or None if no session is persisted
|
|
83
|
+
"""
|
|
84
|
+
session_data = cls._load_session_data()
|
|
85
|
+
return session_data.get("session_id")
|
|
86
|
+
|
|
87
|
+
@classmethod
|
|
88
|
+
def clear_persisted_session(cls) -> None:
|
|
89
|
+
"""Clear the persisted session data."""
|
|
90
|
+
session_state_file = cls._get_session_state_file()
|
|
91
|
+
if session_state_file.exists():
|
|
92
|
+
try:
|
|
93
|
+
session_state_file.unlink()
|
|
94
|
+
except OSError:
|
|
95
|
+
# If we can't delete the file, just clear its contents
|
|
96
|
+
cls._save_session_data({})
|
|
97
|
+
|
|
98
|
+
@classmethod
|
|
99
|
+
def has_persisted_session(cls) -> bool:
|
|
100
|
+
"""Check if there is a persisted session.
|
|
101
|
+
|
|
102
|
+
Returns:
|
|
103
|
+
bool: True if there is a persisted session, False otherwise
|
|
104
|
+
"""
|
|
105
|
+
return cls.get_persisted_session_id() is not None
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
griptape_nodes/__init__.py,sha256=
|
|
1
|
+
griptape_nodes/__init__.py,sha256=49jcr4gyvTjpdZDKCek0UqtAMeMdJr-OL_Hx7Ira8CE,37026
|
|
2
2
|
griptape_nodes/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
3
|
griptape_nodes/app/.python-version,sha256=e1X45ntWI8S-8_ppEojalDfXnTq6FW3kjUgdsyrH0W0,5
|
|
4
|
-
griptape_nodes/app/__init__.py,sha256=
|
|
5
|
-
griptape_nodes/app/app.py,sha256=
|
|
4
|
+
griptape_nodes/app/__init__.py,sha256=x6FNnJwW9e1cUmsq64UhXWXnHOP-ivv2KT3kST1EmPM,435
|
|
5
|
+
griptape_nodes/app/app.py,sha256=VmGUedjaLcFNu46nvXh2OJqlmLkcU7aYZJh72zW7em8,18876
|
|
6
|
+
griptape_nodes/app/app_sessions.py,sha256=yu9v853CchkcudevPYV_Gqi6P1FBTj-GgszUNc6ZMOA,17701
|
|
6
7
|
griptape_nodes/app/watch.py,sha256=Jh7sQoptOuVzEobyhHG5EThxOcb8wfkW0JOmYE-WDpE,1848
|
|
7
8
|
griptape_nodes/bootstrap/__init__.py,sha256=ENv3SIzQ9TtlRrg1y4e4CnoBpJaFpFSkNpTFBV8X5Ls,25
|
|
8
9
|
griptape_nodes/bootstrap/bootstrap_script.py,sha256=QLLu3wu1VGmoUU8SKGeyLGDOijKBLGAJYv1RlI9sub0,1312
|
|
@@ -10,46 +11,51 @@ griptape_nodes/bootstrap/post_build_install_script.sh,sha256=t2ItVve_2Vk7jMFsfAf
|
|
|
10
11
|
griptape_nodes/bootstrap/pre_build_install_script.sh,sha256=M7e9l9_VMXf2XXK-2gdUniH4qcTj6VCpEKcVvRO535k,84
|
|
11
12
|
griptape_nodes/bootstrap/register_libraries_script.py,sha256=E6j8vhPha-hOVKZBKAGCibOpW3gIrxERlL-_WEeWc78,1019
|
|
12
13
|
griptape_nodes/bootstrap/structure_config.yaml,sha256=JKFdZ6lRrfrbdubSusdvdwOg3yDHDeT5UvVWhXzWjxE,515
|
|
14
|
+
griptape_nodes/bootstrap/workflow_executors/__init__.py,sha256=pyjN81-eLtjyECFYLXOtMCixiiI9qBi5yald86iM7Ek,34
|
|
15
|
+
griptape_nodes/bootstrap/workflow_executors/local_workflow_executor.py,sha256=g7pxi20YexkjNcxVw-5dSa0I1voCJvIf689PZ7HZLtQ,8738
|
|
16
|
+
griptape_nodes/bootstrap/workflow_executors/workflow_executor.py,sha256=bE3dysKdVKU92jLvUPQZqzJ49cAutTZAM6tXeNo__go,355
|
|
13
17
|
griptape_nodes/bootstrap/workflow_runners/__init__.py,sha256=Vlk2qn6OAlwulvtxvWwdSx__npjy1X7nDopX0qnMVJk,32
|
|
14
18
|
griptape_nodes/bootstrap/workflow_runners/bootstrap_workflow_runner.py,sha256=3ct5lrW07oxW6-via_oF93BDKbiWYjReau7TyqPj6-s,1247
|
|
15
|
-
griptape_nodes/bootstrap/workflow_runners/local_workflow_runner.py,sha256=
|
|
19
|
+
griptape_nodes/bootstrap/workflow_runners/local_workflow_runner.py,sha256=brY3p9LiIpZ_1CTKLmfEfLEqqOZU25-9FpihDpg6vvQ,9722
|
|
16
20
|
griptape_nodes/bootstrap/workflow_runners/subprocess_workflow_runner.py,sha256=q-OE-sYJu9dKBJkCDbKGgl45TbUUaXSJeMw1i3ziApc,2223
|
|
17
21
|
griptape_nodes/bootstrap/workflow_runners/workflow_runner.py,sha256=fmtCH8_c_VdudHAyCJCYL-L5TFexwAVyVIjQXC0OwGU,290
|
|
18
22
|
griptape_nodes/drivers/__init__.py,sha256=tHmiFQn6uJyFVhC2PrqHgRUH3d3yDsqMQpWqRasmaqA,42
|
|
19
|
-
griptape_nodes/drivers/storage/__init__.py,sha256=
|
|
23
|
+
griptape_nodes/drivers/storage/__init__.py,sha256=_7p8vJt3YnnF6sD3Uxxw38c-gazuMIHSS-m3G6sa2Qk,208
|
|
20
24
|
griptape_nodes/drivers/storage/base_storage_driver.py,sha256=di1tqC-o8tEeZ8h_asUxb5KgixwJbTlQLe_lUtqcunQ,1050
|
|
21
25
|
griptape_nodes/drivers/storage/griptape_cloud_storage_driver.py,sha256=zYQHzHxlE3TcOitytk9WpD3YTKTRyfrzW-H_vXpgTLQ,6083
|
|
22
26
|
griptape_nodes/drivers/storage/local_storage_driver.py,sha256=PnKgnjkhmnzI5SOI3VKXTkwbb5G1lLs25pLTr022W_c,2196
|
|
27
|
+
griptape_nodes/drivers/storage/storage_backend.py,sha256=3QBIwrgPc1krBIiPYLoK2swhIPDiKJnnucOEdyx7y3c,184
|
|
23
28
|
griptape_nodes/exe_types/__init__.py,sha256=wGGwKGX9-TSarUFbXpDvdU_J7eXIbWTBl_NCLOZa-G8,32
|
|
24
29
|
griptape_nodes/exe_types/connections.py,sha256=_-VNzf6Kay62QzJlSX-LlHTUhz-CKF-UDsbZLJ0l6Wk,12435
|
|
25
|
-
griptape_nodes/exe_types/core_types.py,sha256=
|
|
30
|
+
griptape_nodes/exe_types/core_types.py,sha256=gkWSehpB28kFwgKl8KNrW4MaxB2rcEEPTuOThCOg6ms,58259
|
|
26
31
|
griptape_nodes/exe_types/flow.py,sha256=FAjs6vWEWbuoU5OvUGjs8BY_kEB7IWKvlJ-X5HXkoZ4,21095
|
|
27
|
-
griptape_nodes/exe_types/node_types.py,sha256=
|
|
32
|
+
griptape_nodes/exe_types/node_types.py,sha256=MwrZCFPsKU3VV1GoG6jeuGyyLjkCQ_7EZHfiuKcm0hU,45514
|
|
28
33
|
griptape_nodes/exe_types/type_validator.py,sha256=RTz1vX09jzQpHhozITMJ0siOZUXvsERDhrApjdaM1WM,1120
|
|
29
34
|
griptape_nodes/machines/__init__.py,sha256=v0jkwr-CFOLmfEYUQvX8BKQLOdvhSsA6toXkdHcPGUE,30
|
|
30
35
|
griptape_nodes/machines/control_flow.py,sha256=LegXG4If6M5N6ZNlrQywLGQe-sjg_VKDeKPu5gmqbxU,8421
|
|
31
36
|
griptape_nodes/machines/fsm.py,sha256=JwNz32UmcajoADDMm_fL5MqDRNjr6t8CIUzck-7TFhE,1784
|
|
32
|
-
griptape_nodes/machines/node_resolution.py,sha256=
|
|
37
|
+
griptape_nodes/machines/node_resolution.py,sha256=Ou29TWTDWr0m54oYYszBIcVILauK7hET4tTWGDJojM4,19929
|
|
33
38
|
griptape_nodes/node_library/__init__.py,sha256=U3FcSdmq6UW7qt6E3Up3NWKvUEn5_5lqL-u5qbzfxMQ,28
|
|
34
|
-
griptape_nodes/node_library/
|
|
35
|
-
griptape_nodes/node_library/
|
|
39
|
+
griptape_nodes/node_library/advanced_node_library.py,sha256=B1ZaxuFIzQ6tx_3MLIxlsHuahthEC1Hw_t6K_ByIdzs,2104
|
|
40
|
+
griptape_nodes/node_library/library_registry.py,sha256=fE1NF-9SeRPK_pWPQgfeDBsMzvxiAlShPBvi71DCG9Q,12099
|
|
41
|
+
griptape_nodes/node_library/workflow_registry.py,sha256=WF4jsXOa8AvWykkLPgnwYo-n2PYT5c3fJgjxYCaHOps,4257
|
|
36
42
|
griptape_nodes/retained_mode/__init__.py,sha256=X12DKL6KhLsiRTPIlrPj2h76_sJ0q0eH4r0kMQkodm0,29
|
|
37
|
-
griptape_nodes/retained_mode/griptape_nodes.py,sha256=
|
|
43
|
+
griptape_nodes/retained_mode/griptape_nodes.py,sha256=F4EdAFSBm3tZsiKl9k2d5HB0hiv06A1EZit55bmqJWU,37167
|
|
38
44
|
griptape_nodes/retained_mode/retained_mode.py,sha256=HUKoiTtDYm61a1wipeLKk_1oRfkMeIjiWrzGQ6x61d0,54779
|
|
39
45
|
griptape_nodes/retained_mode/events/__init__.py,sha256=7B1C-c0jVvnShtHJ2lfX6BZPE0U1DgQwg1e4DorhKG0,22
|
|
40
|
-
griptape_nodes/retained_mode/events/agent_events.py,sha256=
|
|
41
|
-
griptape_nodes/retained_mode/events/app_events.py,sha256=
|
|
46
|
+
griptape_nodes/retained_mode/events/agent_events.py,sha256=Ftwv_6jobQZ3ZEOAIFwTCdbYke0vN0fN0ZTRWqppM3M,2235
|
|
47
|
+
griptape_nodes/retained_mode/events/app_events.py,sha256=bke-50TIKkOPA-BXxP_BGqJBzbqAgKUlYFi-Zc6hMv8,3921
|
|
42
48
|
griptape_nodes/retained_mode/events/arbitrary_python_events.py,sha256=9IJKVyzo9jqef2Dt3thoqnq4FWKTX5yG5SnOvXHvLns,797
|
|
43
|
-
griptape_nodes/retained_mode/events/base_events.py,sha256=
|
|
49
|
+
griptape_nodes/retained_mode/events/base_events.py,sha256=XtLnEvXK46Uph5oT3Y8KJN8KGFOrN0ntNE--ixf9Krs,20661
|
|
44
50
|
griptape_nodes/retained_mode/events/config_events.py,sha256=cgx5Qe0wSHxpehHj7CDb4bF6UfUERD5oAMA0Eb3BSgk,2454
|
|
45
51
|
griptape_nodes/retained_mode/events/connection_events.py,sha256=XbuzSchjNmM8SMD-QrnhEQxwyt5pQPmB6j46GGjFNRI,2261
|
|
46
52
|
griptape_nodes/retained_mode/events/context_events.py,sha256=je81-kK-ORLUunvAM8r-2xtN4fIHlt0d2qoUZ3a-u0M,1042
|
|
47
53
|
griptape_nodes/retained_mode/events/execution_events.py,sha256=ZYj87Us-iMaornesQRHbAeABftqNPfCdRevg1860ixM,5701
|
|
48
54
|
griptape_nodes/retained_mode/events/flow_events.py,sha256=1BtdgefElLDRlVjELm1Dlcmn770z7Y0zA0Ml9hWcUN8,7967
|
|
49
55
|
griptape_nodes/retained_mode/events/generate_request_payload_schemas.py,sha256=PQ0QRZAUBljSIGjB8QhYUeRmSrfmLsJ6XVcygJKi13I,1102
|
|
50
|
-
griptape_nodes/retained_mode/events/library_events.py,sha256=
|
|
56
|
+
griptape_nodes/retained_mode/events/library_events.py,sha256=hvLFc21wme55TfEUCPVTEI7-CkSotGmESDQGcuhs8es,10061
|
|
51
57
|
griptape_nodes/retained_mode/events/logger_events.py,sha256=e5Xu9cVk4_V24dI-leqWbzWSf_c2wRHJpsEfJT9_p8M,325
|
|
52
|
-
griptape_nodes/retained_mode/events/node_events.py,sha256
|
|
58
|
+
griptape_nodes/retained_mode/events/node_events.py,sha256=bX5XryjnCNlyBT-wauKc8Rcm3RVdI4Mu_AEeIG5TmEg,15009
|
|
53
59
|
griptape_nodes/retained_mode/events/object_events.py,sha256=ZNuRFw2zhrfAIWKwu_aumn-1-kedvvEoVUq82P6RyAs,1283
|
|
54
60
|
griptape_nodes/retained_mode/events/os_events.py,sha256=QWhTJs9SzGGIuvFB2-3w8Bfhk5KcCZOuFfn1eeJvWdk,659
|
|
55
61
|
griptape_nodes/retained_mode/events/parameter_events.py,sha256=2Ex4_9-GE-dzasP1DHutslzLMuF-tu4egHLHSsTEdp4,9495
|
|
@@ -57,24 +63,28 @@ griptape_nodes/retained_mode/events/payload_registry.py,sha256=q-wxUqp63vhNj-Pl1
|
|
|
57
63
|
griptape_nodes/retained_mode/events/secrets_events.py,sha256=gK6RkIHEIyQJRtYI-REf3FmSXCRw5VrP5YJH8D8rmWY,1788
|
|
58
64
|
griptape_nodes/retained_mode/events/static_file_events.py,sha256=ZKsLQUHL5tFVETd4it6pwdiLhbMjsGkRJQrUxmFGaDQ,2091
|
|
59
65
|
griptape_nodes/retained_mode/events/validation_events.py,sha256=a3DwE1xmrmAZ9Y2HCAMHecyRl1Q5Ozy0cEOKgzeAQNE,1434
|
|
60
|
-
griptape_nodes/retained_mode/events/workflow_events.py,sha256=
|
|
66
|
+
griptape_nodes/retained_mode/events/workflow_events.py,sha256=GKn_tbC2VDqgwqrObCSwbMiFS23gc0iSGQxqFgTiDw0,4139
|
|
61
67
|
griptape_nodes/retained_mode/managers/__init__.py,sha256=OTXysKusqYCQeAYwnVj4PbE3MxvAUTq9xOZT6vUE3JA,24
|
|
62
|
-
griptape_nodes/retained_mode/managers/agent_manager.py,sha256=
|
|
68
|
+
griptape_nodes/retained_mode/managers/agent_manager.py,sha256=5jlFl_wPa9NiUTgnIJhT3ZZVXEGE4MsR0pn-IhADkS4,10235
|
|
63
69
|
griptape_nodes/retained_mode/managers/arbitrary_code_exec_manager.py,sha256=QnqI2_IkDpc9SHzbb-jwsyYkm91W0V9kLlxARUbbVUI,1777
|
|
64
70
|
griptape_nodes/retained_mode/managers/config_manager.py,sha256=0fs-xd6vpetBGYrsm6sqPBhWb0qChMdtUcxco92qTqQ,25344
|
|
65
71
|
griptape_nodes/retained_mode/managers/context_manager.py,sha256=DiGNh09TZ7rsLEcXqqB9Yrh2ietBy59LPF7GM0OBQS8,22930
|
|
66
72
|
griptape_nodes/retained_mode/managers/event_manager.py,sha256=5Y8oKasS2bISu5qdDhX9YRy2LD7lyIsfd2FxpXOnZ6c,6726
|
|
67
|
-
griptape_nodes/retained_mode/managers/flow_manager.py,sha256=
|
|
68
|
-
griptape_nodes/retained_mode/managers/library_manager.py,sha256=
|
|
69
|
-
griptape_nodes/retained_mode/managers/node_manager.py,sha256=
|
|
73
|
+
griptape_nodes/retained_mode/managers/flow_manager.py,sha256=WvFVcSSyEfUJvvcdMKLrrmMrbsVA2FFMxZiD5uxqUS0,71597
|
|
74
|
+
griptape_nodes/retained_mode/managers/library_manager.py,sha256=JQDPImFBXqQ-zFH-DpBurr_0nnO4oLR6-rHSTBVsLOA,87745
|
|
75
|
+
griptape_nodes/retained_mode/managers/node_manager.py,sha256=uIK7rGeQ3XfSH1C8IzpftDoXIbrwQR0ha_W2WDzGZz8,127192
|
|
70
76
|
griptape_nodes/retained_mode/managers/object_manager.py,sha256=mgNK8o-iYFzNl2IBzUKIqECiiqk5dI3cNNqirLam7vc,11828
|
|
71
77
|
griptape_nodes/retained_mode/managers/operation_manager.py,sha256=6nHx1fADdj7nyt5dIrNNuSkR362XgR1AMVESI1UCF6o,19746
|
|
72
78
|
griptape_nodes/retained_mode/managers/os_manager.py,sha256=jeWvm0X_ma40ZBJFqgU_RgNR2nSfDxCxGUEQxZyujmQ,5104
|
|
73
79
|
griptape_nodes/retained_mode/managers/secrets_manager.py,sha256=oRdTN__mgM5tQTxVKZ8e0R8BcKfL6_zMA-AKuFV9QE8,6038
|
|
74
80
|
griptape_nodes/retained_mode/managers/settings.py,sha256=nzEziQ1_Ba_PtQYtOgF_Uq7w0eF6eZ93Sqbl36mqlhk,4094
|
|
75
|
-
griptape_nodes/retained_mode/managers/static_files_manager.py,sha256=
|
|
81
|
+
griptape_nodes/retained_mode/managers/static_files_manager.py,sha256=RbQHGeJgRa7tCGJwif0hGVMbEVkHgaUt4FB44McRxWA,7129
|
|
76
82
|
griptape_nodes/retained_mode/managers/version_compatibility_manager.py,sha256=1lwwuof4C6Ho1xh59Re_ajmvcc2lUyxpO1-RkHfKBYc,4385
|
|
77
|
-
griptape_nodes/retained_mode/managers/workflow_manager.py,sha256=
|
|
83
|
+
griptape_nodes/retained_mode/managers/workflow_manager.py,sha256=qvjRvvNFTrqQmiC6B4ifudzSbepua4serKi8W1In4G8,128750
|
|
84
|
+
griptape_nodes/retained_mode/utils/__init__.py,sha256=W5dvv8YwvVVq_8eVTgMd3Z_VB_Dtq1sIIVq8745QH_I,52
|
|
85
|
+
griptape_nodes/retained_mode/utils/engine_identity.py,sha256=T28qJtpaS2JUmMxU7NRNws_zQxm5CIIgdujfAmodIMU,3817
|
|
86
|
+
griptape_nodes/retained_mode/utils/name_generator.py,sha256=IZLahtfP3XC79XApLdGoZ0IKKUkgiITpd16RK7NbyEs,2524
|
|
87
|
+
griptape_nodes/retained_mode/utils/session_persistence.py,sha256=zhCeE7_5zHXBtNoVjEjwWSdLQbFQn_mI3Ybq5TkWjPA,3339
|
|
78
88
|
griptape_nodes/traits/__init__.py,sha256=bTLXTiZTJz2z15RRLoPI4nvLnNW9FiLcKL_2pT4E10g,32
|
|
79
89
|
griptape_nodes/traits/add_param_button.py,sha256=Xtc39SfvYY6JDjhxu2wmdeaHW2X4LkpNAQufSTCP3hY,655
|
|
80
90
|
griptape_nodes/traits/button.py,sha256=rpQQ77ASKH3YJabc5WWw9DpEHQiMg1jx0i0sdkwH-SA,611
|
|
@@ -95,8 +105,8 @@ griptape_nodes/version_compatibility/__init__.py,sha256=JMz1sB7Zsj6pS1S5sdsPR0kn
|
|
|
95
105
|
griptape_nodes/version_compatibility/versions/__init__.py,sha256=PWSxM28LPUdBdRPA98j4RUWvuZ4NqfX1day2VU6SqPw,74
|
|
96
106
|
griptape_nodes/version_compatibility/versions/v0_39_0/__init__.py,sha256=21iKlFpsmBW4WsAexSD0WMAJnsYmMq2sIbDeYC831fc,62
|
|
97
107
|
griptape_nodes/version_compatibility/versions/v0_39_0/modified_parameters_set_removal.py,sha256=KJeyhyn_iUaDx32FRi1-__yxw6rp9tG4eTBCimpurBM,5306
|
|
98
|
-
griptape_nodes-0.
|
|
99
|
-
griptape_nodes-0.
|
|
100
|
-
griptape_nodes-0.
|
|
101
|
-
griptape_nodes-0.
|
|
102
|
-
griptape_nodes-0.
|
|
108
|
+
griptape_nodes-0.41.0.dist-info/METADATA,sha256=Zl0-jlk237s3d_sIRLPePQxuHcT45PIH3m4AuOOciac,4102
|
|
109
|
+
griptape_nodes-0.41.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
110
|
+
griptape_nodes-0.41.0.dist-info/entry_points.txt,sha256=Q8V3Ydy7PNfJgTjNEVkPui25AwZ4HJ3kZCU3oh4mq-c,81
|
|
111
|
+
griptape_nodes-0.41.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
112
|
+
griptape_nodes-0.41.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|