diff --git a/aqua-examples/aqua-ceramic-integration/README.md b/aqua-examples/aqua-ceramic-integration/README.md index b0d2a40..cafa19e 100644 --- a/aqua-examples/aqua-ceramic-integration/README.md +++ b/aqua-examples/aqua-ceramic-integration/README.md @@ -328,12 +328,12 @@ Let's run through our Aqua functions. First, we run our simple `create` which re ```bash fldist --node-id 12D3KooWJ4bTHirdTFNZpCS72TAzwtdmavTBkkEXtzo6wHL25CtE \ - run_air - -p compiled-aqua/ceramic_demo.create.air + run_air \ + -p compiled-aqua/ceramic_demo.create.air \ -d '{"node":"12D3KooWJ4bTHirdTFNZpCS72TAzwtdmavTBkkEXtzo6wHL25CtE", "service_id":"86314188-0571-4f42-8873-0cb07ffdcdcf", - "payload": "{\"foo\":\"bar\"}", - --env stage + "payload": "{\"foo\":\"bar\"}"}'\ + --env stage \ --generated ``` @@ -349,12 +349,12 @@ Please note that we need to escape the Ceramic payload(s)! Now, we run the same ```bash fldist --node-id 12D3KooWJ4bTHirdTFNZpCS72TAzwtdmavTBkkEXtzo6wHL25CtE \ - run_air - -p compiled-aqua/ceramic_demo.create_obj.air + run_air \ + -p compiled-aqua/ceramic_demo.create_obj.air \ -d '{"node":"12D3KooWJ4bTHirdTFNZpCS72TAzwtdmavTBkkEXtzo6wHL25CtE", "service_id":"86314188-0571-4f42-8873-0cb07ffdcdcf", - "payload": "{\"foo\":\"bar\"}", - --env stage + "payload": "{\"foo\":\"bar\"}"}' \ + --env stage \ --generated ``` @@ -373,15 +373,14 @@ Which returns the `CeramicResult` object: This allows us to access members with the dot notation, e.g, CeramicResultObj.stderr. Finally, we run our roundtrip function where we create, update and show: ```bash -fldist --node-id 12D3KooWJ4bTHirdTFNZpCS72TAzwtdmavTBkkEXtzo6wHL25CtE - run_air - -p compiled-aqua/ceramic_demo.roundtrip.air +fldist --node-id 12D3KooWJ4bTHirdTFNZpCS72TAzwtdmavTBkkEXtzo6wHL25CtE \ + run_air \ + -p compiled-aqua/ceramic_demo.roundtrip.air \ -d '{"node":"12D3KooWJ4bTHirdTFNZpCS72TAzwtdmavTBkkEXtzo6wHL25CtE", "service_id":"86314188-0571-4f42-8873-0cb07ffdcdcf", - "payload": "{\"foo\":\"bar\"}", - "payload_two":"{\"foo\":\"bar open\"}" - }' - --env stage + "payload": "{\"foo\":\"bar\"}", + "payload_two":"{\"foo\":\"bar open\"}"}' \ + --env stage \ --generated ``` diff --git a/aqua-examples/aqua-ceramic-integration/compiled-aqua/builtin.ts b/aqua-examples/aqua-ceramic-integration/compiled-aqua/builtin.ts deleted file mode 100644 index 4a33ab1..0000000 --- a/aqua-examples/aqua-ceramic-integration/compiled-aqua/builtin.ts +++ /dev/null @@ -1,921 +0,0 @@ -/** - * - * This file is auto-generated. Do not edit manually: changes may be erased. - * Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. - * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues - * Aqua version: 0.3.0-226 - * - */ -import { Fluence, FluencePeer } from '@fluencelabs/fluence'; -import { - ResultCodes, - RequestFlow, - RequestFlowBuilder, - CallParams, -} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - - -// Services - - export interface SrvDef { - add_alias: (alias: string, service_id: string, callParams: CallParams<'alias' | 'service_id'>) => void; -create: (blueprint_id: string, callParams: CallParams<'blueprint_id'>) => string; -get_interface: (service_id: string, callParams: CallParams<'service_id'>) => {function_signatures:{arguments:string[][];name:string;output_types:string[]}[];record_types:{fields:string[][];id:number;name:string}[]}; -list: (callParams: CallParams) => {blueprint_id:string;id:string;owner_id:string}[]; -remove: (service_id: string, callParams: CallParams<'service_id'>) => void; -resolve_alias: (alias: string, callParams: CallParams<'alias'>) => string; - } - - export function registerSrv(service: SrvDef): void; -export function registerSrv(serviceId: string, service: SrvDef): void; -export function registerSrv(peer: FluencePeer, service: SrvDef): void; -export function registerSrv(peer: FluencePeer, serviceId: string, service: SrvDef): void; - export function registerSrv(...args: any) { - let peer: FluencePeer; - let serviceId: any; - let service: any; - if (FluencePeer.isInstance(args[0])) { - peer = args[0]; - } else { - peer = Fluence.getPeer(); - } - - if (typeof args[0] === 'string') { - serviceId = args[0]; - } else if (typeof args[1] === 'string') { - serviceId = args[1]; - } - else { - serviceId = "srv" -} - - // Figuring out which overload is the service. - // If the first argument is not Fluence Peer and it is an object, then it can only be the service def - // If the first argument is peer, we are checking further. The second argument might either be - // an object, that it must be the service object - // or a string, which is the service id. In that case the service is the third argument - if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') { - service = args[0]; - } else if (typeof args[1] === 'object') { - service = args[1]; - } else { - service = args[2]; - } - - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'add_alias') { - - const callParams = { - ...req.particleContext, - tetraplets: { - alias: req.tetraplets[0],service_id: req.tetraplets[1] - }, - }; - resp.retCode = ResultCodes.success; - service.add_alias(req.args[0], req.args[1], callParams); resp.result = {} - - } - - - - if (req.fnName === 'create') { - - const callParams = { - ...req.particleContext, - tetraplets: { - blueprint_id: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.create(req.args[0], callParams) - - } - - - - if (req.fnName === 'get_interface') { - - const callParams = { - ...req.particleContext, - tetraplets: { - service_id: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.get_interface(req.args[0], callParams) - - } - - - - if (req.fnName === 'list') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.list(callParams) - - } - - - - if (req.fnName === 'remove') { - - const callParams = { - ...req.particleContext, - tetraplets: { - service_id: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - service.remove(req.args[0], callParams); resp.result = {} - - } - - - - if (req.fnName === 'resolve_alias') { - - const callParams = { - ...req.particleContext, - tetraplets: { - alias: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.resolve_alias(req.args[0], callParams) - - } - - - next(); - }); - } - - - - export interface PeerDef { - connect: (id: string, multiaddrs: string[] | null, callParams: CallParams<'id' | 'multiaddrs'>) => boolean; -get_contact: (peer: string, callParams: CallParams<'peer'>) => {addresses:string[];peer_id:string}; -identify: (callParams: CallParams) => {external_addresses:string[]}; -is_connected: (peer: string, callParams: CallParams<'peer'>) => boolean; -timestamp_ms: (callParams: CallParams) => number; -timestamp_sec: (callParams: CallParams) => number; - } - - export function registerPeer(service: PeerDef): void; -export function registerPeer(serviceId: string, service: PeerDef): void; -export function registerPeer(peer: FluencePeer, service: PeerDef): void; -export function registerPeer(peer: FluencePeer, serviceId: string, service: PeerDef): void; - export function registerPeer(...args: any) { - let peer: FluencePeer; - let serviceId: any; - let service: any; - if (FluencePeer.isInstance(args[0])) { - peer = args[0]; - } else { - peer = Fluence.getPeer(); - } - - if (typeof args[0] === 'string') { - serviceId = args[0]; - } else if (typeof args[1] === 'string') { - serviceId = args[1]; - } - else { - serviceId = "peer" -} - - // Figuring out which overload is the service. - // If the first argument is not Fluence Peer and it is an object, then it can only be the service def - // If the first argument is peer, we are checking further. The second argument might either be - // an object, that it must be the service object - // or a string, which is the service id. In that case the service is the third argument - if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') { - service = args[0]; - } else if (typeof args[1] === 'object') { - service = args[1]; - } else { - service = args[2]; - } - - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'connect') { - - const callParams = { - ...req.particleContext, - tetraplets: { - id: req.tetraplets[0],multiaddrs: req.tetraplets[1] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.connect(req.args[0], req.args[1].length === 0 ? null : req.args[1][0], callParams) - - } - - - - if (req.fnName === 'get_contact') { - - const callParams = { - ...req.particleContext, - tetraplets: { - peer: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.get_contact(req.args[0], callParams) - - } - - - - if (req.fnName === 'identify') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.identify(callParams) - - } - - - - if (req.fnName === 'is_connected') { - - const callParams = { - ...req.particleContext, - tetraplets: { - peer: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.is_connected(req.args[0], callParams) - - } - - - - if (req.fnName === 'timestamp_ms') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.timestamp_ms(callParams) - - } - - - - if (req.fnName === 'timestamp_sec') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.timestamp_sec(callParams) - - } - - - next(); - }); - } - - - - export interface OpDef { - array: (a: string, b: string | null, c: string | null, d: string | null, callParams: CallParams<'a' | 'b' | 'c' | 'd'>) => string[]; -array_length: (array: string[], callParams: CallParams<'array'>) => number; -bytes_from_b58: (b: string, callParams: CallParams<'b'>) => number[]; -bytes_to_b58: (bs: number[], callParams: CallParams<'bs'>) => string; -concat: (a: string[], b: string[] | null, c: string[] | null, d: string[] | null, callParams: CallParams<'a' | 'b' | 'c' | 'd'>) => string[]; -concat_strings: (a: string, b: string, callParams: CallParams<'a' | 'b'>) => string; -identity: (s: string | null, callParams: CallParams<'s'>) => string | null; -noop: (callParams: CallParams) => void; -sha256_string: (s: string, callParams: CallParams<'s'>) => string; -string_from_b58: (b: string, callParams: CallParams<'b'>) => string; -string_to_b58: (s: string, callParams: CallParams<'s'>) => string; - } - - export function registerOp(service: OpDef): void; -export function registerOp(serviceId: string, service: OpDef): void; -export function registerOp(peer: FluencePeer, service: OpDef): void; -export function registerOp(peer: FluencePeer, serviceId: string, service: OpDef): void; - export function registerOp(...args: any) { - let peer: FluencePeer; - let serviceId: any; - let service: any; - if (FluencePeer.isInstance(args[0])) { - peer = args[0]; - } else { - peer = Fluence.getPeer(); - } - - if (typeof args[0] === 'string') { - serviceId = args[0]; - } else if (typeof args[1] === 'string') { - serviceId = args[1]; - } - else { - serviceId = "op" -} - - // Figuring out which overload is the service. - // If the first argument is not Fluence Peer and it is an object, then it can only be the service def - // If the first argument is peer, we are checking further. The second argument might either be - // an object, that it must be the service object - // or a string, which is the service id. In that case the service is the third argument - if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') { - service = args[0]; - } else if (typeof args[1] === 'object') { - service = args[1]; - } else { - service = args[2]; - } - - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'array') { - - const callParams = { - ...req.particleContext, - tetraplets: { - a: req.tetraplets[0],b: req.tetraplets[1],c: req.tetraplets[2],d: req.tetraplets[3] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.array(req.args[0], req.args[1].length === 0 ? null : req.args[1][0], req.args[2].length === 0 ? null : req.args[2][0], req.args[3].length === 0 ? null : req.args[3][0], callParams) - - } - - - - if (req.fnName === 'array_length') { - - const callParams = { - ...req.particleContext, - tetraplets: { - array: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.array_length(req.args[0], callParams) - - } - - - - if (req.fnName === 'bytes_from_b58') { - - const callParams = { - ...req.particleContext, - tetraplets: { - b: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.bytes_from_b58(req.args[0], callParams) - - } - - - - if (req.fnName === 'bytes_to_b58') { - - const callParams = { - ...req.particleContext, - tetraplets: { - bs: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.bytes_to_b58(req.args[0], callParams) - - } - - - - if (req.fnName === 'concat') { - - const callParams = { - ...req.particleContext, - tetraplets: { - a: req.tetraplets[0],b: req.tetraplets[1],c: req.tetraplets[2],d: req.tetraplets[3] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.concat(req.args[0], req.args[1].length === 0 ? null : req.args[1][0], req.args[2].length === 0 ? null : req.args[2][0], req.args[3].length === 0 ? null : req.args[3][0], callParams) - - } - - - - if (req.fnName === 'concat_strings') { - - const callParams = { - ...req.particleContext, - tetraplets: { - a: req.tetraplets[0],b: req.tetraplets[1] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.concat_strings(req.args[0], req.args[1], callParams) - - } - - - - if (req.fnName === 'identity') { - - const callParams = { - ...req.particleContext, - tetraplets: { - s: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - - var respResult = service.identity(req.args[0].length === 0 ? null : req.args[0][0], callParams); - resp.result = respResult === null ? [] : [respResult] - - - } - - - - if (req.fnName === 'noop') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - service.noop(callParams); resp.result = {} - - } - - - - if (req.fnName === 'sha256_string') { - - const callParams = { - ...req.particleContext, - tetraplets: { - s: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.sha256_string(req.args[0], callParams) - - } - - - - if (req.fnName === 'string_from_b58') { - - const callParams = { - ...req.particleContext, - tetraplets: { - b: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.string_from_b58(req.args[0], callParams) - - } - - - - if (req.fnName === 'string_to_b58') { - - const callParams = { - ...req.particleContext, - tetraplets: { - s: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.string_to_b58(req.args[0], callParams) - - } - - - next(); - }); - } - - - - export interface KademliaDef { - merge: (target: string, left: string[], right: string[], count: number | null, callParams: CallParams<'target' | 'left' | 'right' | 'count'>) => string[]; -neighborhood: (key: string, already_hashed: boolean | null, count: number | null, callParams: CallParams<'key' | 'already_hashed' | 'count'>) => string[]; - } - - export function registerKademlia(service: KademliaDef): void; -export function registerKademlia(serviceId: string, service: KademliaDef): void; -export function registerKademlia(peer: FluencePeer, service: KademliaDef): void; -export function registerKademlia(peer: FluencePeer, serviceId: string, service: KademliaDef): void; - export function registerKademlia(...args: any) { - let peer: FluencePeer; - let serviceId: any; - let service: any; - if (FluencePeer.isInstance(args[0])) { - peer = args[0]; - } else { - peer = Fluence.getPeer(); - } - - if (typeof args[0] === 'string') { - serviceId = args[0]; - } else if (typeof args[1] === 'string') { - serviceId = args[1]; - } - else { - serviceId = "kad" -} - - // Figuring out which overload is the service. - // If the first argument is not Fluence Peer and it is an object, then it can only be the service def - // If the first argument is peer, we are checking further. The second argument might either be - // an object, that it must be the service object - // or a string, which is the service id. In that case the service is the third argument - if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') { - service = args[0]; - } else if (typeof args[1] === 'object') { - service = args[1]; - } else { - service = args[2]; - } - - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'merge') { - - const callParams = { - ...req.particleContext, - tetraplets: { - target: req.tetraplets[0],left: req.tetraplets[1],right: req.tetraplets[2],count: req.tetraplets[3] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.merge(req.args[0], req.args[1], req.args[2], req.args[3].length === 0 ? null : req.args[3][0], callParams) - - } - - - - if (req.fnName === 'neighborhood') { - - const callParams = { - ...req.particleContext, - tetraplets: { - key: req.tetraplets[0],already_hashed: req.tetraplets[1],count: req.tetraplets[2] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.neighborhood(req.args[0], req.args[1].length === 0 ? null : req.args[1][0], req.args[2].length === 0 ? null : req.args[2][0], callParams) - - } - - - next(); - }); - } - - - - export interface ScriptDef { - add: (air_script: string, interval: string | null, callParams: CallParams<'air_script' | 'interval'>) => string; -list: (callParams: CallParams) => {failures:number;id:string;interval:string;owner:string;src:string}; -remove: (script_id: string, callParams: CallParams<'script_id'>) => boolean; - } - - export function registerScript(service: ScriptDef): void; -export function registerScript(serviceId: string, service: ScriptDef): void; -export function registerScript(peer: FluencePeer, service: ScriptDef): void; -export function registerScript(peer: FluencePeer, serviceId: string, service: ScriptDef): void; - export function registerScript(...args: any) { - let peer: FluencePeer; - let serviceId: any; - let service: any; - if (FluencePeer.isInstance(args[0])) { - peer = args[0]; - } else { - peer = Fluence.getPeer(); - } - - if (typeof args[0] === 'string') { - serviceId = args[0]; - } else if (typeof args[1] === 'string') { - serviceId = args[1]; - } - else { - serviceId = "script" -} - - // Figuring out which overload is the service. - // If the first argument is not Fluence Peer and it is an object, then it can only be the service def - // If the first argument is peer, we are checking further. The second argument might either be - // an object, that it must be the service object - // or a string, which is the service id. In that case the service is the third argument - if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') { - service = args[0]; - } else if (typeof args[1] === 'object') { - service = args[1]; - } else { - service = args[2]; - } - - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'add') { - - const callParams = { - ...req.particleContext, - tetraplets: { - air_script: req.tetraplets[0],interval: req.tetraplets[1] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.add(req.args[0], req.args[1].length === 0 ? null : req.args[1][0], callParams) - - } - - - - if (req.fnName === 'list') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.list(callParams) - - } - - - - if (req.fnName === 'remove') { - - const callParams = { - ...req.particleContext, - tetraplets: { - script_id: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.remove(req.args[0], callParams) - - } - - - next(); - }); - } - - - - export interface DistDef { - add_blueprint: (blueprint: {dependencies:string[];name:string}, callParams: CallParams<'blueprint'>) => string; -add_module: (wasm_b56_content: number[], conf: {name:string}, callParams: CallParams<'wasm_b56_content' | 'conf'>) => string; -add_module_from_vault: (path: string, config: {name:string}, callParams: CallParams<'path' | 'config'>) => string; -default_module_config: (module_name: string, callParams: CallParams<'module_name'>) => {name:string}; -get_interface: (module_id: string, callParams: CallParams<'module_id'>) => {function_signatures:{arguments:string[][];name:string;output_types:string[]}[];record_types:{fields:string[][];id:number;name:string}[]}; -list_blueprints: (callParams: CallParams) => {dependencies:string[];id:string;name:string}[]; -list_modules: (callParams: CallParams) => {config:{name:string};hash:string;name:string}[]; -make_blueprint: (name: string, dependencies: string[], callParams: CallParams<'name' | 'dependencies'>) => {dependencies:string[];name:string}; -make_module_config: (name: string, mem_pages_count: number | null, logger_enabled: boolean | null, preopened_files: string[] | null, envs: string[][] | null, mapped_dirs: string[][] | null, mounted_binaries: string[][] | null, logging_mask: number | null, callParams: CallParams<'name' | 'mem_pages_count' | 'logger_enabled' | 'preopened_files' | 'envs' | 'mapped_dirs' | 'mounted_binaries' | 'logging_mask'>) => {name:string}; - } - - export function registerDist(service: DistDef): void; -export function registerDist(serviceId: string, service: DistDef): void; -export function registerDist(peer: FluencePeer, service: DistDef): void; -export function registerDist(peer: FluencePeer, serviceId: string, service: DistDef): void; - export function registerDist(...args: any) { - let peer: FluencePeer; - let serviceId: any; - let service: any; - if (FluencePeer.isInstance(args[0])) { - peer = args[0]; - } else { - peer = Fluence.getPeer(); - } - - if (typeof args[0] === 'string') { - serviceId = args[0]; - } else if (typeof args[1] === 'string') { - serviceId = args[1]; - } - else { - serviceId = "dist" -} - - // Figuring out which overload is the service. - // If the first argument is not Fluence Peer and it is an object, then it can only be the service def - // If the first argument is peer, we are checking further. The second argument might either be - // an object, that it must be the service object - // or a string, which is the service id. In that case the service is the third argument - if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') { - service = args[0]; - } else if (typeof args[1] === 'object') { - service = args[1]; - } else { - service = args[2]; - } - - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'add_blueprint') { - - const callParams = { - ...req.particleContext, - tetraplets: { - blueprint: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.add_blueprint(req.args[0], callParams) - - } - - - - if (req.fnName === 'add_module') { - - const callParams = { - ...req.particleContext, - tetraplets: { - wasm_b56_content: req.tetraplets[0],conf: req.tetraplets[1] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.add_module(req.args[0], req.args[1], callParams) - - } - - - - if (req.fnName === 'add_module_from_vault') { - - const callParams = { - ...req.particleContext, - tetraplets: { - path: req.tetraplets[0],config: req.tetraplets[1] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.add_module_from_vault(req.args[0], req.args[1], callParams) - - } - - - - if (req.fnName === 'default_module_config') { - - const callParams = { - ...req.particleContext, - tetraplets: { - module_name: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.default_module_config(req.args[0], callParams) - - } - - - - if (req.fnName === 'get_interface') { - - const callParams = { - ...req.particleContext, - tetraplets: { - module_id: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.get_interface(req.args[0], callParams) - - } - - - - if (req.fnName === 'list_blueprints') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.list_blueprints(callParams) - - } - - - - if (req.fnName === 'list_modules') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.list_modules(callParams) - - } - - - - if (req.fnName === 'make_blueprint') { - - const callParams = { - ...req.particleContext, - tetraplets: { - name: req.tetraplets[0],dependencies: req.tetraplets[1] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.make_blueprint(req.args[0], req.args[1], callParams) - - } - - - - if (req.fnName === 'make_module_config') { - - const callParams = { - ...req.particleContext, - tetraplets: { - name: req.tetraplets[0],mem_pages_count: req.tetraplets[1],logger_enabled: req.tetraplets[2],preopened_files: req.tetraplets[3],envs: req.tetraplets[4],mapped_dirs: req.tetraplets[5],mounted_binaries: req.tetraplets[6],logging_mask: req.tetraplets[7] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.make_module_config(req.args[0], req.args[1].length === 0 ? null : req.args[1][0], req.args[2].length === 0 ? null : req.args[2][0], req.args[3].length === 0 ? null : req.args[3][0], req.args[4].length === 0 ? null : req.args[4][0], req.args[5].length === 0 ? null : req.args[5][0], req.args[6].length === 0 ? null : req.args[6][0], req.args[7].length === 0 ? null : req.args[7][0], callParams) - - } - - - next(); - }); - } - - -// Functions - diff --git a/aqua-examples/aqua-ceramic-integration/compiled-aqua/ceramic_demo.ts b/aqua-examples/aqua-ceramic-integration/compiled-aqua/ceramic_demo.ts deleted file mode 100644 index 382e1d6..0000000 --- a/aqua-examples/aqua-ceramic-integration/compiled-aqua/ceramic_demo.ts +++ /dev/null @@ -1,279 +0,0 @@ -/** - * - * This file is auto-generated. Do not edit manually: changes may be erased. - * Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. - * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues - * Aqua version: 0.3.0-226 - * - */ -import { Fluence, FluencePeer } from '@fluencelabs/fluence'; -import { - ResultCodes, - RequestFlow, - RequestFlowBuilder, - CallParams, -} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - - -// Services - - export interface CeramicAdapterDef { - ceramic_request: (args: string[], callParams: CallParams<'args'>) => {ret_code:number;stderr:string;stdout:string}; -create_schema: (schema: string, callParams: CallParams<'schema'>) => {ret_code:number;stderr:string;stdout:string}; -create_stream: (payload: string, callParams: CallParams<'payload'>) => {ret_code:number;stderr:string;stdout:string}; -show: (stream_id: string, callParams: CallParams<'stream_id'>) => {ret_code:number;stderr:string;stdout:string}; -state: (stream_id: string, callParams: CallParams<'stream_id'>) => {ret_code:number;stderr:string;stdout:string}; -update: (stream_id: string, payload: string, callParams: CallParams<'stream_id' | 'payload'>) => {ret_code:number;stderr:string;stdout:string}; - } - - export function registerCeramicAdapter(service: CeramicAdapterDef): void; -export function registerCeramicAdapter(serviceId: string, service: CeramicAdapterDef): void; -export function registerCeramicAdapter(peer: FluencePeer, service: CeramicAdapterDef): void; -export function registerCeramicAdapter(peer: FluencePeer, serviceId: string, service: CeramicAdapterDef): void; - export function registerCeramicAdapter(...args: any) { - let peer: FluencePeer; - let serviceId: any; - let service: any; - if (FluencePeer.isInstance(args[0])) { - peer = args[0]; - } else { - peer = Fluence.getPeer(); - } - - if (typeof args[0] === 'string') { - serviceId = args[0]; - } else if (typeof args[1] === 'string') { - serviceId = args[1]; - } - else { - serviceId = "service-id" -} - - // Figuring out which overload is the service. - // If the first argument is not Fluence Peer and it is an object, then it can only be the service def - // If the first argument is peer, we are checking further. The second argument might either be - // an object, that it must be the service object - // or a string, which is the service id. In that case the service is the third argument - if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') { - service = args[0]; - } else if (typeof args[1] === 'object') { - service = args[1]; - } else { - service = args[2]; - } - - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'ceramic_request') { - - const callParams = { - ...req.particleContext, - tetraplets: { - args: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.ceramic_request(req.args[0], callParams) - - } - - - - if (req.fnName === 'create_schema') { - - const callParams = { - ...req.particleContext, - tetraplets: { - schema: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.create_schema(req.args[0], callParams) - - } - - - - if (req.fnName === 'create_stream') { - - const callParams = { - ...req.particleContext, - tetraplets: { - payload: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.create_stream(req.args[0], callParams) - - } - - - - if (req.fnName === 'show') { - - const callParams = { - ...req.particleContext, - tetraplets: { - stream_id: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.show(req.args[0], callParams) - - } - - - - if (req.fnName === 'state') { - - const callParams = { - ...req.particleContext, - tetraplets: { - stream_id: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.state(req.args[0], callParams) - - } - - - - if (req.fnName === 'update') { - - const callParams = { - ...req.particleContext, - tetraplets: { - stream_id: req.tetraplets[0],payload: req.tetraplets[1] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.update(req.args[0], req.args[1], callParams) - - } - - - next(); - }); - } - - -// Functions - - export function roundtrip(payload: string, payload_two: string, node: string, service_id: string, config?: {ttl?: number}) : Promise<[string, string]>; - export function roundtrip(peer: FluencePeer, payload: string, payload_two: string, node: string, service_id: string, config?: {ttl?: number}) : Promise<[string, string]>; - export function roundtrip(...args: any) { - let peer: FluencePeer; - let payload: any; -let payload_two: any; -let node: any; -let service_id: any; - let config: any; - if (FluencePeer.isInstance(args[0])) { - peer = args[0]; - payload = args[1]; -payload_two = args[2]; -node = args[3]; -service_id = args[4]; -config = args[5]; - } else { - peer = Fluence.getPeer(); - payload = args[0]; -payload_two = args[1]; -node = args[2]; -service_id = args[3]; -config = args[4]; - } - - let request: RequestFlow; - const promise = new Promise<[string, string]>((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` - (xor - (seq - (seq - (seq - (seq - (seq - (seq - (seq - (seq - (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) - (call %init_peer_id% ("getDataSrv" "payload") [] payload) - ) - (call %init_peer_id% ("getDataSrv" "payload_two") [] payload_two) - ) - (call %init_peer_id% ("getDataSrv" "node") [] node) - ) - (call %init_peer_id% ("getDataSrv" "service_id") [] service_id) - ) - (call -relay- ("op" "noop") []) - ) - (xor - (seq - (seq - (seq - (call -relay- ("op" "noop") []) - (call node (service_id "create_stream") [payload] create_res) - ) - (call node (service_id "show") [create_res.$.stdout!] show_res) - ) - (call node (service_id "update") [create_res.$.stdout! payload_two] update_res) - ) - (seq - (call -relay- ("op" "noop") []) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1]) - ) - ) - ) - (call -relay- ("op" "noop") []) - ) - (xor - (call %init_peer_id% ("callbackSrv" "response") [create_res.$.stdout! update_res.$.stdout!]) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) - ) - ) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3]) -) - - `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.getStatus().relayPeerId; - }); - h.on('getDataSrv', 'payload', () => {return payload;}); -h.on('getDataSrv', 'payload_two', () => {return payload_two;}); -h.on('getDataSrv', 'node', () => {return node;}); -h.on('getDataSrv', 'service_id', () => {return service_id;}); - h.onEvent('callbackSrv', 'response', (args) => { - let opt: any = args; - - return resolve(opt); -}); - - h.onEvent('errorHandlingSrv', 'error', (args) => { - const [err] = args; - reject(err); - }); - }) - .handleScriptError(reject) - .handleTimeout(() => { - reject('Request timed out for roundtrip'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) - } - request = r.build(); - }); - peer.internals.initiateFlow(request!); - return promise; -} - diff --git a/aqua-examples/aqua-ceramic-integration/compiled-aqua/timestamp.ts b/aqua-examples/aqua-ceramic-integration/compiled-aqua/timestamp.ts deleted file mode 100644 index a4c31a4..0000000 --- a/aqua-examples/aqua-ceramic-integration/compiled-aqua/timestamp.ts +++ /dev/null @@ -1,204 +0,0 @@ -/** - * - * This file is auto-generated. Do not edit manually: changes may be erased. - * Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. - * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues - * Aqua version: 0.3.0-226 - * - */ -import { Fluence, FluencePeer } from '@fluencelabs/fluence'; -import { - ResultCodes, - RequestFlow, - RequestFlowBuilder, - CallParams, -} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - - -// Services - - export interface Op2Def { - array: (a: string, b: number, callParams: CallParams<'a' | 'b'>) => string; -identity: (s: number, callParams: CallParams<'s'>) => void; - } - - export function registerOp2(service: Op2Def): void; -export function registerOp2(serviceId: string, service: Op2Def): void; -export function registerOp2(peer: FluencePeer, service: Op2Def): void; -export function registerOp2(peer: FluencePeer, serviceId: string, service: Op2Def): void; - export function registerOp2(...args: any) { - let peer: FluencePeer; - let serviceId: any; - let service: any; - if (FluencePeer.isInstance(args[0])) { - peer = args[0]; - } else { - peer = Fluence.getPeer(); - } - - if (typeof args[0] === 'string') { - serviceId = args[0]; - } else if (typeof args[1] === 'string') { - serviceId = args[1]; - } - else { - serviceId = "op" -} - - // Figuring out which overload is the service. - // If the first argument is not Fluence Peer and it is an object, then it can only be the service def - // If the first argument is peer, we are checking further. The second argument might either be - // an object, that it must be the service object - // or a string, which is the service id. In that case the service is the third argument - if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') { - service = args[0]; - } else if (typeof args[1] === 'object') { - service = args[1]; - } else { - service = args[2]; - } - - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'array') { - - const callParams = { - ...req.particleContext, - tetraplets: { - a: req.tetraplets[0],b: req.tetraplets[1] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.array(req.args[0], req.args[1], callParams) - - } - - - - if (req.fnName === 'identity') { - - const callParams = { - ...req.particleContext, - tetraplets: { - s: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - service.identity(req.args[0], callParams); resp.result = {} - - } - - - next(); - }); - } - - -// Functions - - export function ts_getter(node: string, config?: {ttl?: number}) : Promise; - export function ts_getter(peer: FluencePeer, node: string, config?: {ttl?: number}) : Promise; - export function ts_getter(...args: any) { - let peer: FluencePeer; - let node: any; - let config: any; - if (FluencePeer.isInstance(args[0])) { - peer = args[0]; - node = args[1]; -config = args[2]; - } else { - peer = Fluence.getPeer(); - node = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` - (xor - (seq - (seq - (seq - (seq - (seq - (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) - (call %init_peer_id% ("getDataSrv" "node") [] node) - ) - (call -relay- ("op" "noop") []) - ) - (xor - (seq - (seq - (seq - (call node ("op" "string_to_b58") [node] k) - (call node ("kad" "neighborhood") [k [] []] nodes) - ) - (fold nodes n - (par - (seq - (xor - (call n ("peer" "timestamp_ms") [] $res) - (null) - ) - (call node ("op" "noop") []) - ) - (next n) - ) - ) - ) - (call node ("op" "identity") [$res.$.[1]!]) - ) - (seq - (call -relay- ("op" "noop") []) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1]) - ) - ) - ) - (call -relay- ("op" "noop") []) - ) - (xor - (call %init_peer_id% ("callbackSrv" "response") [$res]) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) - ) - ) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3]) -) - - `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.getStatus().relayPeerId; - }); - h.on('getDataSrv', 'node', () => {return node;}); - h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); - - h.onEvent('errorHandlingSrv', 'error', (args) => { - const [err] = args; - reject(err); - }); - }) - .handleScriptError(reject) - .handleTimeout(() => { - reject('Request timed out for ts_getter'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) - } - request = r.build(); - }); - peer.internals.initiateFlow(request!); - return promise; -} -