Skip to content
Merged

Dev #100

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ experiments/
*.mov
*.db
*.old
*.backup.*
logs/
img/assets/
simulations/summoner_mock.py
Expand Down
3 changes: 3 additions & 0 deletions examples/4_spell_dna_agents/question_spell_1_dna.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
{
"type": "receive",
"route": "spell --> effect",
"route_key": "spell--[]-->effect",
"priority": [],
"source": "@agent.receive(route=\"spell --> effect\")\nasync def custom_receive(msg: Union[dict,str]) -> None:\n global is_back\n msg = (msg[\"content\"] if isinstance(msg, dict) and \"content\" in msg else msg) \n tag = (\"\\r[From server]\" if isinstance(msg, str) and msg[:len(\"Warning:\")] == \"Warning:\" else \"\\r[Received]\")\n print(tag, msg, flush=True)\n if msg == \"/travel\":\n await agent.travel_to(host = \"testnet.summoner.org\", port = 8888)\n is_back = True\n return Move(Trigger.ok)\n elif msg == \"/quit\":\n await agent.quit()\n return None\n elif msg == \"/go_home\":\n await agent.travel_to(host = agent.default_host, port = agent.default_port)\n is_back = True\n return None\n print(\"waiting for instructions... \", flush=True)\n",
"module": "__main__",
Expand All @@ -41,7 +42,9 @@
{
"type": "send",
"route": "spell",
"route_key": "spell",
"multi": false,
"use_data": false,
"on_triggers": [],
"on_actions": [],
"source": "@agent.send(route=\"spell\")\nasync def send_question() -> str:\n global is_back\n if is_back and agent.host == agent.default_host and agent.port == agent.default_port:\n is_back = False\n return \"I am back\"\n else:\n await asyncio.sleep(0.1)\n",
Expand Down
3 changes: 3 additions & 0 deletions examples/4_spell_dna_agents/question_spell_2_dna.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
{
"type": "receive",
"route": "effect --> spell",
"route_key": "effect--[]-->spell",
"priority": [],
"source": "@agent.receive(route=\"effect --> spell\")\nasync def receive_response(msg: Union[str, dict]) -> None:\n global tracker\n content = msg[\"content\"] if isinstance(msg, dict) else msg\n print(f\"Received[{tracker}]: {content}\")\n if content != \"waiting\":\n async with tracker_lock:\n if tracker >= 6:\n await agent.travel_to(host = agent.default_host, port = agent.default_port)\n tracker = 0\n return Move(Trigger.ok)\n else:\n tracker += 1\n",
"module": "__main__",
Expand All @@ -49,7 +50,9 @@
{
"type": "send",
"route": "effect",
"route_key": "effect",
"multi": false,
"use_data": false,
"on_triggers": [],
"on_actions": [],
"source": "@agent.send(route=\"effect\")\nasync def send_question() -> str:\n global tracker\n await asyncio.sleep(2)\n async with tracker_lock:\n return QUESTIONS[tracker % len(QUESTIONS)]\n",
Expand Down
6 changes: 6 additions & 0 deletions examples/4_spell_dna_agents/question_spell_dna.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
{
"type": "receive",
"route": "spell --> effect",
"route_key": "spell--[]-->effect",
"priority": [],
"source": "@agent.receive(route=\"spell --> effect\")\nasync def custom_receive(msg: Union[dict,str]) -> None:\n msg = (msg[\"content\"] if isinstance(msg, dict) and \"content\" in msg else msg) \n tag = (\"\\r[From server]\" if isinstance(msg, str) and msg[:len(\"Warning:\")] == \"Warning:\" else \"\\r[Received]\")\n print(tag, msg, flush=True)\n if msg == \"/travel\":\n await agent.travel_to(host = \"testnet.summoner.org\", port = 8888)\n return Move(Trigger.ok)\n elif msg == \"/quit\":\n await agent.quit()\n return None\n elif msg == \"/go_home\":\n await agent.travel_to(host = agent.default_host, port = agent.default_port)\n return None\n print(\"waiting for instructions... \", flush=True)\n",
"module": "__main__",
Expand All @@ -50,6 +51,7 @@
{
"type": "receive",
"route": "effect --> spell",
"route_key": "effect--[]-->spell",
"priority": [],
"source": "@agent.receive(route=\"effect --> spell\")\nasync def receive_response(msg: Union[str, dict]) -> None:\n global tracker, is_back\n content = msg[\"content\"] if isinstance(msg, dict) else msg\n print(f\"Received[{tracker}]: {content}\")\n if content != \"waiting\":\n async with tracker_lock:\n if tracker >= 10:\n await agent.travel_to(host = agent.default_host, port = agent.default_port)\n tracker = 0\n is_back = True\n return Move(Trigger.ok)\n else:\n tracker += 1\n",
"module": "__main__",
Expand All @@ -58,7 +60,9 @@
{
"type": "send",
"route": "effect",
"route_key": "effect",
"multi": false,
"use_data": false,
"on_triggers": [],
"on_actions": [],
"source": "@agent.send(route=\"effect\")\nasync def send_question() -> str:\n global tracker\n await asyncio.sleep(2)\n async with tracker_lock:\n return QUESTIONS[tracker % len(QUESTIONS)]\n",
Expand All @@ -68,7 +72,9 @@
{
"type": "send",
"route": "spell",
"route_key": "spell",
"multi": false,
"use_data": false,
"on_triggers": [],
"on_actions": [],
"source": "@agent.send(route=\"spell\")\nasync def send_question() -> str:\n global is_back\n if is_back:\n is_back = False\n return \"I am back\"\n else:\n await asyncio.sleep(0.1)\n",
Expand Down
6 changes: 6 additions & 0 deletions examples/4_spell_dna_agents/question_spell_merge_1_dna.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
{
"type": "receive",
"route": "spell --> effect",
"route_key": "spell--[]-->effect",
"priority": [],
"source": "@agent.receive(route=\"spell --> effect\")\nasync def custom_receive(msg: Union[dict,str]) -> None:\n global is_back\n msg = (msg[\"content\"] if isinstance(msg, dict) and \"content\" in msg else msg) \n tag = (\"\\r[From server]\" if isinstance(msg, str) and msg[:len(\"Warning:\")] == \"Warning:\" else \"\\r[Received]\")\n print(tag, msg, flush=True)\n if msg == \"/travel\":\n await agent.travel_to(host = \"testnet.summoner.org\", port = 8888)\n is_back = True\n return Move(Trigger.ok)\n elif msg == \"/quit\":\n await agent.quit()\n return None\n elif msg == \"/go_home\":\n await agent.travel_to(host = agent.default_host, port = agent.default_port)\n is_back = True\n return None\n print(\"waiting for instructions... \", flush=True)\n",
"module": "question_spell_1",
Expand All @@ -50,6 +51,7 @@
{
"type": "receive",
"route": "effect --> spell",
"route_key": "effect--[]-->spell",
"priority": [],
"source": "@agent.receive(route=\"effect --> spell\")\nasync def receive_response(msg: Union[str, dict]) -> None:\n global tracker\n content = msg[\"content\"] if isinstance(msg, dict) else msg\n print(f\"Received[{tracker}]: {content}\")\n if content != \"waiting\":\n async with tracker_lock:\n if tracker >= 6:\n await agent.travel_to(host = agent.default_host, port = agent.default_port)\n tracker = 0\n return Move(Trigger.ok)\n else:\n tracker += 1\n",
"module": "question_spell_2",
Expand All @@ -58,7 +60,9 @@
{
"type": "send",
"route": "spell",
"route_key": "spell",
"multi": false,
"use_data": false,
"on_triggers": [],
"on_actions": [],
"source": "@agent.send(route=\"spell\")\nasync def send_question() -> str:\n global is_back\n if is_back and agent.host == agent.default_host and agent.port == agent.default_port:\n is_back = False\n return \"I am back\"\n else:\n await asyncio.sleep(0.1)\n",
Expand All @@ -68,7 +72,9 @@
{
"type": "send",
"route": "effect",
"route_key": "effect",
"multi": false,
"use_data": false,
"on_triggers": [],
"on_actions": [],
"source": "@agent.send(route=\"effect\")\nasync def send_question() -> str:\n global tracker\n await asyncio.sleep(2)\n async with tracker_lock:\n return QUESTIONS[tracker % len(QUESTIONS)]\n",
Expand Down
18 changes: 12 additions & 6 deletions examples/4_spell_dna_agents/question_spell_merge_2_dna.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,49 +27,55 @@
{
"type": "upload_states",
"source": "@agent.upload_states()\nasync def upload(msg):\n global state\n print(\"[upload]\", state)\n return state\n",
"module": "summoner_merge_3bf060a8e6894bc8adb7c0a8fe929ee2",
"module": "summoner_merge_bd13e49211184e05bcdae8db224429e1",
"fn_name": "upload"
},
{
"type": "download_states",
"source": "@agent.download_states()\nasync def download(possible_state):\n global state\n print(\"[download]\", possible_state, state)\n if set(possible_state) == {Node(\"spell\")}:\n state = \"spell\"\n if set(possible_state) == {Node(\"effect\")}:\n state = \"effect\"\n print(\"[download] -->\", state)\n",
"module": "summoner_merge_3bf060a8e6894bc8adb7c0a8fe929ee2",
"module": "summoner_merge_bd13e49211184e05bcdae8db224429e1",
"fn_name": "download"
},
{
"type": "receive",
"route": "spell --> effect",
"route_key": "spell--[]-->effect",
"priority": [],
"source": "@agent.receive(route=\"spell --> effect\")\nasync def custom_receive(msg: Union[dict,str]) -> None:\n global is_back\n msg = (msg[\"content\"] if isinstance(msg, dict) and \"content\" in msg else msg) \n tag = (\"\\r[From server]\" if isinstance(msg, str) and msg[:len(\"Warning:\")] == \"Warning:\" else \"\\r[Received]\")\n print(tag, msg, flush=True)\n if msg == \"/travel\":\n await agent.travel_to(host = \"testnet.summoner.org\", port = 8888)\n is_back = True\n return Move(Trigger.ok)\n elif msg == \"/quit\":\n await agent.quit()\n return None\n elif msg == \"/go_home\":\n await agent.travel_to(host = agent.default_host, port = agent.default_port)\n is_back = True\n return None\n print(\"waiting for instructions... \", flush=True)\n",
"module": "summoner_merge_3e720ddabff84bec8b0af2d00526d59d",
"module": "summoner_merge_193541db02964a57969ae895d1a1c9e2",
"fn_name": "custom_receive"
},
{
"type": "receive",
"route": "effect --> spell",
"route_key": "effect--[]-->spell",
"priority": [],
"source": "@agent.receive(route=\"effect --> spell\")\nasync def receive_response(msg: Union[str, dict]) -> None:\n global tracker\n content = msg[\"content\"] if isinstance(msg, dict) else msg\n print(f\"Received[{tracker}]: {content}\")\n if content != \"waiting\":\n async with tracker_lock:\n if tracker >= 6:\n await agent.travel_to(host = agent.default_host, port = agent.default_port)\n tracker = 0\n return Move(Trigger.ok)\n else:\n tracker += 1\n",
"module": "summoner_merge_3bf060a8e6894bc8adb7c0a8fe929ee2",
"module": "summoner_merge_bd13e49211184e05bcdae8db224429e1",
"fn_name": "receive_response"
},
{
"type": "send",
"route": "spell",
"route_key": "spell",
"multi": false,
"use_data": false,
"on_triggers": [],
"on_actions": [],
"source": "@agent.send(route=\"spell\")\nasync def send_question() -> str:\n global is_back\n if is_back and agent.host == agent.default_host and agent.port == agent.default_port:\n is_back = False\n return \"I am back\"\n else:\n await asyncio.sleep(0.1)\n",
"module": "summoner_merge_3e720ddabff84bec8b0af2d00526d59d",
"module": "summoner_merge_193541db02964a57969ae895d1a1c9e2",
"fn_name": "send_question"
},
{
"type": "send",
"route": "effect",
"route_key": "effect",
"multi": false,
"use_data": false,
"on_triggers": [],
"on_actions": [],
"source": "@agent.send(route=\"effect\")\nasync def send_question() -> str:\n global tracker\n await asyncio.sleep(2)\n async with tracker_lock:\n return QUESTIONS[tracker % len(QUESTIONS)]\n",
"module": "summoner_merge_3bf060a8e6894bc8adb7c0a8fe929ee2",
"module": "summoner_merge_bd13e49211184e05bcdae8db224429e1",
"fn_name": "send_question"
}
]
6 changes: 6 additions & 0 deletions examples/4_spell_dna_agents/question_spell_merge_3_dna.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
{
"type": "receive",
"route": "spell --> effect",
"route_key": "spell--[]-->effect",
"priority": [],
"source": "@agent.receive(route=\"spell --> effect\")\nasync def custom_receive(msg: Union[dict,str]) -> None:\n global is_back\n msg = (msg[\"content\"] if isinstance(msg, dict) and \"content\" in msg else msg) \n tag = (\"\\r[From server]\" if isinstance(msg, str) and msg[:len(\"Warning:\")] == \"Warning:\" else \"\\r[Received]\")\n print(tag, msg, flush=True)\n if msg == \"/travel\":\n await agent.travel_to(host = \"testnet.summoner.org\", port = 8888)\n is_back = True\n return Move(Trigger.ok)\n elif msg == \"/quit\":\n await agent.quit()\n return None\n elif msg == \"/go_home\":\n await agent.travel_to(host = agent.default_host, port = agent.default_port)\n is_back = True\n return None\n print(\"waiting for instructions... \", flush=True)\n",
"module": "question_spell_1",
Expand All @@ -50,6 +51,7 @@
{
"type": "receive",
"route": "effect --> spell",
"route_key": "effect--[]-->spell",
"priority": [],
"source": "@agent.receive(route=\"effect --> spell\")\nasync def receive_response(msg: Union[str, dict]) -> None:\n global tracker\n content = msg[\"content\"] if isinstance(msg, dict) else msg\n print(f\"Received[{tracker}]: {content}\")\n if content != \"waiting\":\n async with tracker_lock:\n if tracker >= 6:\n await agent.travel_to(host = agent.default_host, port = agent.default_port)\n tracker = 0\n return Move(Trigger.ok)\n else:\n tracker += 1\n",
"module": "question_spell_2",
Expand All @@ -58,7 +60,9 @@
{
"type": "send",
"route": "spell",
"route_key": "spell",
"multi": false,
"use_data": false,
"on_triggers": [],
"on_actions": [],
"source": "@agent.send(route=\"spell\")\nasync def send_question() -> str:\n global is_back\n if is_back and agent.host == agent.default_host and agent.port == agent.default_port:\n is_back = False\n return \"I am back\"\n else:\n await asyncio.sleep(0.1)\n",
Expand All @@ -68,7 +72,9 @@
{
"type": "send",
"route": "effect",
"route_key": "effect",
"multi": false,
"use_data": false,
"on_triggers": [],
"on_actions": [],
"source": "@agent.send(route=\"effect\")\nasync def send_question() -> str:\n global tracker\n await asyncio.sleep(2)\n async with tracker_lock:\n return QUESTIONS[tracker % len(QUESTIONS)]\n",
Expand Down
4 changes: 2 additions & 2 deletions simulations/simul_flow_2.py
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,8 @@ async def fn():
fn=generate_sender_fn(route_str, actions, triggers),
multi=False,
actions=actions,
triggers=triggers
triggers=triggers,
use_data=False,
)
sender_index.setdefault(route_str, [])
sender_index[route_str].append(sender)
Expand Down Expand Up @@ -342,4 +343,3 @@ async def sender_test():
# run the simulation
asyncio.run(sender_test())


2 changes: 1 addition & 1 deletion summoner/_version.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "1.1.1"
__version__ = "1.2.0"
Loading
Loading