Skip to content

Commit 473dde0

Browse files
authored
Merge pull request #100 from Summoner-Network/dev
Dev (core 1.2.0)
2 parents 129321f + e2afe40 commit 473dde0

28 files changed

Lines changed: 3302 additions & 195 deletions

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ experiments/
66
*.mov
77
*.db
88
*.old
9+
*.backup.*
910
logs/
1011
img/assets/
1112
simulations/summoner_mock.py

examples/4_spell_dna_agents/question_spell_1_dna.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
{
3434
"type": "receive",
3535
"route": "spell --> effect",
36+
"route_key": "spell--[]-->effect",
3637
"priority": [],
3738
"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",
3839
"module": "__main__",
@@ -41,7 +42,9 @@
4142
{
4243
"type": "send",
4344
"route": "spell",
45+
"route_key": "spell",
4446
"multi": false,
47+
"use_data": false,
4548
"on_triggers": [],
4649
"on_actions": [],
4750
"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",

examples/4_spell_dna_agents/question_spell_2_dna.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
{
4242
"type": "receive",
4343
"route": "effect --> spell",
44+
"route_key": "effect--[]-->spell",
4445
"priority": [],
4546
"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",
4647
"module": "__main__",
@@ -49,7 +50,9 @@
4950
{
5051
"type": "send",
5152
"route": "effect",
53+
"route_key": "effect",
5254
"multi": false,
55+
"use_data": false,
5356
"on_triggers": [],
5457
"on_actions": [],
5558
"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",

examples/4_spell_dna_agents/question_spell_dna.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
{
4343
"type": "receive",
4444
"route": "spell --> effect",
45+
"route_key": "spell--[]-->effect",
4546
"priority": [],
4647
"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",
4748
"module": "__main__",
@@ -50,6 +51,7 @@
5051
{
5152
"type": "receive",
5253
"route": "effect --> spell",
54+
"route_key": "effect--[]-->spell",
5355
"priority": [],
5456
"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",
5557
"module": "__main__",
@@ -58,7 +60,9 @@
5860
{
5961
"type": "send",
6062
"route": "effect",
63+
"route_key": "effect",
6164
"multi": false,
65+
"use_data": false,
6266
"on_triggers": [],
6367
"on_actions": [],
6468
"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",
@@ -68,7 +72,9 @@
6872
{
6973
"type": "send",
7074
"route": "spell",
75+
"route_key": "spell",
7176
"multi": false,
77+
"use_data": false,
7278
"on_triggers": [],
7379
"on_actions": [],
7480
"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",

examples/4_spell_dna_agents/question_spell_merge_1_dna.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
{
4343
"type": "receive",
4444
"route": "spell --> effect",
45+
"route_key": "spell--[]-->effect",
4546
"priority": [],
4647
"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",
4748
"module": "question_spell_1",
@@ -50,6 +51,7 @@
5051
{
5152
"type": "receive",
5253
"route": "effect --> spell",
54+
"route_key": "effect--[]-->spell",
5355
"priority": [],
5456
"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",
5557
"module": "question_spell_2",
@@ -58,7 +60,9 @@
5860
{
5961
"type": "send",
6062
"route": "spell",
63+
"route_key": "spell",
6164
"multi": false,
65+
"use_data": false,
6266
"on_triggers": [],
6367
"on_actions": [],
6468
"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",
@@ -68,7 +72,9 @@
6872
{
6973
"type": "send",
7074
"route": "effect",
75+
"route_key": "effect",
7176
"multi": false,
77+
"use_data": false,
7278
"on_triggers": [],
7379
"on_actions": [],
7480
"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",

examples/4_spell_dna_agents/question_spell_merge_2_dna.json

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,49 +27,55 @@
2727
{
2828
"type": "upload_states",
2929
"source": "@agent.upload_states()\nasync def upload(msg):\n global state\n print(\"[upload]\", state)\n return state\n",
30-
"module": "summoner_merge_3bf060a8e6894bc8adb7c0a8fe929ee2",
30+
"module": "summoner_merge_bd13e49211184e05bcdae8db224429e1",
3131
"fn_name": "upload"
3232
},
3333
{
3434
"type": "download_states",
3535
"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",
36-
"module": "summoner_merge_3bf060a8e6894bc8adb7c0a8fe929ee2",
36+
"module": "summoner_merge_bd13e49211184e05bcdae8db224429e1",
3737
"fn_name": "download"
3838
},
3939
{
4040
"type": "receive",
4141
"route": "spell --> effect",
42+
"route_key": "spell--[]-->effect",
4243
"priority": [],
4344
"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",
44-
"module": "summoner_merge_3e720ddabff84bec8b0af2d00526d59d",
45+
"module": "summoner_merge_193541db02964a57969ae895d1a1c9e2",
4546
"fn_name": "custom_receive"
4647
},
4748
{
4849
"type": "receive",
4950
"route": "effect --> spell",
51+
"route_key": "effect--[]-->spell",
5052
"priority": [],
5153
"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",
52-
"module": "summoner_merge_3bf060a8e6894bc8adb7c0a8fe929ee2",
54+
"module": "summoner_merge_bd13e49211184e05bcdae8db224429e1",
5355
"fn_name": "receive_response"
5456
},
5557
{
5658
"type": "send",
5759
"route": "spell",
60+
"route_key": "spell",
5861
"multi": false,
62+
"use_data": false,
5963
"on_triggers": [],
6064
"on_actions": [],
6165
"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",
62-
"module": "summoner_merge_3e720ddabff84bec8b0af2d00526d59d",
66+
"module": "summoner_merge_193541db02964a57969ae895d1a1c9e2",
6367
"fn_name": "send_question"
6468
},
6569
{
6670
"type": "send",
6771
"route": "effect",
72+
"route_key": "effect",
6873
"multi": false,
74+
"use_data": false,
6975
"on_triggers": [],
7076
"on_actions": [],
7177
"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",
72-
"module": "summoner_merge_3bf060a8e6894bc8adb7c0a8fe929ee2",
78+
"module": "summoner_merge_bd13e49211184e05bcdae8db224429e1",
7379
"fn_name": "send_question"
7480
}
7581
]

examples/4_spell_dna_agents/question_spell_merge_3_dna.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
{
4343
"type": "receive",
4444
"route": "spell --> effect",
45+
"route_key": "spell--[]-->effect",
4546
"priority": [],
4647
"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",
4748
"module": "question_spell_1",
@@ -50,6 +51,7 @@
5051
{
5152
"type": "receive",
5253
"route": "effect --> spell",
54+
"route_key": "effect--[]-->spell",
5355
"priority": [],
5456
"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",
5557
"module": "question_spell_2",
@@ -58,7 +60,9 @@
5860
{
5961
"type": "send",
6062
"route": "spell",
63+
"route_key": "spell",
6164
"multi": false,
65+
"use_data": false,
6266
"on_triggers": [],
6367
"on_actions": [],
6468
"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",
@@ -68,7 +72,9 @@
6872
{
6973
"type": "send",
7074
"route": "effect",
75+
"route_key": "effect",
7176
"multi": false,
77+
"use_data": false,
7278
"on_triggers": [],
7379
"on_actions": [],
7480
"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",

simulations/simul_flow_2.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,8 @@ async def fn():
238238
fn=generate_sender_fn(route_str, actions, triggers),
239239
multi=False,
240240
actions=actions,
241-
triggers=triggers
241+
triggers=triggers,
242+
use_data=False,
242243
)
243244
sender_index.setdefault(route_str, [])
244245
sender_index[route_str].append(sender)
@@ -342,4 +343,3 @@ async def sender_test():
342343
# run the simulation
343344
asyncio.run(sender_test())
344345

345-

summoner/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "1.1.1"
1+
__version__ = "1.2.0"

0 commit comments

Comments
 (0)