Syndicate API update
This commit is contained in:
parent
242bda24e5
commit
c9b38dd86e
309
lock.json
309
lock.json
|
@ -6,12 +6,55 @@
|
||||||
"bigints"
|
"bigints"
|
||||||
],
|
],
|
||||||
"path": "/nix/store/jvrm392g8adfsgf36prgwkbyd7vh5jsw-source",
|
"path": "/nix/store/jvrm392g8adfsgf36prgwkbyd7vh5jsw-source",
|
||||||
"ref": "20231006",
|
|
||||||
"rev": "86ea14d31eea9275e1408ca34e6bfe9c99989a96",
|
"rev": "86ea14d31eea9275e1408ca34e6bfe9c99989a96",
|
||||||
"sha256": "15pcpmnk1bnw3k8769rjzcpg00nahyrypwbxs88jnwr4aczp99j4",
|
"sha256": "15pcpmnk1bnw3k8769rjzcpg00nahyrypwbxs88jnwr4aczp99j4",
|
||||||
"srcDir": "src",
|
"srcDir": "src",
|
||||||
"url": "https://github.com/ehmry/nim-bigints/archive/86ea14d31eea9275e1408ca34e6bfe9c99989a96.tar.gz"
|
"url": "https://github.com/ehmry/nim-bigints/archive/86ea14d31eea9275e1408ca34e6bfe9c99989a96.tar.gz"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"packages": [
|
||||||
|
"cps"
|
||||||
|
],
|
||||||
|
"path": "/nix/store/8gbhwni0akqskdb3qhn5nfgv6gkdz0vz-source",
|
||||||
|
"rev": "c90530ac57f98a842b7be969115c6ef08bdcc564",
|
||||||
|
"sha256": "0h8ghs2fqg68j3jdcg7grnxssmllmgg99kym2w0a3vlwca1zvr62",
|
||||||
|
"srcDir": "",
|
||||||
|
"url": "https://github.com/ehmry/cps/archive/c90530ac57f98a842b7be969115c6ef08bdcc564.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"packages": [
|
||||||
|
"cps"
|
||||||
|
],
|
||||||
|
"path": "/nix/store/8gbhwni0akqskdb3qhn5nfgv6gkdz0vz-source",
|
||||||
|
"rev": "c90530ac57f98a842b7be969115c6ef08bdcc564",
|
||||||
|
"sha256": "0h8ghs2fqg68j3jdcg7grnxssmllmgg99kym2w0a3vlwca1zvr62",
|
||||||
|
"srcDir": "",
|
||||||
|
"url": "https://github.com/ehmry/cps/archive/c90530ac57f98a842b7be969115c6ef08bdcc564.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"packages": [
|
||||||
|
"getdns"
|
||||||
|
],
|
||||||
|
"path": "/nix/store/x9xmn7w4k6jg8nv5bnx148ibhnsfh362-source",
|
||||||
|
"rev": "c73cbe288d9f9480586b8fa87f6d794ffb6a6ce6",
|
||||||
|
"sha256": "1sbgx2x51szr22i72n7c8jglnfmr8m7y7ga0v85d58fwadiv7g6b",
|
||||||
|
"srcDir": "src",
|
||||||
|
"url": "https://git.sr.ht/~ehmry/getdns-nim/archive/c73cbe288d9f9480586b8fa87f6d794ffb6a6ce6.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"packages": [
|
||||||
|
"getdns"
|
||||||
|
],
|
||||||
|
"path": "/nix/store/x9xmn7w4k6jg8nv5bnx148ibhnsfh362-source",
|
||||||
|
"rev": "c73cbe288d9f9480586b8fa87f6d794ffb6a6ce6",
|
||||||
|
"sha256": "1sbgx2x51szr22i72n7c8jglnfmr8m7y7ga0v85d58fwadiv7g6b",
|
||||||
|
"srcDir": "src",
|
||||||
|
"url": "https://git.sr.ht/~ehmry/getdns-nim/archive/c73cbe288d9f9480586b8fa87f6d794ffb6a6ce6.tar.gz"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"method": "fetchzip",
|
"method": "fetchzip",
|
||||||
"packages": [
|
"packages": [
|
||||||
|
@ -23,77 +66,237 @@
|
||||||
"srcDir": "",
|
"srcDir": "",
|
||||||
"url": "https://github.com/ehmry/hashlib/archive/f9455d4be988e14e3dc7933eb7cc7d7c4820b7ac.tar.gz"
|
"url": "https://github.com/ehmry/hashlib/archive/f9455d4be988e14e3dc7933eb7cc7d7c4820b7ac.tar.gz"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"method": "fetchzip",
|
|
||||||
"packages": [
|
|
||||||
"illwill"
|
|
||||||
],
|
|
||||||
"path": "/nix/store/3lmm3z36qn4gz7bfa209zv0pqrpm3di9-source",
|
|
||||||
"ref": "v0.3.2",
|
|
||||||
"rev": "1d12cb36ab7b76c31d2d25fa421013ecb382e625",
|
|
||||||
"sha256": "0f9yncl5gbdja18mrqf5ixrdgrh95k0khda923dm1jd1x1b7ar8z",
|
|
||||||
"srcDir": "",
|
|
||||||
"url": "https://github.com/johnnovak/illwill/archive/1d12cb36ab7b76c31d2d25fa421013ecb382e625.tar.gz"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"method": "fetchzip",
|
|
||||||
"packages": [
|
|
||||||
"nimcrypto"
|
|
||||||
],
|
|
||||||
"path": "/nix/store/zyr8zwh7vaiycn1s4r8cxwc71f2k5l0h-source",
|
|
||||||
"ref": "traditional-api",
|
|
||||||
"rev": "602c5d20c69c76137201b5d41f788f72afb95aa8",
|
|
||||||
"sha256": "1dmdmgb6b9m5f8dyxk781nnd61dsk3hdxqks7idk9ncnpj9fng65",
|
|
||||||
"srcDir": "",
|
|
||||||
"url": "https://github.com/cheatfate/nimcrypto/archive/602c5d20c69c76137201b5d41f788f72afb95aa8.tar.gz"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"method": "fetchzip",
|
|
||||||
"packages": [
|
|
||||||
"npeg"
|
|
||||||
],
|
|
||||||
"path": "/nix/store/ffkxmjmigfs7zhhiiqm0iw2c34smyciy-source",
|
|
||||||
"ref": "1.2.1",
|
|
||||||
"rev": "26d62fdc40feb84c6533956dc11d5ee9ea9b6c09",
|
|
||||||
"sha256": "0xpzifjkfp49w76qmaylan8q181bs45anmp46l4bwr3lkrr7bpwh",
|
|
||||||
"srcDir": "src",
|
|
||||||
"url": "https://github.com/zevv/npeg/archive/26d62fdc40feb84c6533956dc11d5ee9ea9b6c09.tar.gz"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"method": "fetchzip",
|
"method": "fetchzip",
|
||||||
"packages": [
|
"packages": [
|
||||||
"preserves"
|
"preserves"
|
||||||
],
|
],
|
||||||
"path": "/nix/store/6nnn5di5vip1vladlb7z56rbw18d1y7j-source",
|
"path": "/nix/store/2hy124xgabz134dxj3wji7mp47fdwy3w-source",
|
||||||
"ref": "20240208",
|
"rev": "9ae435a83c6d5028405538af5d24a023af625b6e",
|
||||||
"rev": "2825bceecf33a15b9b7942db5331a32cbc39b281",
|
"sha256": "1k7ywcp1a53x2fpc6wc2b0qzb264dkifash0s1wcp66rw3lx15k2",
|
||||||
"sha256": "145vf46fy3wc52j6vs509fm9bi5lx7c53gskbkpcfbkv82l86dgk",
|
|
||||||
"srcDir": "src",
|
"srcDir": "src",
|
||||||
"url": "https://git.syndicate-lang.org/ehmry/preserves-nim/archive/2825bceecf33a15b9b7942db5331a32cbc39b281.tar.gz"
|
"url": "https://git.syndicate-lang.org/ehmry/preserves-nim/archive/9ae435a83c6d5028405538af5d24a023af625b6e.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"packages": [
|
||||||
|
"stew"
|
||||||
|
],
|
||||||
|
"path": "/nix/store/mqg8qzsbcc8xqabq2yzvlhvcyqypk72c-source",
|
||||||
|
"rev": "3c91b8694e15137a81ec7db37c6c58194ec94a6a",
|
||||||
|
"sha256": "17lfhfxp5nxvld78xa83p258y80ks5jb4n53152cdr57xk86y07w",
|
||||||
|
"srcDir": "",
|
||||||
|
"url": "https://github.com/status-im/nim-stew/archive/3c91b8694e15137a81ec7db37c6c58194ec94a6a.tar.gz"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"method": "fetchzip",
|
"method": "fetchzip",
|
||||||
"packages": [
|
"packages": [
|
||||||
"syndicate"
|
"syndicate"
|
||||||
],
|
],
|
||||||
"path": "/nix/store/y9f3j4m7vmhf8gbpkvqa77jvzrc5ynlm-source",
|
"path": "/nix/store/kl628g7vg2ww8wilf8h2ag7qqnvvwdzb-source",
|
||||||
"ref": "20240208",
|
"rev": "c2e1e2e0fa403529750196ce3ccb5a99a4d6c006",
|
||||||
"rev": "50a77995bcfe15e6062f54c6af0f55fba850c329",
|
"sha256": "1r8ab79pgrrnzmp49h8rp50c9x8zd0p7bsvzxaphc221nvyfx09j",
|
||||||
"sha256": "1avrk86c34qg39w8vlixsksli2gwgbsf29jhlap27ffzdbj2zbal",
|
|
||||||
"srcDir": "src",
|
"srcDir": "src",
|
||||||
"url": "https://git.syndicate-lang.org/ehmry/syndicate-nim/archive/50a77995bcfe15e6062f54c6af0f55fba850c329.tar.gz"
|
"url": "https://git.syndicate-lang.org/ehmry/syndicate-nim/archive/c2e1e2e0fa403529750196ce3ccb5a99a4d6c006.tar.gz"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"method": "fetchzip",
|
"method": "fetchzip",
|
||||||
"packages": [
|
"packages": [
|
||||||
"ws"
|
"sys"
|
||||||
],
|
],
|
||||||
"path": "/nix/store/zd51j4dphs6h1hyhdbzdv840c8813ai8-source",
|
"path": "/nix/store/syhxsjlsdqfap0hk4qp3s6kayk8cqknd-source",
|
||||||
"ref": "0.5.0",
|
"rev": "4ef3b624db86e331ba334e705c1aa235d55b05e1",
|
||||||
"rev": "9536bf99ddf5948db221ccb7bb3663aa238a8e21",
|
"sha256": "1q4qgw4an4mmmcbx48l6xk1jig1vc8p9cq9dbx39kpnb0890j32q",
|
||||||
"sha256": "0j8z9jlvzb1h60v7rryvh2wx6vg99lra6i62whf3fknc53l641fz",
|
|
||||||
"srcDir": "src",
|
"srcDir": "src",
|
||||||
"url": "https://github.com/treeform/ws/archive/9536bf99ddf5948db221ccb7bb3663aa238a8e21.tar.gz"
|
"url": "https://github.com/ehmry/nim-sys/archive/4ef3b624db86e331ba334e705c1aa235d55b05e1.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"packages": [
|
||||||
|
"sys"
|
||||||
|
],
|
||||||
|
"path": "/nix/store/syhxsjlsdqfap0hk4qp3s6kayk8cqknd-source",
|
||||||
|
"rev": "4ef3b624db86e331ba334e705c1aa235d55b05e1",
|
||||||
|
"sha256": "1q4qgw4an4mmmcbx48l6xk1jig1vc8p9cq9dbx39kpnb0890j32q",
|
||||||
|
"srcDir": "src",
|
||||||
|
"url": "https://github.com/ehmry/nim-sys/archive/4ef3b624db86e331ba334e705c1aa235d55b05e1.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"packages": [
|
||||||
|
"sys"
|
||||||
|
],
|
||||||
|
"path": "/nix/store/vf9ls2wip6d8xhsi3rjh0dqsqg597i6b-source",
|
||||||
|
"rev": "c117ee60542f084525f254e6ade590675a6a2ed6",
|
||||||
|
"sha256": "12qzx2lnh84xqfgypy0pka8nflq0y8n1izfwx8mb4zya5nzawmyf",
|
||||||
|
"srcDir": "src",
|
||||||
|
"url": "https://github.com/alaviss/nim-sys/archive/c117ee60542f084525f254e6ade590675a6a2ed6.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"packages": [
|
||||||
|
"taps"
|
||||||
|
],
|
||||||
|
"path": "/nix/store/6y14ia52kr7jyaa0izx37mlablmq9s65-source",
|
||||||
|
"rev": "8c8572cd971d1283e6621006b310993c632da247",
|
||||||
|
"sha256": "1dp166bv9x773jmfqppg5i3v3rilgff013vb11yzwcid9l7s3iy8",
|
||||||
|
"srcDir": "src",
|
||||||
|
"url": "https://git.sr.ht/~ehmry/nim_taps/archive/8c8572cd971d1283e6621006b310993c632da247.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"packages": [
|
||||||
|
"taps"
|
||||||
|
],
|
||||||
|
"path": "/nix/store/6y14ia52kr7jyaa0izx37mlablmq9s65-source",
|
||||||
|
"rev": "8c8572cd971d1283e6621006b310993c632da247",
|
||||||
|
"sha256": "1dp166bv9x773jmfqppg5i3v3rilgff013vb11yzwcid9l7s3iy8",
|
||||||
|
"srcDir": "src",
|
||||||
|
"url": "https://git.sr.ht/~ehmry/nim_taps/archive/8c8572cd971d1283e6621006b310993c632da247.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"date": "2024-04-02T15:38:57+01:00",
|
||||||
|
"deepClone": false,
|
||||||
|
"fetchLFS": false,
|
||||||
|
"fetchSubmodules": true,
|
||||||
|
"hash": "sha256-iZb9aAgYr4FGkqfIg49QWiCqeizIi047kFhugHiP8o0=",
|
||||||
|
"leaveDotGit": false,
|
||||||
|
"method": "git",
|
||||||
|
"packages": [
|
||||||
|
"solo5_dispatcher"
|
||||||
|
],
|
||||||
|
"path": "/nix/store/sf5dgj2ljvahcm6my7d61ibda51vnrii-solo5_dispatcher",
|
||||||
|
"rev": "a7a894a96a2221284012800e6fd32923d83d20bd",
|
||||||
|
"sha256": "13gjixw80vjqj0xlx2y85ixal82sa27q7j57j9383bqq11lgv5l9",
|
||||||
|
"srcDir": "pkg",
|
||||||
|
"url": "https://git.sr.ht/~ehmry/solo5_dispatcher"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"packages": [
|
||||||
|
"getdns"
|
||||||
|
],
|
||||||
|
"path": "/nix/store/x9xmn7w4k6jg8nv5bnx148ibhnsfh362-source",
|
||||||
|
"rev": "c73cbe288d9f9480586b8fa87f6d794ffb6a6ce6",
|
||||||
|
"sha256": "1sbgx2x51szr22i72n7c8jglnfmr8m7y7ga0v85d58fwadiv7g6b",
|
||||||
|
"srcDir": "src",
|
||||||
|
"url": "https://git.sr.ht/~ehmry/getdns-nim/archive/c73cbe288d9f9480586b8fa87f6d794ffb6a6ce6.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"packages": [
|
||||||
|
"getdns"
|
||||||
|
],
|
||||||
|
"path": "/nix/store/x9xmn7w4k6jg8nv5bnx148ibhnsfh362-source",
|
||||||
|
"rev": "c73cbe288d9f9480586b8fa87f6d794ffb6a6ce6",
|
||||||
|
"sha256": "1sbgx2x51szr22i72n7c8jglnfmr8m7y7ga0v85d58fwadiv7g6b",
|
||||||
|
"srcDir": "src",
|
||||||
|
"url": "https://git.sr.ht/~ehmry/getdns-nim/archive/c73cbe288d9f9480586b8fa87f6d794ffb6a6ce6.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"packages": [
|
||||||
|
"nimcrypto"
|
||||||
|
],
|
||||||
|
"path": "/nix/store/fkrcpp8lzj2yi21na79xm63xk0ggnqsp-source",
|
||||||
|
"rev": "f147d30c69bc1c9bcf0e37f7699bcf0fbaab97b5",
|
||||||
|
"sha256": "1h3dzdbc9kacwpi10mj73yjglvn7kbizj1x8qc9099ax091cj5xn",
|
||||||
|
"srcDir": "",
|
||||||
|
"url": "https://github.com/cheatfate/nimcrypto/archive/f147d30c69bc1c9bcf0e37f7699bcf0fbaab97b5.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"packages": [
|
||||||
|
"npeg"
|
||||||
|
],
|
||||||
|
"path": "/nix/store/xpn694ibgipj8xak3j4bky6b3k0vp7hh-source",
|
||||||
|
"rev": "ec0cc6e64ea4c62d2aa382b176a4838474238f8d",
|
||||||
|
"sha256": "1fi9ls3xl20bmv1ikillxywl96i9al6zmmxrbffx448gbrxs86kg",
|
||||||
|
"srcDir": "src",
|
||||||
|
"url": "https://github.com/zevv/npeg/archive/ec0cc6e64ea4c62d2aa382b176a4838474238f8d.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"packages": [
|
||||||
|
"stew"
|
||||||
|
],
|
||||||
|
"path": "/nix/store/mqg8qzsbcc8xqabq2yzvlhvcyqypk72c-source",
|
||||||
|
"rev": "3c91b8694e15137a81ec7db37c6c58194ec94a6a",
|
||||||
|
"sha256": "17lfhfxp5nxvld78xa83p258y80ks5jb4n53152cdr57xk86y07w",
|
||||||
|
"srcDir": "",
|
||||||
|
"url": "https://github.com/status-im/nim-stew/archive/3c91b8694e15137a81ec7db37c6c58194ec94a6a.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"packages": [
|
||||||
|
"sys"
|
||||||
|
],
|
||||||
|
"path": "/nix/store/vf9ls2wip6d8xhsi3rjh0dqsqg597i6b-source",
|
||||||
|
"rev": "c117ee60542f084525f254e6ade590675a6a2ed6",
|
||||||
|
"sha256": "12qzx2lnh84xqfgypy0pka8nflq0y8n1izfwx8mb4zya5nzawmyf",
|
||||||
|
"srcDir": "src",
|
||||||
|
"url": "https://github.com/alaviss/nim-sys/archive/c117ee60542f084525f254e6ade590675a6a2ed6.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"date": "2024-04-02T15:38:57+01:00",
|
||||||
|
"deepClone": false,
|
||||||
|
"fetchLFS": false,
|
||||||
|
"fetchSubmodules": true,
|
||||||
|
"hash": "sha256-iZb9aAgYr4FGkqfIg49QWiCqeizIi047kFhugHiP8o0=",
|
||||||
|
"leaveDotGit": false,
|
||||||
|
"method": "git",
|
||||||
|
"packages": [
|
||||||
|
"solo5_dispatcher"
|
||||||
|
],
|
||||||
|
"path": "/nix/store/sf5dgj2ljvahcm6my7d61ibda51vnrii-solo5_dispatcher",
|
||||||
|
"rev": "a7a894a96a2221284012800e6fd32923d83d20bd",
|
||||||
|
"sha256": "13gjixw80vjqj0xlx2y85ixal82sa27q7j57j9383bqq11lgv5l9",
|
||||||
|
"srcDir": "pkg",
|
||||||
|
"url": "https://git.sr.ht/~ehmry/solo5_dispatcher"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"packages": [
|
||||||
|
"cps"
|
||||||
|
],
|
||||||
|
"path": "/nix/store/phdf6siqbhj7vx4qq507lzla81si60iz-source",
|
||||||
|
"rev": "58772ff9ddb38a4b2ec52da142d8532ba2fe7039",
|
||||||
|
"sha256": "1lph7v27nqwgm3a0ssi8q348gjrkjwgqc50agw38j7xif6wj80cw",
|
||||||
|
"srcDir": "",
|
||||||
|
"url": "https://github.com/ehmry/cps/archive/58772ff9ddb38a4b2ec52da142d8532ba2fe7039.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"packages": [
|
||||||
|
"cps"
|
||||||
|
],
|
||||||
|
"path": "/nix/store/phdf6siqbhj7vx4qq507lzla81si60iz-source",
|
||||||
|
"rev": "58772ff9ddb38a4b2ec52da142d8532ba2fe7039",
|
||||||
|
"sha256": "1lph7v27nqwgm3a0ssi8q348gjrkjwgqc50agw38j7xif6wj80cw",
|
||||||
|
"srcDir": "",
|
||||||
|
"url": "https://github.com/ehmry/cps/archive/58772ff9ddb38a4b2ec52da142d8532ba2fe7039.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"packages": [
|
||||||
|
"stew"
|
||||||
|
],
|
||||||
|
"path": "/nix/store/mqg8qzsbcc8xqabq2yzvlhvcyqypk72c-source",
|
||||||
|
"rev": "3c91b8694e15137a81ec7db37c6c58194ec94a6a",
|
||||||
|
"sha256": "17lfhfxp5nxvld78xa83p258y80ks5jb4n53152cdr57xk86y07w",
|
||||||
|
"srcDir": "",
|
||||||
|
"url": "https://github.com/status-im/nim-stew/archive/3c91b8694e15137a81ec7db37c6c58194ec94a6a.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "fetchzip",
|
||||||
|
"packages": [
|
||||||
|
"stew"
|
||||||
|
],
|
||||||
|
"path": "/nix/store/mqg8qzsbcc8xqabq2yzvlhvcyqypk72c-source",
|
||||||
|
"rev": "3c91b8694e15137a81ec7db37c6c58194ec94a6a",
|
||||||
|
"sha256": "17lfhfxp5nxvld78xa83p258y80ks5jb4n53152cdr57xk86y07w",
|
||||||
|
"srcDir": "",
|
||||||
|
"url": "https://github.com/status-im/nim-stew/archive/3c91b8694e15137a81ec7db37c6c58194ec94a6a.tar.gz"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
include_rules
|
include_rules
|
||||||
: foreach *.nim | $(SYNDICATE_PROTOCOL) ./<schema> ./syndesizer/<checks> |> !nim_bin |> {bin}
|
: foreach *.nim | $(SYNDICATE_PROTOCOL) ./<schema> |> !nim_bin |> {bin}
|
||||||
: foreach {bin} |> !assert_built |>
|
: foreach {bin} |> !assert_built |>
|
||||||
: $(BIN_DIR)/msg |> cp %f %o |> $(BIN_DIR)/beep
|
: $(BIN_DIR)/msg |> cp %f %o |> $(BIN_DIR)/beep
|
||||||
|
|
|
@ -8,7 +8,7 @@ when not defined(linux):
|
||||||
|
|
||||||
import std/oserrors
|
import std/oserrors
|
||||||
import preserves
|
import preserves
|
||||||
import syndicate, syndicate/relays
|
import syndicate
|
||||||
import ./schema/mountpoints
|
import ./schema/mountpoints
|
||||||
|
|
||||||
type BootArgs {.preservesDictionary.} = object
|
type BootArgs {.preservesDictionary.} = object
|
||||||
|
@ -20,12 +20,12 @@ proc mount(source, target, fsType: cstring; flags: culong; data: pointer): cint
|
||||||
proc umount(target: cstring): cint {.importc, header: "<sys/mount.h>".}
|
proc umount(target: cstring): cint {.importc, header: "<sys/mount.h>".}
|
||||||
## `umount(2)`
|
## `umount(2)`
|
||||||
|
|
||||||
runActor("mount_actor") do (turn: var Turn; root: Cap):
|
proc spawnMountActor*(turn: var Turn; ds: Cap): Actor {.discardable.} =
|
||||||
|
spawnActor(turn, "mount_actor") do (turn: var Turn):
|
||||||
let
|
let
|
||||||
targetPat = ?Observe(pattern: !Mountpoint) ?? { 1: grabLit() }
|
targetPat = ?Observe(pattern: !Mountpoint) ?? { 1: grabLit() }
|
||||||
sourcePat = ?Observe(pattern: !Mountpoint) ?? { 0: grabLit(), 2: grabLit() }
|
sourcePat = ?Observe(pattern: !Mountpoint) ?? { 0: grabLit(), 2: grabLit() }
|
||||||
connectStdio(turn, root)
|
during(turn, ds, ?:BootArgs) do (ds: Cap):
|
||||||
during(turn, root, ?:BootArgs) do (ds: Cap):
|
|
||||||
during(turn, ds, targetPat) do (target: string):
|
during(turn, ds, targetPat) do (target: string):
|
||||||
during(turn, ds, sourcePat) do (source: string, fsType: string):
|
during(turn, ds, sourcePat) do (source: string, fsType: string):
|
||||||
var mountpoint = Mountpoint(
|
var mountpoint = Mountpoint(
|
||||||
|
@ -42,3 +42,9 @@ runActor("mount_actor") do (turn: var Turn; root: Cap):
|
||||||
discard publish(turn, ds, mountpoint)
|
discard publish(turn, ds, mountpoint)
|
||||||
do:
|
do:
|
||||||
discard umount(target)
|
discard umount(target)
|
||||||
|
|
||||||
|
when isMainModule:
|
||||||
|
import syndicate/relays
|
||||||
|
runActor("main") do (turn: var Turn):
|
||||||
|
resolveEnvironment(turn) do (turn: var Turn; ds: Cap):
|
||||||
|
discard spawnMountActor(turn, ds)
|
||||||
|
|
19
src/msg.nim
19
src/msg.nim
|
@ -1,20 +1,13 @@
|
||||||
# SPDX-FileCopyrightText: ☭ Emery Hemingway
|
# SPDX-FileCopyrightText: ☭ Emery Hemingway
|
||||||
# SPDX-License-Identifier: Unlicense
|
# SPDX-License-Identifier: Unlicense
|
||||||
|
|
||||||
import std/[asyncdispatch, sequtils, os]
|
import std/[sequtils, os]
|
||||||
import preserves, syndicate, syndicate/relays
|
import preserves, syndicate, syndicate/relays
|
||||||
|
|
||||||
proc main =
|
runActor("msg") do (turn: var Turn):
|
||||||
let
|
var data = map(commandLineParams(), parsePreserves)
|
||||||
route = envRoute()
|
resolveEnvironment(turn) do (turn: var Turn; ds: Cap):
|
||||||
data = map(commandLineParams(), parsePreserves)
|
|
||||||
|
|
||||||
discard bootDataspace("msg") do (turn: var Turn; root: Cap):
|
|
||||||
spawnRelays(turn, root)
|
|
||||||
resolve(turn, root, route) do (turn: var Turn; ds: Cap):
|
|
||||||
for e in data:
|
for e in data:
|
||||||
message(turn, ds, e)
|
message(turn, ds, e)
|
||||||
|
sync(turn, ds) do (turn: var Turn):
|
||||||
for _ in 1..2: poll()
|
stopActor(turn)
|
||||||
|
|
||||||
main()
|
|
||||||
|
|
|
@ -3,20 +3,15 @@
|
||||||
|
|
||||||
## See the rofi-script(5) manpage for documentation.
|
## See the rofi-script(5) manpage for documentation.
|
||||||
|
|
||||||
import std/[asyncdispatch, cmdline, envvars, strutils, tables]
|
import std/[cmdline, envvars, strutils, tables]
|
||||||
import preserves, syndicate, syndicate/relays
|
import preserves, syndicate, syndicate/relays
|
||||||
import ./schema/rofi
|
import ./schema/rofi
|
||||||
|
|
||||||
proc main =
|
if getEnv("ROFI_OUTSIDE") == "":
|
||||||
let
|
|
||||||
route = envRoute()
|
|
||||||
rofiPid = getEnv("ROFI_OUTSIDE")
|
|
||||||
if rofiPid == "":
|
|
||||||
quit("run this program in rofi")
|
quit("run this program in rofi")
|
||||||
|
|
||||||
runActor("rofi_script_actor") do (turn: var Turn; root: Cap):
|
runActor("rofi_script_actor") do (turn: var Turn):
|
||||||
let rootFacet = turn.facet
|
resolveEnvironment(turn) do (turn: var Turn; ds: Cap):
|
||||||
resolve(turn, root, route) do (turn: var Turn; ds: Cap):
|
|
||||||
case paramCount()
|
case paramCount()
|
||||||
of 0:
|
of 0:
|
||||||
let pat = ?:Options
|
let pat = ?:Options
|
||||||
|
@ -30,13 +25,7 @@ proc main =
|
||||||
if key.startsWith "ROFI_":
|
if key.startsWith "ROFI_":
|
||||||
select.environment[Symbol key] = val
|
select.environment[Symbol key] = val
|
||||||
message(turn, ds, select)
|
message(turn, ds, select)
|
||||||
# TODO: sync not implemented correctly
|
sync(turn, ds, stopActor)
|
||||||
# sync(turn, ds, stopActor)
|
|
||||||
callSoon do ():
|
|
||||||
waitFor sleepAsync(1)
|
|
||||||
quit()
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
quit("rofi passed an unexpected number of arguments")
|
quit("rofi passed an unexpected number of arguments")
|
||||||
|
|
||||||
main()
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
## Syndicate multitool.
|
## Syndicate multitool.
|
||||||
|
|
||||||
import syndicate, syndicate/relays, syndicate/actors/timers
|
import syndicate, syndicate/relays, syndicate/drivers/timers
|
||||||
|
|
||||||
const
|
const
|
||||||
withPostgre* {.booldefine.}: bool = true
|
withPostgre* {.booldefine.}: bool = true
|
||||||
|
@ -24,17 +24,17 @@ when withPostgre:
|
||||||
when withSqlite:
|
when withSqlite:
|
||||||
import ./syndesizer/sqlite_actor
|
import ./syndesizer/sqlite_actor
|
||||||
|
|
||||||
runActor("syndesizer") do (turn: var Turn; root: Cap):
|
runActor("syndesizer") do (turn: var Turn):
|
||||||
connectStdio(turn, root)
|
resolveEnvironment(turn) do (turn: var Turn; ds: Cap):
|
||||||
discard spawnTimers(turn, root)
|
discard spawnTimerDriver(turn, ds)
|
||||||
discard spawnCacheActor(turn, root)
|
discard spawnCacheActor(turn, ds)
|
||||||
discard spawnFileSystemUsageActor(turn, root)
|
discard spawnFileSystemUsageActor(turn, ds)
|
||||||
discard spawnJsonSocketTranslator(turn, root)
|
discard spawnJsonSocketTranslator(turn, ds)
|
||||||
discard spawnJsonStdioTranslator(turn, root)
|
discard spawnJsonStdioTranslator(turn, ds)
|
||||||
discard spawnPulseActor(turn, root)
|
discard spawnPulseActor(turn, ds)
|
||||||
discard spawnXmlTranslator(turn, root)
|
discard spawnXmlTranslator(turn, ds)
|
||||||
discard spawnXsltActor(turn, root)
|
discard spawnXsltActor(turn, ds)
|
||||||
when withPostgre:
|
when withPostgre:
|
||||||
discard spawnPostgreActor(turn, root)
|
discard spawnPostgreActor(turn, ds)
|
||||||
when withSqlite:
|
when withSqlite:
|
||||||
discard spawnSqliteActor(turn, root)
|
discard spawnSqliteActor(turn, ds)
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
include_rules
|
include_rules
|
||||||
: foreach *.nim | $(SYNDICATE_PROTOCOL) ../<schema> |> !nim_check |> | ./<checks>
|
: foreach *.nim | $(SYNDICATE_PROTOCOL) ../<schema> |> !nim_bin |> {bin}
|
||||||
|
: foreach {bin} |> !assert_built |>
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
|
|
||||||
import std/times
|
import std/times
|
||||||
import preserves, syndicate,
|
import preserves, syndicate,
|
||||||
syndicate/[durings, relays],
|
syndicate/durings,
|
||||||
syndicate/actors/timers
|
syndicate/drivers/timers
|
||||||
|
|
||||||
import ../schema/config
|
import ../schema/config
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@ proc isObserve(pat: Pattern): bool =
|
||||||
pat.dcompound.rec.label.isSymbol"Observe"
|
pat.dcompound.rec.label.isSymbol"Observe"
|
||||||
|
|
||||||
proc spawnCacheActor*(turn: var Turn; root: Cap): Actor =
|
proc spawnCacheActor*(turn: var Turn; root: Cap): Actor =
|
||||||
spawn("cache_actor", turn) do (turn: var Turn):
|
spawnActor(turn, "cache_actor") do (turn: var Turn):
|
||||||
during(turn, root, ?:CacheArguments) do (ds: Cap, lifetime: float64):
|
during(turn, root, ?:CacheArguments) do (ds: Cap, lifetime: float64):
|
||||||
onPublish(turn, ds, ?:Observe) do (pat: Pattern, obs: Cap):
|
onPublish(turn, ds, ?:Observe) do (pat: Pattern, obs: Cap):
|
||||||
var cache: CacheEntity
|
var cache: CacheEntity
|
||||||
|
@ -51,7 +51,8 @@ proc spawnCacheActor*(turn: var Turn; root: Cap): Actor =
|
||||||
discard observe(turn, ds, pat, cache)
|
discard observe(turn, ds, pat, cache)
|
||||||
|
|
||||||
when isMainModule:
|
when isMainModule:
|
||||||
runActor("cache_actor") do (turn: var Turn; root: Cap):
|
import syndicate/relays
|
||||||
spawnTimers(turn, root)
|
runActor("main") do (turn: var Turn):
|
||||||
connectStdio(turn, root)
|
resolveEnvironment(turn) do (turn: var Turn; ds: Cap):
|
||||||
discard spawnCacheActor(turn, root)
|
discard spawnTimerDriver(turn, ds)
|
||||||
|
discard spawnCacheActor(turn, ds)
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
import std/[dirs, os, paths]
|
import std/[dirs, os, paths]
|
||||||
import preserves
|
import preserves
|
||||||
import syndicate, syndicate/relays
|
import syndicate
|
||||||
|
|
||||||
import ../schema/[assertions, config]
|
import ../schema/[assertions, config]
|
||||||
|
|
||||||
|
@ -22,6 +22,7 @@ proc spawnFileSystemUsageActor*(turn: var Turn; root: Cap): Actor {.discardable.
|
||||||
# TODO: updates?
|
# TODO: updates?
|
||||||
|
|
||||||
when isMainModule:
|
when isMainModule:
|
||||||
runActor("main") do (turn: var Turn; root: Cap):
|
import syndicate/relays
|
||||||
connectStdio(turn, root)
|
runActor("main") do (turn: var Turn):
|
||||||
discard spawnFileSystemUsageActor(turn, root)
|
resolveEnvironment(turn) do (turn: var Turn; ds: Cap):
|
||||||
|
discard spawnFileSystemUsageActor(turn, ds)
|
||||||
|
|
|
@ -1,39 +1,60 @@
|
||||||
# SPDX-FileCopyrightText: ☭ Emery Hemingway
|
# SPDX-FileCopyrightText: ☭ Emery Hemingway
|
||||||
# SPDX-License-Identifier: Unlicense
|
# SPDX-License-Identifier: Unlicense
|
||||||
|
|
||||||
import std/[asyncdispatch, asyncnet, json]
|
import std/[json, options]
|
||||||
from std/nativesockets import AF_UNIX, SOCK_STREAM, Protocol
|
import pkg/sys/[ioqueue, sockets]
|
||||||
import preserves, preserves/jsonhooks, syndicate, syndicate/relays
|
import preserves, preserves/jsonhooks, syndicate
|
||||||
|
|
||||||
import ../schema/config, ../json_messages
|
import ../schema/config, ../json_messages
|
||||||
|
|
||||||
proc spawnJsonSocketTranslator*(turn: var Turn; root: Cap): Actor =
|
proc translateSocket(facet: Facet; ds: Cap; path: string) {.asyncio.} =
|
||||||
spawn("json-socket-translator", turn) do (turn: var Turn):
|
var
|
||||||
during(turn, root, ?:JsonSocketTranslatorArguments) do (ds: Cap, socketPath: string):
|
socket = new AsyncConn[Protocol.Unix]
|
||||||
let socket = newAsyncSocket(
|
conn = connectUnixAsync(path)
|
||||||
domain = AF_UNIX,
|
guard = initGuard(facet)
|
||||||
sockType = SOCK_STREAM,
|
dec = newBufferedDecoder(0)
|
||||||
protocol = cast[Protocol](0),
|
buf = new string #TODO: get a pointer into the decoder
|
||||||
buffered = false,
|
alive = true
|
||||||
)
|
proc kill(turn: var Turn) =
|
||||||
addCallback(connectUnix(socket, socketPath), turn) do (turn: var Turn):
|
alive = false
|
||||||
let a = JsonTranslatorConnected(path: socketPath)
|
proc setup(turn: var Turn) =
|
||||||
discard publish(turn, ds, a)
|
# Closure, not CPS.
|
||||||
|
|
||||||
let socketFacet = turn.facet
|
|
||||||
proc processOutput(fut: Future[string]) {.gcsafe.} =
|
|
||||||
run(socketFacet) do (turn: var Turn):
|
|
||||||
var data = fut.read.parseJson
|
|
||||||
message(turn, ds, RecvJson(data: data))
|
|
||||||
socket.recvLine.addCallback(processOutput)
|
|
||||||
socket.recvLine.addCallback(processOutput)
|
|
||||||
|
|
||||||
onMessage(turn, ds, ?:SendJson) do (data: JsonNode):
|
onMessage(turn, ds, ?:SendJson) do (data: JsonNode):
|
||||||
asyncCheck(turn, send(socket, $data & "\n"))
|
if alive:
|
||||||
do:
|
discard trampoline:
|
||||||
close(socket)
|
whelp write(socket[], $data & "\n")
|
||||||
|
else:
|
||||||
|
stderr.writeLine "dropped send of ", data
|
||||||
|
discard publish(turn, ds, initRecord("connected", path.toPreserves))
|
||||||
|
onStop(facet, kill)
|
||||||
|
run(facet, setup)
|
||||||
|
while alive:
|
||||||
|
# TODO: parse buffer
|
||||||
|
buf[].setLen(0x4000)
|
||||||
|
let n = read(socket[], buf)
|
||||||
|
if n < 1:
|
||||||
|
stderr.writeLine "socket read returned ", n
|
||||||
|
else:
|
||||||
|
buf[].setLen(n)
|
||||||
|
dec.feed(buf[])
|
||||||
|
var data = dec.parse()
|
||||||
|
if data.isSome:
|
||||||
|
proc send(turn: var Turn) =
|
||||||
|
# Closure, not CPS.
|
||||||
|
message(turn, ds, initRecord("recv", data.get))
|
||||||
|
run(facet, send)
|
||||||
|
stderr.writeLine "close socket ", path
|
||||||
|
close(socket[])
|
||||||
|
|
||||||
|
proc spawnJsonSocketTranslator*(turn: var Turn; root: Cap): Actor {.discardable.} =
|
||||||
|
spawnActor(turn, "json-socket-translator") do (turn: var Turn):
|
||||||
|
during(turn, root, ?:JsonSocketTranslatorArguments) do (ds: Cap, socketPath: string):
|
||||||
|
linkActor(turn, "json-socket-translator") do (turn: var Turn):
|
||||||
|
discard trampoline:
|
||||||
|
whelp translateSocket(turn.facet, ds, socketPath)
|
||||||
|
|
||||||
when isMainModule:
|
when isMainModule:
|
||||||
runActor("json_socket_translator") do (turn: var Turn; root: Cap):
|
import syndicate/relays
|
||||||
connectStdio(turn, root)
|
runActor("main") do (turn: var Turn):
|
||||||
discard spawnJsonSocketTranslator(turn, root)
|
resolveEnvironment(turn) do (turn: var Turn; ds: Cap):
|
||||||
|
spawnJsonSocketTranslator(turn, ds)
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
import std/[json, osproc]
|
import std/[json, osproc]
|
||||||
import preserves
|
import preserves
|
||||||
import syndicate, syndicate/relays
|
import syndicate
|
||||||
|
|
||||||
import ../schema/config
|
import ../schema/config
|
||||||
import ../json_messages
|
import ../json_messages
|
||||||
|
@ -21,13 +21,14 @@ proc runChild(params: seq[string]): string =
|
||||||
stderr.writeLine "no ouput"
|
stderr.writeLine "no ouput"
|
||||||
|
|
||||||
proc spawnJsonStdioTranslator*(turn: var Turn; root: Cap): Actor {.discardable.} =
|
proc spawnJsonStdioTranslator*(turn: var Turn; root: Cap): Actor {.discardable.} =
|
||||||
spawn("json-stdio-translator", turn) do (turn: var Turn):
|
spawnActor(turn, "json-stdio-translator") do (turn: var Turn):
|
||||||
during(turn, root, ?:JsonTranslatorArguments) do (argv: seq[string], ds: Cap):
|
during(turn, root, ?:JsonTranslatorArguments) do (argv: seq[string], ds: Cap):
|
||||||
var js = parseJson(runChild(argv))
|
var js = parseJson(runChild(argv))
|
||||||
message(turn, ds, RecvJson(data: js))
|
message(turn, ds, RecvJson(data: js))
|
||||||
discard publish(turn, ds, RecvJson(data: js))
|
discard publish(turn, ds, RecvJson(data: js))
|
||||||
|
|
||||||
when isMainModule:
|
when isMainModule:
|
||||||
runActor("main") do (turn: var Turn; root: Cap):
|
import syndicate/relays
|
||||||
connectStdio(turn, root)
|
runActor("main") do (turn: var Turn):
|
||||||
spawnJsonStdioTranslator(turn, root)
|
resolveEnvironment(turn) do (turn: var Turn; ds: Cap):
|
||||||
|
spawnJsonStdioTranslator(turn, ds)
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
# SPDX-FileCopyrightText: ☭ Emery Hemingway
|
# SPDX-FileCopyrightText: ☭ Emery Hemingway
|
||||||
# SPDX-License-Identifier: Unlicense
|
# SPDX-License-Identifier: Unlicense
|
||||||
|
|
||||||
|
import preserves, syndicate
|
||||||
import preserves, syndicate, syndicate/relays
|
|
||||||
import ../schema/[config, sql]
|
import ../schema/[config, sql]
|
||||||
|
|
||||||
{.passL: "-lpq".}
|
{.passL: "-lpq".}
|
||||||
|
@ -126,6 +125,7 @@ proc spawnPostgreActor*(turn: var Turn; root: Cap): Actor {.discardable.} =
|
||||||
PQfinish(conn)
|
PQfinish(conn)
|
||||||
|
|
||||||
when isMainModule:
|
when isMainModule:
|
||||||
runActor("main") do (turn: var Turn; root: Cap):
|
import syndicate/relays
|
||||||
connectStdio(turn, root)
|
runActor("main") do (turn: var Turn):
|
||||||
spawnPostgreActor(turn, root)
|
resolveEnvironment(turn) do (turn: var Turn; ds: Cap):
|
||||||
|
spawnPostgreActor(turn, ds)
|
||||||
|
|
|
@ -2,9 +2,7 @@
|
||||||
# SPDX-License-Identifier: Unlicense
|
# SPDX-License-Identifier: Unlicense
|
||||||
|
|
||||||
import std/[options, tables, times]
|
import std/[options, tables, times]
|
||||||
import preserves, syndicate,
|
import preserves, syndicate, syndicate/drivers/timers
|
||||||
syndicate/relays,
|
|
||||||
syndicate/actors/timers
|
|
||||||
|
|
||||||
import ../schema/[assertions, config]
|
import ../schema/[assertions, config]
|
||||||
|
|
||||||
|
@ -88,7 +86,7 @@ proc newProxyEntity(turn: var Turn; timers, ds: Cap; period: float): ProxyEntity
|
||||||
proc spawnPulseActor*(turn: var Turn; root: Cap): Actor =
|
proc spawnPulseActor*(turn: var Turn; root: Cap): Actor =
|
||||||
## Spawn an actor that retracts and re-asserts observers on
|
## Spawn an actor that retracts and re-asserts observers on
|
||||||
## a timed pulse. Requires a timer service on the `root` capability.
|
## a timed pulse. Requires a timer service on the `root` capability.
|
||||||
spawn("pulse", turn) do (turn: var Turn):
|
spawnActor(turn, "pulse") do (turn: var Turn):
|
||||||
let grabPeriod = ?Observe(pattern: !Pulse) ?? { 0: grab() }
|
let grabPeriod = ?Observe(pattern: !Pulse) ?? { 0: grab() }
|
||||||
during(turn, root, ?:PulseArguments) do (ds: Cap):
|
during(turn, root, ?:PulseArguments) do (ds: Cap):
|
||||||
during(turn, ds, grabPeriod) do (lit: Literal[float]):
|
during(turn, ds, grabPeriod) do (lit: Literal[float]):
|
||||||
|
@ -100,7 +98,7 @@ proc spawnPulseActor*(turn: var Turn; root: Cap): Actor =
|
||||||
discard publish(turn, ds, pulse)
|
discard publish(turn, ds, pulse)
|
||||||
|
|
||||||
when isMainModule:
|
when isMainModule:
|
||||||
runActor("main") do (turn: var Turn; root: Cap):
|
import syndicate/relays
|
||||||
spawnTimers(turn, root)
|
runActor("main") do (turn: var Turn):
|
||||||
connectStdio(turn, root)
|
resolveEnvironment(turn) do (turn: var Turn; ds: Cap):
|
||||||
discard spawnPulseActor(turn, root)
|
discard spawnPulseActor(turn, ds)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# SPDX-FileCopyrightText: ☭ Emery Hemingway
|
# SPDX-FileCopyrightText: ☭ Emery Hemingway
|
||||||
# SPDX-License-Identifier: Unlicense
|
# SPDX-License-Identifier: Unlicense
|
||||||
|
|
||||||
import preserves, syndicate, syndicate/relays
|
import preserves, syndicate
|
||||||
import ../schema/[config, sql]
|
import ../schema/[config, sql]
|
||||||
|
|
||||||
# Avoid Sqlite3 from the standard library because it is
|
# Avoid Sqlite3 from the standard library because it is
|
||||||
|
@ -108,6 +108,7 @@ proc spawnSqliteActor*(turn: var Turn; root: Cap): Actor {.discardable.} =
|
||||||
stderr.writeLine("closed SQLite database ", path)
|
stderr.writeLine("closed SQLite database ", path)
|
||||||
|
|
||||||
when isMainModule:
|
when isMainModule:
|
||||||
runActor("main") do (turn: var Turn; root: Cap):
|
import syndicate/relays
|
||||||
connectStdio(turn, root)
|
runActor("main") do (turn: var Turn):
|
||||||
spawnSqliteActor(turn, root)
|
resolveEnvironment(turn) do (turn: var Turn; ds: Cap):
|
||||||
|
spawnSqliteActor(turn, ds)
|
||||||
|
|
|
@ -18,7 +18,7 @@ proc translatePreserves(pr: Value): XmlTranslation {.gcsafe.} =
|
||||||
if xn.isSome: result.xml = $get(xn)
|
if xn.isSome: result.xml = $get(xn)
|
||||||
|
|
||||||
proc spawnXmlTranslator*(turn: var Turn; root: Cap): Actor {.discardable.} =
|
proc spawnXmlTranslator*(turn: var Turn; root: Cap): Actor {.discardable.} =
|
||||||
spawn("xml-translator", turn) do (turn: var Turn):
|
spawnActor(turn, "xml-translator") do (turn: var Turn):
|
||||||
during(turn, root, ?:XmlTranslatorArguments) do (ds: Cap):
|
during(turn, root, ?:XmlTranslatorArguments) do (ds: Cap):
|
||||||
let obsPat = ?Observe(pattern: !XmlTranslation)
|
let obsPat = ?Observe(pattern: !XmlTranslation)
|
||||||
during(turn, ds, obsPat ?? {0: grab()}) do (xs: Literal[string]):
|
during(turn, ds, obsPat ?? {0: grab()}) do (xs: Literal[string]):
|
||||||
|
@ -28,6 +28,6 @@ proc spawnXmlTranslator*(turn: var Turn; root: Cap): Actor {.discardable.} =
|
||||||
|
|
||||||
when isMainModule:
|
when isMainModule:
|
||||||
import syndicate/relays
|
import syndicate/relays
|
||||||
runActor("main") do (turn: var Turn; root: Cap):
|
runActor("main") do (turn: var Turn):
|
||||||
connectStdio(turn, root)
|
resolveEnvironment(turn) do (turn: var Turn; ds: Cap):
|
||||||
spawnXmlTranslator(turn, root)
|
spawnXmlTranslator(turn, ds)
|
||||||
|
|
|
@ -174,7 +174,7 @@ proc toPreservesHook*(xn: xmlNodePtr): Value =
|
||||||
items[0]
|
items[0]
|
||||||
|
|
||||||
proc spawnXsltActor*(turn: var Turn; root: Cap): Actor {.discardable.} =
|
proc spawnXsltActor*(turn: var Turn; root: Cap): Actor {.discardable.} =
|
||||||
spawn("xslt", turn) do (turn: var Turn):
|
spawnActor(turn, "xslt") do (turn: var Turn):
|
||||||
initLibXml()
|
initLibXml()
|
||||||
during(turn, root, ?:XsltArguments) do (ds: Cap):
|
during(turn, root, ?:XsltArguments) do (ds: Cap):
|
||||||
let sheetsPat = ?Observe(pattern: !XsltTransform) ?? {0: grab(), 1: grab()}
|
let sheetsPat = ?Observe(pattern: !XsltTransform) ?? {0: grab(), 1: grab()}
|
||||||
|
@ -206,6 +206,6 @@ proc spawnXsltActor*(turn: var Turn; root: Cap): Actor {.discardable.} =
|
||||||
|
|
||||||
when isMainModule:
|
when isMainModule:
|
||||||
import syndicate/relays
|
import syndicate/relays
|
||||||
runActor("main") do (turn: var Turn; root: Cap):
|
runActor("main") do (turn: var Turn):
|
||||||
connectStdio(turn, root)
|
resolveEnvironment(turn) do (turn: var Turn; ds: Cap):
|
||||||
spawnXsltActor(turn, root)
|
spawnXsltActor(turn, ds)
|
||||||
|
|
|
@ -58,14 +58,10 @@ proc exitProc() {.noconv.} =
|
||||||
|
|
||||||
proc main =
|
proc main =
|
||||||
let
|
let
|
||||||
route = envRoute()
|
|
||||||
patterns = inputPatterns()
|
patterns = inputPatterns()
|
||||||
entity = DumpEntity()
|
entity = DumpEntity()
|
||||||
runActor("syndex_card") do (root: Cap; turn: var Turn):
|
runActor("syndex_card") do (turn: var Turn):
|
||||||
for pat in patterns:
|
resolveEnvironment(turn) do (turn: var Turn; ds: Cap):
|
||||||
discard observe(turn, root, pat, entity)
|
|
||||||
spawnRelays(turn, root)
|
|
||||||
resolve(turn, root, route) do (turn: var Turn; ds: Cap):
|
|
||||||
for pat in patterns:
|
for pat in patterns:
|
||||||
discard observe(turn, ds, pat, entity)
|
discard observe(turn, ds, pat, entity)
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Package
|
# Package
|
||||||
|
|
||||||
version = "20240209"
|
version = "20240405"
|
||||||
author = "Emery Hemingway"
|
author = "Emery Hemingway"
|
||||||
description = "Utilites for Syndicated Actors and Synit"
|
description = "Utilites for Syndicated Actors and Synit"
|
||||||
license = "unlicense"
|
license = "unlicense"
|
||||||
|
@ -10,4 +10,4 @@ bin = @["mintsturdyref", "mount_actor", "msg", "preserve_process_envir
|
||||||
|
|
||||||
# Dependencies
|
# Dependencies
|
||||||
|
|
||||||
requires "nim >= 2.0.0", "syndicate >= 20240208"
|
requires "http://git.syndicate-lang.org/ehmry/syndicate-nim.git >= 20240405", "https://github.com/ehmry/nim-sys.git#4ef3b624db86e331ba334e705c1aa235d55b05e1", "https://git.sr.ht/~ehmry/nim_taps >= 20240405"
|
||||||
|
|
Loading…
Reference in New Issue