Skip to main content

Jaseci Basic Actions Library

Alias

Alias provides names for long string like UUIDs.

Register

name : (str) - The name for the alias created by caller. value : (str) - The value for that name to map to (i.e., UUID)

response  = jaseci.alias_register(name,value);

List

List all string to string alias that caller can use

jaseci.alias_list()

Delete

Delete an active string to string alias mapping

name: (str) - The name for the alias to be removed from caller.

jaseci.alias_delete()

Clear

Removes all aliases.

jaseci.alias_clear()

Objects

Get global Variable

name:(str) - name of global variable.

value = jaseci.global_get(name);

Object Details

Return detail of jaseci object.

object : element - jaseci object

details = jaseci.object_get(object);

Object Access Mode

Get the object access mode for any jaseci object.

object : element - jaseci object

accessMode  = jaseci.object_perms_set(object);

Set Object access mode

valid perms = ["public", "private", "read_only"] object : element - jaseci object perm: string

jaseci.object_perms_set(element,perm);

Object access grant

Grants one object the acess to another object.

object : element - object to access master : element - object to gain access

rent = jaseci.object_perms_grant(element, master);

Revoke object access

Remove permissions for user to access a Jaseci object

object : element - object that was accessed. master : element - object that has access.

ret = jaseci.object_perms_revoke(element,master);

Graphs

Create Graph

Create a graph instance and return root node graph object.

jaseci.graph_create()

Get Graph Content

Return the content of the graph with mode. Valid modes: {default, dot, }.

gph :graph - graph whose content you need. mode : string - "default" or "dot" , "default" by default.

Contents = jaseci.graph_get(gph);

List Graph Objects

Provide complete list of all graph objects (list of root node objects).

detailed : boolean - if eac graph details are wanted.

graph_info = jaseci.graph_list(detailed);

Set Default Graph

Set the default graph master should use.

gph : graph - graph to be default.

message = jaseci.graph_active_set(gph);

Remove Default Graph

Unsets the default sentinel master should use.

jaseci.graph_active_unset();

Get Default Graph

detailed : boolean - default false , true to return graph details (optional)

grph = jaseci.graph_active_get();

Delete Graph

Permantely delete graph

grph : graph - Graph to be deleted.

message = jaseci.graph_delete(graph);

Return Node Value

Returns value of a given node.

nd : node - node whose value will be returned.

node_value =  jaseci.graph_node_get(nd);

Set Node Value

Assigns values to member variables of a given node using ctx object.

nd : node : node to who a value will be assigned. ctx : dictionary - values to assign.

node_details = jaseci.graph_node_set(nd,ctx);

Sentinels

Register Sentinel

Create blank or code loaded sentinel and return object.

name: str - "default" when not specified. encoded: bool auto_run: Auto_run is the walker to execute on register (assumes active graph is selected), default is "init" ctx : dict = {}, set_active: bool = True

sentel = jaseci.sentinel_register(name,encoded,auto_run,ctx,set_active);

Global Sentinel

Copies global sentinel to local master.

set_active : boolean - set sentinel to be active. on_demand : boolean -

sentl = jaseci.sentinel_pull(set_active);

Get Sentinel

Get a sentinel rendered with specific mode.

Valid modes: {default, code, ir, } snt : sentinel : sentinel to be rendered in specific mode. mode : str - mode sentinel will be in

snt  = jaseci.sentinel_get(snt,mode);

Set Sentinel Code

Set code/ir for a sentinel, only replaces walkers/archs in sentinel. Needs more clarity

jaseci.sentinel_set();

Sentinel List

Provides Completed list of all sentinel objects

snt_list = jaseci.sentinel_list();

Sentinel Test

Run battery of test cases within sentinel and provide result

snt : sentinel - sentinel to be tested

snt_details = jaseci.sentinel_test(snt);

Default Sentinel

Sets the default sentinel master should use.

snt :sentinel - sentinel to be made default

message = jaseci.sentinel_active_set(snt);

Remove Default Sentinel

Unsets the default sentinel master should use.

messsage = jaseci.sentinel_active_unset();

Set Global Sentinel

Sets the default master sentinel to the global sentinel.

response  = jaseci.sentinel_active_global();

Return default Sentinel

Returns the default sentinel master is using

response = jaseci.sentinel_active_get();

Delete Sentinel

Permanently delete sentinel with given id.

snt : sentinel - sentinel to be deleted

message = jaseci.sentinel_delete(snt);

Walker

Run Walker

Clarity needed Run a walker on a specific node wlk : walker - walker to be ran nd : node - node where walker will be placed ctx : dictionary - context for walker

response  = jaseci.walker_summon();

Register Walker

Clarity needed. Create blank or code loaded walker and return object.

walker_seralized = jaseci.walker_register();

Get Walker

Get a walker rendered with specific mode. wlk : walker - walker to be rendered. mode : str - mode to return walker.

Valid modes: {default, code, ir, keys, }

wlk_response = jaseci.walker_get(wlk,mode);

Set Walker code

Set code/ir for a walker. Valid modes: {code, ir, } wlk :walker - walker code/ir to be set code : str - "code" or "ir"

message = jaseci..walker_set(wlk,code);

List Walkers

List walkers known to sentinel. snt :sentinel - active sentinel

walkers = jaseci.walker_list();

Delete Walker

Permantely delete walker with given id wlk : walker - walker to be deleted snt : sentinel - sentinel where walker resides

message = jaseci.walker_delete(wlk,snt);

Spawn Walker

Creates new instance of walker and returns new walker object. name : str - name of walker snt : sentinel - sentinel the walker will be under

spawn_wlk = jaseci.walker_spawn_create(name,snt);

Delete spawned Walker

Delete instance of walker

name : string - name of walker to be deleted

jaseci.walker_spawn_delete(name);

List Spawned walker

List walkers spawned by master detailed : boolean - return details of walkers

walkers  = jaseci.walker_spawn_list(detailed);

Assign walker to node

Assigns walker to a graph node and primes walker for execution

wlk : walker - walker to be assigned nd : node - node walker will be assigned too ctx : dictionary - context for node

message   = jaseci.walker_prime(wlk,nd,ctx);

Execute Walker

Execute walker assuming it is primed. wlk : walker - walker to execute nd : node - node where execution will begin

response  = jaseci.walker_execute(wlk,nd);

Walker run

Creates walker instance, primes walker on node, executes walker, reports results, and cleans up walker instance.

name : str - name of the walker nd : node = Node walker will be primed on ctx : dict - {} by default snt : sentinel - None by default profiling : bool - False by default

response =  jaseci.walker_run(name,nd,ctx,snt,profiling);

Walker Individual APIs

name : string - name of walker nd : node - node walker will be primed on ctx : dictionary - dictionary for context information snt : sentinel , none by default profiling : boolean , false by default

response = jaseci.wapi(name,nd,ctx);

Architypes

Create Archetype

code : string : the test or filename for an archetype jac code encoded : boolean : if code is encoded or not snt (uuid) : the uuid of the sentinel to be the owner of this archetype

archetype_response  = jaseci.archetype_register(code,encoded,snt);

Get Archetype

Get an archetype rendered with specific mode.

arch : archetype - the archetype being accessed mode : string - valid modes {default, code, ir} detailed : boolean - return detailed info also

archetype_serialized   = jaseci.archetype_get(arch,mode,detailed);

Set Archetype code or ir

arch (uuid) : The archetype being set code (str) : The text (or filename) for an archetypes Jac code/ir mode (str) : Valid modes: {default, code, ir, }

response  = jaseci.archetype_set(arch,code,mode);

List Archetype

List archetypes know to sentinel snt (uuid) : The sentinel for which to list its archetypes detailed (bool) : Flag to give summary or complete set of fields

archs = jaseci.archetype_list(snt,detailed);

Delete Archetype

Permanently delete sentinel with given id. arch (uuid) : The archetype being set. snt (uuid) : The sentinel for which to list its archetypes

response = jaseci.archetype_delete(arch,snt);

Masters

Create Master

Create a master instance and return root node master object.

name : str - name of master active : boolean ctx : dictionary - additional fields for overloaded interfaces

master_object  = jaseci.master_create(name,active,ctx);

Get Master Content

Return the content of the master with mode. name : string - name of master to be returned. mode : string - modes{'default',}

master_object = jaseci.master_get(name,mode);

List Masters

Provide complete list of all master objects (list of root node objects) detailed : boolean - detailed info wanted.

masters  = jaseci.master_list(detailed);

Set Default Master

Sets the default sentinel master should use.

name : name of master to be set

response  = jaseci.master_active_set(name);

Unset Default Master

Unsets the default sentinel master should use.

response  = jaseci.master_active_unset();

Get Default Master

Returns the default master master is using

detailed : boolean - return detailed information on the master

master_serialized = jaseci.master_active_get(detailed);

Get Master Object

Returns the masters object.

master_object = jaseci.master_self();

Delete Master

name : str - master to be deleted

response   = jaseci.master_delete(name);

Logger

APIs for Jaseci Logging configuration

Connect to internal logger

Connects internal logging to http(s) (log msgs sent via POSTs) Valid log params: {sys, app, all } host : string - port : string - url : string - log : string -

response = jaseci.logger_http_connect(host,port,url,log);

Remove HTTP Handler

log : string - default ,all

response  = jaseci.logger_http_clear(log);

Check Active logger

List active loggers

response = jaseci.logger_list();

Global API

Set Global

Set a global variable name : string - name of global value : string - value of global

response = jaseci.global_set(name,value);

Delete Global

Delete a global name : string - delete globals

response = jaseci.global_delete(name);

Set Global Sentinel

response = jaseci.global_sentinel_set(snt);

Unset Global Sentinel

Unset globally accessible variable. snt : sentinel - sentinel to be removed as globally accessible.

response  = jaseci.sentinel_unset(snt);

Super Master

Super Instance of Master

Create a super instance and return root node super object name : string - name of master set_active : boolean - set master to active other_fields : dictionary - used for additional fields for overloaded interfaces (i.e., Dango interface)

master_object  = jaseci.master_createsuper(name,set_active,other_fields);

Masters info

Returns info on a set of users. num : int - specifies the number of users to return. start_idx : int - specifies where to start.

# in development

Set Default Master

Sets the default master master should use mast : master - master to be used

response  = jaseci.master_become(mast);

Unset default Master

Unsets the default master master should use.

response = jaseci.master_become();

Stripe

Set of APIs to expose Stripe Management

Create Product

name : string - default "VIP Plan". description : string - default " Plan description"

message = jaseci.stripe_product_create(name,description);

Modify Product Price

productId : string - id of product to be modified amount : float - amount for product ,default is 50 interval : string - default "month"

message = jaseci.stripe_product_price_set(productId,amount,interval);

List Products

Retrieve all products. detailed : boolean - details of all products.

product_list = jaseci.stripe_product_list();

Create Customer

paymentId : string - id of payment method name: string - name of customer email : string - email of customer description : string - description of customer

message =  jaseci.stripe_customer_create(paymentId,name,email,description);

Get Customer Information

Retrieve customer information CustomerId : string - id to identify customer

message = jaseci.stripe_customer_get(customerId);

Add Customer Payment Method

PaymentMethodId : string - id of payment method customerId : string - id to uniquely identify customer

message = jaseci.stripe_customer_payment_add(paymentId,customerId);

Remove Customer Payment method

paymentMethodId : string - id of payment method

message = jaseci.stripe_customer_payment_delete(paymentId);

Customer's List of payment Method

Get list of customer payment method customerId : string - id to uniquely identify customer

payment_methods = jaseci.stripe_customer_payment_get(customerId);

Update Customer default payment

paymentMethodId : string - id of payment method customerId : string - id to uniquely identify customer

message = jaseci.stripe_customer_payment_default(customerId,paymentMethodId);

Create Customer Subscription

Create customer subscription paymentId : string - id pf payment method priceId : string - id for price customerId : string - id to uniquely identify customer

message = jaseci.stripe_subscription_create(paymentId,priceId,customerId);

Cancel Customer Subscription

subscriptionId : string - id to uniquely identify subscription

message  = jaseci.stripe_subscription_delete(subscriptionId);

Get Customer Subscription

Retrieve customer subscription. customerId : string - id to uniquely identify customer.

customer_subscription = jaseci.stripe_subscription_get(customerId);

Invoice List

Retrieve customer list of invoices. customerId : string - id to uniquely identify customer. subscriptionId:string- id to uniquely identify subscription.limit:int- max amount of invoices to return.lastitem:string` - id of item from where the return should start default is " ".

invoices = jaseci.stripe_invoice_list(customerId,subscriptionId,limit,lastitem);

actions

Load actions module locally

Hot load a python module and assimilate any jaseci action file : string - module to be loaded

success_message  = jaseci.actions_load_local(file);

Load actions module remote

Hot load an actions set from live pod at URL url : string - link to module to be loaded

success_message = jaseci.actions_load_remote(url);

Load actions module local

mod : string - name of module to be loaded

success_messsage = jaseci,actions_load_module(mod);

List actions

actions = jaseci.actions_list();

Configurations APIs

Get config

Get a Connfig name : string - name of configurations. do_check : boolean - default is True

confid_details = jaseci.config_get(name,do_check);

Set Config

name : string - name of configuration value : string - value to set do_check : boolean - default is True

config_details = jaseci.config_set(name,value,do_check);

List Config

configs = jaseci.config_list();

List Valid Config

valid_configs = jaseci.config_index();

Configuration exits

name : string - name of configuration

config_exist = jaseci.config_exists(name);

Delete Configurations

name : string do_check : boolean - default is True s

message = jaseci.config_delete(name,do_check);