Commit Graph

247 Commits

Author SHA1 Message Date
Pavel
cabbe89845
Fixed issue when a variable passed to Request flow could be undefined (#55) 2021-06-09 20:39:04 +03:00
Pavel
67a1f91961
Fix issue with avm logs not being displayed (#54) 2021-06-08 11:08:07 +03:00
Pavel
2e016e9b7a
fix "Op" service name case to "op" (#53) 2021-06-04 14:05:04 +03:00
Pavel
53385c556a
Implement handlers for built-in calls from avm (#52) 2021-06-03 20:11:09 +03:00
Pavel
c01c6478b7
Update error handling when dialing libp2p connecion (#51) 2021-06-03 15:29:12 +03:00
Dima
b5bdc5d6e5
update (#50) 2021-06-01 19:05:40 +03:00
Pavel
054a7bf094
Mass rename (#48)
* Update terminology and namings

* Use renamed to `avm` package
2021-05-18 09:53:12 +03:00
Pavel
9aa077eb4b
Update air (#47)
* Migrate to the new version of air-interpreter package

* Add pipeline with integration tests 

* Fix issues which prevented tests to finish normally
2021-05-12 00:01:44 +03:00
Pavel
2d46fd47f1
fix error prototype (#45) 2021-04-27 17:50:53 +03:00
Pavel
8c372cd0c8
Improvements (#44)
* Add more detailed information when the particle is sent to incorrect peers

* Throwing custom error in case of version incompatibility
2021-04-27 17:08:18 +03:00
Pavel
d84d9fd7ea
Opt out defaults (#43)
* Change the wat the withDefaults() words. Now it is "disable default injections" instead of "enable default injections"
2021-04-21 19:56:19 +03:00
folex
f9d7a1c875
Update AIR interpreter to 0.8.2 (#42) 2021-04-21 12:42:42 +03:00
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