Commit Graph

235 Commits

Author SHA1 Message Date
Pavel
8ddccd3c60
Fix zero to empty object conversion error (#40) 2021-04-20 14:19:08 +03:00
Pavel
f14baeb618
Fix variable injection (#39) 2021-04-15 15:42:18 +03:00
Pavel
de0516f305
fixes (#38)
* Fix error message when an incorrect service has been called.

* Fix return type of the handler in registerServiceFunction
2021-04-13 17:04:36 +03:00
folex
480c8aa850
Allow ws transport (#37) 2021-04-13 15:11:52 +03:00
Pavel
15e645c2d5
Fixes (#35)
* Fix assignment in `withInjectedVariables` 

* Pin all dependencies to exact version

* Remove unused deps
2021-04-08 13:55:33 +03:00
Pavel
5355eeb152
Extract defaults (#34)
* Extracted default request flow builder behavior out of the constructor

* Remove init_peer_id variable, which stands in the way when building apps with aquamarine
2021-03-29 23:52:46 +03:00
Pavel
0ff10a25de
update aqua version (#33)
* Bump aquamarine version

* Add connection options
2021-03-25 21:33:27 +03:00
Pavel
f732a30eb8
Swapped secio with noise (#32)
Update libp2p-related packages and switch from secio to noise
2021-03-10 15:56:12 +03:00
Pavel
6013f623d4
Tidy up api (#31)
Tidy up api
2021-03-05 17:50:52 +03:00
Pavel
783913043e
fix relative paths in import statement (#30)
* Fix relative paths in import statement
* Fix types in builtins for better compatibility
2021-03-05 16:21:41 +03:00
Pavel Murygin
88d534e4a5 Checking if the particle is sent not to the relay which the client is connected to. If not an error is thrown 2021-03-04 14:51:49 +03:00
Pavel Murygin
89d42476a2 remove processing queue, merge ParticleProcessor logic into fluence client 2021-03-04 14:51:49 +03:00
Pavel
b0ed007399
Particle lifecycle (#21)
Complete rethinking and refactoring of the codebase.

The codebase basically consists these 5 moving parts now: 

1. Fluence client (and the Particle processor which might be merged with the client) - This part is responsible for initiating Request flows, managing existing requests flows (it keeps the queue of received particles), pulling right strings on request flows to update their state etc
2. Fluence connection - This part is responsible for connecting to network, sending\receiving particles
3. RequestFlow - This is where the state of particle execution process is kept. It is basically a state storage with some control levers to update the state. Each request flow contains some particle lifecycle methods and the AquaCallHandler where all callback logic is kept
4. RequestFlowBuilder - This is where requests are prepared by the user (the developer of the client application) before they are ready to be sent into the network.
5. AquaCallHandler - This is how interpreter callbacks are handled. It is very similar to express.js app and is made of middlewares. Aqua handler is the unified api for both callbacks for our Request flows and non-ours (i.e services that are expected to be called be other peers). See `AquaHandler.ts` for details
2021-03-03 22:01:05 +03:00
folex
77ca5502b2 set ttl to 0 2021-03-03 17:31:41 +03:00
folex
052a8a7f24
Do not use DataView (#28) 2021-03-03 17:27:00 +03:00
Pavel
c65c0afbee
Xor (#24)
* Wrapping scripts with xor

* Add function subscribeForErrors to handle errors
2021-02-25 18:36:10 +03:00
Pavel
619c8a6d6a
Update builtins to new version (#27)
* Update builtins to new version

* Running integration tests in docker container
2021-02-25 15:33:37 +03:00
Pavel
d65153e6de
Update interpreter (#26)
* Update interpreter version
2021-02-24 14:51:24 +03:00
Dima
3eacf708e6
handle errors on local particle call (#25) 2021-02-24 14:43:21 +03:00
Dima
c10cd1942a
Check if connection is available on creating a client (#23)
Check if connection is available on creating a client
2021-02-19 16:32:02 +03:00
Dima
78ed8ab46c
delete trust-graph (#22) 2021-02-19 12:21:13 +03:00
Pavel
416221ea17
Improve tests (#18)
Replaced mocha with jest. 
Test are split into unit and integration categories.
Dropped ESM dependency. Code is now being compiled into CJS
2021-02-14 00:35:02 +03:00
Pavel
399166efe8
Exporting wrapper for loglevel (#20)
* Exporting wrapper for loglevel

* prettier
2021-02-13 16:13:00 +03:00
folex
ceca3e5692
Add ttl argument to some "builtin" functions (#17) 2021-02-12 18:27:21 +03:00
DieMyst
2fb5ffeb06 improve test 2021-02-04 18:59:38 +03:00
Dima
7d5f1ed41d
update aqua (#16) 2021-02-04 13:40:19 +03:00
Dima
481a44b819
Add remove scripts, fix builtins (#15) 2021-02-03 21:18:27 +03:00
Dima
e4d3f688ed
Immediate -> timeout (#14) 2021-02-02 14:13:52 +03:00
Pavel
4276ea7c2e
Add logging for particle receive events (#13)
* Add logging for particle receive events

* Better log levels
2021-01-29 18:54:54 +03:00
Pavel
041b3acd8c
Fix docs (#12) 2021-01-29 16:57:41 +03:00
Dima
92980379bd
Returned built-in Aquamarine calls, updated docs (#11) 2021-01-29 16:48:27 +03:00
Pavel
b9d146c653
Hide non latest packages (#9)
* publishing branch packages with beta tag to hide it from being latest

* Update package version
2021-01-19 17:15:59 +03:00
Pavel
ba537c79b3
Big refactoring (#8)
Big codebase refactoring. 

* Multiple clients are allowed on the same browser instance
* Particle queue processing is split from particle handling logic
* Public AIP is completely rethought
* Updated project file structure. Clean exports for public api methods
* Additional unit tests
2021-01-19 15:47:49 +03:00
folex
c7f94109a6
Do not run 'publish_branch' on master (#7) 2020-12-31 15:04:11 +03:00
folex
5ad4108361
Switch badge to @fluencelabs/fluence (#6) 2020-12-30 13:14:24 +03:00
folex
0c19f080df
Release @fluencelabs/fluence automatically (#5) 2020-12-29 15:38:20 +03:00
coder11
1995425f01
fix repository url in package.json (#4) 2020-12-29 12:01:53 +03:00
coder11
0668cf01dd
Add npm version badge (#3) 2020-12-28 17:39:06 +03:00
DieMyst
63281bbdfd rename, update version 2020-12-24 19:47:17 +03:00
DieMyst
6e7d1a93fa fix 2020-12-24 19:36:38 +03:00
DieMyst
7b9c8b9be8 fix 2020-12-24 19:19:51 +03:00
Dima
7331d48afd
Data as base64 (#2) 2020-12-24 19:11:10 +03:00
DieMyst
cbecbf95f3 update aqua version, update aqua callservice hash 2020-12-24 16:13:45 +03:00
coder11
f6fd95ce77
Tetraplets (#1) 2020-12-23 17:24:22 +03:00
DieMyst
2876417554 fix workflow 2020-12-22 11:09:59 +03:00
DieMyst
3344c5d7a9 add workflow 2020-12-22 11:08:44 +03:00
folex
b79f0920d4 JS SDK: fix host functions in mocha tests (#1003) 2020-12-19 23:59:29 +03:00
folex
f0b4c7a718 Expose kademlia config & integrate new StepperOutcome (#1002) 2020-12-18 18:29:03 +03:00
Dima
7848f59e00 fluence-js: fix particle data merging (#998) 2020-12-14 15:21:43 +03:00
folex
8a10957efe Fix host imports in fluence-js (#997) 2020-12-08 17:13:24 +03:00