Skip to content

Latest commit

 

History

History
1007 lines (697 loc) · 48.6 KB

classes.md

File metadata and controls

1007 lines (697 loc) · 48.6 KB

APIs for actions

This set action APIs enable the manual management of Jaseci actions and action libraries/sets. Action libraries can be loaded locally into the running instance of the python program, or as a remote container linked action library. In this mode, action libraries operate as micro-services. Jaseci will be able to dynamically and automatically make this decision for the user based on online monitoring and performance profiling.

actions load local
cli: actions load local | api: actions_load_local | auth: admin
file: str (*req), ctx: dict ({})
This API will dynamically load a module based on a python file. The module is loaded directly into the running Jaseci python instance. This API also makes an attempt to auto detect and hot load any python package dependencies the file may reference via python's relative imports. This file is assumed to have the necessary annotations and decorations required by Jaseci to recognize its actions.
Params
Params file -- The python file with full to load actions from. (i.e., ~/local/myact.py)
actions load remote
cli: actions load remote | api: actions_load_remote | auth: admin
url: str (*req), ctx: dict ({})
This API will dynamically load a set of actions that are present on a remote server/micro-service. This server must be configured to interact with Jaseci properly. This is easily achieved using the same decorators used for local action libraries. Remote actions allow for higher flexibility in the languages supported for action libraries. If an library writer would like to use another language, the main hook REST api simply needs to be implemented. Please refer to documentation on creating action libraries for more details.
Params
Params url -- The url of the API server supporting Jaseci actions.
actions load module
cli: actions load module | api: actions_load_module | auth: admin
mod: str (*req), ctx: dict ({})
This API will dynamically load a module using python's module import format. This is particularly useful for pip installed action libraries as the developer can directly reference the module using the same format as a regular python import. As with load local, the module will be loaded directly into the running Jaseci python instance.
Params
Params mod -- The import style module to load actions from. (i.e., jaseci_ai_kit.bi_enc)
actions list
cli: actions list | api: actions_list | auth: admin
name: str ()
This API is used to list the loaded actions active in Jaseci. These actions include all types of loaded actions whether it be local modules or remote containers. A particular set of actions can be viewed using the name parameter.
Params
Params name -- The name for a library for which to filter the view of shown actions. If left blank all actions from all loaded sets will be shown.
actions module list
cli: actions module list | api: actions_module_list | auth: admin
detailed: bool (False)
No documentation yet.
actions unload module
cli: actions unload module | api: actions_unload_module | auth: admin
name: str (*req)
No documentation yet.
actions unload action
cli: actions unload action | api: actions_unload_action | auth: admin
name: str (*req)
No documentation yet.
actions unload actionset
cli: actions unload actionset | api: actions_unload_actionset | auth: admin
name: str (*req)
No documentation yet.
actions call
cli: actions call | api: actions_call | auth: admin
name: str (*req), ctx: dict ({})
No documentation yet.

APIs for architype

The architype set of APIs allow for the addition and removing of architypes. Given a Jac implementation of an architype these APIs are designed for creating, compiling, and managing architypes that can be used by Jaseci. There are two ways to add an architype to Jaseci, either through the management of sentinels using the sentinel API, or by registering independent architypes with these architype APIs. These APIs are also used for inspecting and managing existing arichtypes that a Jaseci instance is aware of.

architype register
cli: architype register | api: architype_register | auth: user
code: str (*req), encoded: bool (False), snt: Sentinel (None)
This register API allows for the creation or replacement/update of an architype that can then be used by walkers in their interactions of graphs. The code argument takes Jac source code for the single architype. To load multiple architypes and walkers at the same time, use sentinel register API.
Params
Params code -- The text (or filename) for an architypes Jac code

encoded -- True/False flag as to whether code is encode in base64

snt -- The UUID of the sentinel to be the owner of this architype

Returns
Returns - Fields include 'architype': Architype object if created otherwise null 'success': True/False whether register was successful 'errors': List of errors if register failed 'response': Message on outcome of register call
architype get
cli: architype get | api: architype_get | auth: user
arch: Architype (*req), mode: str (default), detailed: bool (False)
No documentation yet.
Params
Params arch -- The architype being accessed

mode -- Valid modes: {default, code, ir, }

detailed -- Flag to give summary or complete set of fields

Returns
Returns - Fields include (depends on mode) 'code': Formal source code for architype 'ir': Intermediate representation of architype 'architype': Architype object print
architype set
cli: architype set | api: architype_set | auth: user
arch: Architype (*req), code: str (*req), mode: str (default)
No documentation yet.
Params
Params arch -- The architype being set

code -- The text (or filename) for an architypes Jac code/ir

mode -- Valid modes: {default, code, ir, }

Returns
Returns - Fields include (depends on mode) 'success': True/False whether set was successful 'errors': List of errors if set failed 'response': Message on outcome of set call
architype list
cli: architype list | api: architype_list | auth: user
snt: Sentinel (None), kind: str (None), detailed: bool (False)
No documentation yet.
Params
Params snt -- The sentinel for which to list its architypes

detailed -- Flag to give summary or complete set of fields

kind -- Architype kind used to narrow the result set

Returns
Returns - List of architype objects
architype count
cli: architype count | api: architype_count | auth: user
snt: Sentinel (None), kind: str (None)
No documentation yet.
Params
Params snt -- The sentinel for which to list its architypes

detailed -- Flag to give summary or complete set of fields

kind -- Architype kind used to narrow the result set from which the count is evaluated

Returns
Returns - Count of architype objects
architype delete
cli: architype delete | api: architype_delete | auth: user
arch: Architype (*req), snt: Sentinel (None)
No documentation yet.
Params
Params arch -- The architype being set

snt -- The sentinel for which to list its architypes

Returns
Returns - Fields include (depends on mode) 'success': True/False whether command was successful 'response': Message on outcome of command

APIs for config

Abstracted since there are no valid configs in core atm, see jaseci_serv to see how used.

config get
cli: config get | api: config_get | auth: admin
name: str (*req), do_check: bool (True)
No documentation yet.
config set
cli: config set | api: config_set | auth: admin
name: str (*req), value: str (*req), do_check: bool (True)
No documentation yet.
config list
cli: config list | api: config_list | auth: admin
n/a
No documentation yet.
config index
cli: config index | api: config_index | auth: admin
n/a
No documentation yet.
config exists
cli: config exists | api: config_exists | auth: admin
name: str (*req)
No documentation yet.
config delete
cli: config delete | api: config_delete | auth: admin
name: str (*req), do_check: bool (True)
No documentation yet.

APIs for global

No documentation yet.

global set
cli: global set | api: global_set | auth: admin
name: str (*req), value: str (*req)
No documentation yet.
global delete
cli: global delete | api: global_delete | auth: admin
name: str (*req)
No documentation yet.
global sentinel set
cli: global sentinel set | api: global_sentinel_set | auth: admin
snt: Sentinel (None)
No documentation yet.
global sentinel unset
cli: global sentinel unset | api: global_sentinel_unset | auth: admin
n/a
No documentation yet.

APIs for graph

No documentation yet.

graph create
cli: graph create | api: graph_create | auth: user
set_active: bool (True)
No documentation yet.
graph get
cli: graph get | api: graph_get | auth: user
nd: Node (None), mode: str (default), detailed: bool (False), depth: int (0)
Valid modes: {default, dot, }
graph list
cli: graph list | api: graph_list | auth: user
detailed: bool (False)
No documentation yet.
graph active set
cli: graph active set | api: graph_active_set | auth: user
gph: Graph (*req)
No documentation yet.
graph active unset
cli: graph active unset | api: graph_active_unset | auth: user
n/a
No documentation yet.
graph active get
cli: graph active get | api: graph_active_get | auth: user
detailed: bool (False)
No documentation yet.
graph delete
cli: graph delete | api: graph_delete | auth: user
gph: Graph (*req)
No documentation yet.
graph node get
cli: graph node get | api: graph_node_get | auth: user
nd: Node (*req), keys: list ([])
No documentation yet.
graph node view
cli: graph node view | api: graph_node_view | auth: user
nd: Node (None), detailed: bool (False), show_edges: bool (False), node_type: str (), edge_type: str ()
No documentation yet.
graph node set
cli: graph node set | api: graph_node_set | auth: user
nd: Node (*req), ctx: dict (*req)
No documentation yet.
graph walk
cli: graph walk (cli only)
nd: Node (None)
No documentation yet.

APIs for jac

No documentation yet.

jac build
cli: jac build (cli only)
file: str (*req), out: str (), opt_level: int (4)
No documentation yet.
jac disas
cli: jac disas (cli only)
file: str (*req)
and .jir executables
jac test
cli: jac test (cli only)
file: str (*req), single: str (), profiling: bool (False), detailed: bool (False)
and .jir executables
jac run
cli: jac run (cli only)
file: str (*req), walk: str (init), ctx: dict ({}), profiling: bool (False)
and .jir executables
jac dot
cli: jac dot (cli only)
file: str (*req), walk: str (init), ctx: dict ({}), detailed: bool (False)
files and .jir executables

APIs for js_orc

No documentation yet.

load yaml
cli: load yaml | api: load_yaml | auth: admin
files: list (*req), manifest_type: str (DEDICATED), manual_namespace: str (default)
No documentation yet.
apply yaml
cli: apply yaml | api: apply_yaml | auth: admin
service: str (*req), file: list (*req), unsafe_paraphrase: str ()
No documentation yet.
service refresh
cli: service refresh | api: service_refresh | auth: admin
name: str (*req)
No documentation yet.
service call
cli: service call | api: service_call | auth: admin
svc: str (*req), attrs: list ([])
No documentation yet.
jsorc actions load
cli: jsorc actions load | api: jsorc_actions_load | auth: admin
name: str (*req), mode: str (*req)
JSORC will load the corresponding module or start a microservice if needed. Return the current status of the action.
jsorc actions status
cli: jsorc actions status | api: jsorc_actions_status | auth: admin
name: str (*req)
No documentation yet.
jsorc actions unload
cli: jsorc actions unload | api: jsorc_actions_unload | auth: admin
name: str (*req), mode: str (auto), retire_svc: bool (True)
If retire svc is set to True (true by default), it will also retire the corresponding microservice.
jsorc actions config
cli: jsorc actions config | api: jsorc_actions_config | auth: admin
config: str (*req), name: str (*req)
config: name of the ai kit package (e.g. jac nlp.config, jac vision.config) name: name of the action module (e.g. use enc, bi enc)
jsorc trackact start
cli: jsorc trackact start | api: jsorc_trackact_start | auth: admin
n/a
Instruct JSORC to start tracking any changes in actions state
jsorc trackact stop
cli: jsorc trackact stop | api: jsorc_trackact_stop | auth: admin
n/a
Instruct JSORC to start tracking any changes in actions state
jsorc benchmark start
cli: jsorc benchmark start | api: jsorc_benchmark_start | auth: admin
n/a
No documentation yet.
jsorc benchmark report
cli: jsorc benchmark report | api: jsorc_benchmark_report | auth: admin
n/a
No documentation yet.
jsorc benchmark stop
cli: jsorc benchmark stop | api: jsorc_benchmark_stop | auth: admin
report: bool (True)
No documentation yet.
jsorc tracksys start
cli: jsorc tracksys start | api: jsorc_tracksys_start | auth: admin
n/a
No documentation yet.
jsorc tracksys report
cli: jsorc tracksys report | api: jsorc_tracksys_report | auth: admin
n/a
No documentation yet.
jsorc tracksys stop
cli: jsorc tracksys stop | api: jsorc_tracksys_stop | auth: admin
n/a
No documentation yet.
jsorc actionpolicy set
cli: jsorc actionpolicy set | api: jsorc_actionpolicy_set | auth: admin
policy_name: str (*req), policy_params: dict ({})
No documentation yet.
jsorc actionpolicy get
cli: jsorc actionpolicy get | api: jsorc_actionpolicy_get | auth: admin
n/a
No documentation yet.
jsorc loadtest
cli: jsorc loadtest | api: jsorc_loadtest | auth: admin
test: str (*req), experiment: str (), mem: int (0)
No documentation yet.

APIs for logger

No documentation yet.

logger http connect
cli: logger http connect | api: logger_http_connect | auth: admin
host: str (*req), port: int (*req), url: str (*req), log: str (all)
Valid log params: {sys, app, all }
logger http clear
cli: logger http clear | api: logger_http_clear | auth: admin
log: str (all)
Valid log params: {sys, app, all }
logger get
cli: logger get | api: logger_get | auth: admin
search: str (), level: str (None)
No documentation yet.
logger list
cli: logger list | api: logger_list | auth: admin
n/a
No documentation yet.

APIs for master

These APIs

master create
cli: master create | api: master_create | auth: user
name: str (*req), password: str (), global_init: str (), global_init_ctx: dict ({}), other_fields: dict ({})
other fields used for additional feilds for overloaded interfaces (i.e., Dango interface)
master get
cli: master get | api: master_get | auth: user
name: str (*req), mode: str (default), detailed: bool (False)
Valid modes: {default, }
master list
cli: master list | api: master_list | auth: user
detailed: bool (False)
No documentation yet.
master active set
cli: master active set | api: master_active_set | auth: user
name: str (*req)
NOTE: Specail handler included in general interface to api
master active unset
cli: master active unset | api: master_active_unset | auth: user
n/a
No documentation yet.
master active get
cli: master active get | api: master_active_get | auth: user
detailed: bool (False)
No documentation yet.
master self
cli: master self | api: master_self | auth: user
detailed: bool (False)
No documentation yet.
master delete
cli: master delete | api: master_delete | auth: user
name: str (*req)
No documentation yet.

APIs for object

...

global get
cli: global get | api: global_get | auth: user
name: str (*req)
No documentation yet.
object get
cli: object get | api: object_get | auth: user
obj: Element (*req), depth: int (0), detailed: bool (False)
No documentation yet.
object perms get
cli: object perms get | api: object_perms_get | auth: user
obj: Element (*req)
No documentation yet.
object perms set
cli: object perms set | api: object_perms_set | auth: user
obj: Element (*req), mode: str (*req)
No documentation yet.
object perms default
cli: object perms default | api: object_perms_default | auth: user
mode: str (*req)
No documentation yet.
object perms grant
cli: object perms grant | api: object_perms_grant | auth: user
obj: Element (*req), mast: Element (*req), read_only: bool (False)
No documentation yet.
object perms revoke
cli: object perms revoke | api: object_perms_revoke | auth: user
obj: Element (*req), mast: Element (*req)
No documentation yet.
info
cli: info | api: info | auth: public
n/a
No documentation yet.

APIs for prometheus

No documentation yet.

prometheus metrics list
cli: prometheus metrics list | api: prometheus_metrics_list | auth: admin
n/a
No documentation yet.
prometheus pod list
cli: prometheus pod list | api: prometheus_pod_list | auth: admin
namespace: str (), exclude_prom: bool (False)
No documentation yet.
prometheus pod info
cli: prometheus pod info | api: prometheus_pod_info | auth: admin
namespace: str (), exclude_prom: bool (False), timestamp: int (0), duration: int (0)
No documentation yet.
prometheus node info
cli: prometheus node info | api: prometheus_node_info | auth: admin
namespace: str (), exclude_prom: bool (False), timestamp: int (0), duration: int (0)
No documentation yet.

APIs for queue

APIs used for celery configuration and monitoring

walker queue check
cli: walker queue check | api: walker_queue_check | auth: user
task_id: str ()
No documentation yet.
walker queue wait
cli: walker queue wait | api: walker_queue_wait | auth: user
task_id: str (*req), timeout: int (30)
No documentation yet.

APIs for sentinel

A sentinel is a unit in Jaseci that represents the organization and management of a collection of architypes and walkers. In a sense, you can think of a sentinel as a complete Jac implementation of a program or API application. Though its the case that many sentinels can be interchangeably across any set of graphs, most use cases will typically be a single sentinel shared by all users and managed by an admin(s), or each users maintaining a single sentinel customized for their individual needs. Many novel usage models are possible, but I'd point the beginner to the model most analogous to typical server side software development to start with. This model would be to have a single admin account responsible for updating a single sentinel that all users would share for their individual graphs. This model is achieved through using \texttt{sentinel_register}, \texttt{sentinel_active_global}, and \texttt{global_sentinel_set}.

sentinel register
cli: sentinel register | api: sentinel_register | auth: user
name: str (default), code: str (), code_dir: str (./), opt_level: int (4), mode: str (default), encoded: bool (False), auto_run: str (init), auto_run_ctx: dict ({}), auto_create_graph: bool (True), set_active: bool (True)
Auto run is the walker to execute on register (assumes active graph is selected)
sentinel pull
cli: sentinel pull | api: sentinel_pull | auth: user
set_active: bool (True), on_demand: bool (True)
No documentation yet.
sentinel get
cli: sentinel get | api: sentinel_get | auth: user
snt: Sentinel (None), mode: str (default), detailed: bool (False)
Valid modes: {default, code, ir, }
sentinel set
cli: sentinel set | api: sentinel_set | auth: user
code: str (*req), code_dir: str (./), opt_level: int (4), encoded: bool (False), snt: Sentinel (None), mode: str (default)
Valid modes: {code, ir, }
sentinel list
cli: sentinel list | api: sentinel_list | auth: user
detailed: bool (False)
No documentation yet.
sentinel test
cli: sentinel test | api: sentinel_test | auth: user
snt: Sentinel (None), single: str (), detailed: bool (False), profiling: bool (False)
No documentation yet.
sentinel active set
cli: sentinel active set | api: sentinel_active_set | auth: user
snt: Sentinel (*req)
No documentation yet.
sentinel active unset
cli: sentinel active unset | api: sentinel_active_unset | auth: user
n/a
No documentation yet.
sentinel active global
cli: sentinel active global | api: sentinel_active_global | auth: user
auto_run: str (), auto_run_ctx: dict ({}), auto_create_graph: bool (False), detailed: bool (False)
Exclusive OR with pull strategy
sentinel active get
cli: sentinel active get | api: sentinel_active_get | auth: user
detailed: bool (False)
No documentation yet.
sentinel delete
cli: sentinel delete | api: sentinel_delete | auth: user
snt: Sentinel (*req)
No documentation yet.

APIs for super

No documentation yet.

master createsuper
cli: master createsuper | api: master_createsuper | auth: admin
name: str (*req), password: str (), global_init: str (), global_init_ctx: dict ({}), other_fields: dict ({})
other fields used for additional feilds for overloaded interfaces (i.e., Dango interface)
master allusers
cli: master allusers | api: master_allusers | auth: admin
limit: int (0), offset: int (0), asc: bool (False), search: str (None)
return and offset specfies where to start NOTE: Abstract interface to be overridden
master become
cli: master become | api: master_become | auth: admin
mast: Master (*req)
No documentation yet.
master unbecome
cli: master unbecome | api: master_unbecome | auth: admin
n/a
No documentation yet.

APIs for user

These User APIs enable the creation and management of users on a Jaseci machine. The creation of a user in this context is synonymous to the creation of a master Jaseci object. These APIs are particularly useful when running a Jaseci server or cluster in contrast to running JSCTL on the command line. Upon executing JSCTL a dummy admin user (super_master) is created and all state is dumped to a session file, though any users created during a JSCTL session will indeed be created as part of that session's state.

user create
cli: user create | api: user_create | auth: public
name: str (*req), password: str (), global_init: str (), global_init_ctx: dict ({}), other_fields: dict ({})
This API is used to create users and optionally set them up with a graph and related initialization. In the context of JSCTL, any name is sufficient and no additional information is required. However, for Jaseci serving (whether it be the official Jaseci server, or a custom overloaded server) additional fields are required and should be added to the other fields parameter as per the specifics of the encapsulating server requirements. In the case of the official Jaseci server, the name field must be a valid email, and a password field must be passed through other fields. A number of other optional parameters can also be passed through other feilds. \vspace{3mm}\par This single API call can also be used to fully set up and initialize a user by leveraging the global init parameter. When set, this parameter attaches the user to the global sentinel, creates a new graph for the user, sets it as the active graph, then runs an initialization walker on the root node of this new graph. The initialization walker is identified by the name assigned to global init. The default empty string assigned to global init indicates this global setup should not be run.
Params
Params name -- The user name to create. For Jaseci server this must be a valid email address.

global_init -- The name of an initialization walker. When set the user is linked to the global sentinel and the walker is run on a new active graph created for the user.

global_init_ctx -- Context to preload for the initialization walker

other_fields -- This parameter is used for additional fields required for overloaded interfaces. This parameter is not used in JSCTL, but is used by Jaseci server for the additional parameters of password, is_activated, and is_superuser.

user delete
cli: user delete | api: user_delete | auth: admin
name: str (*req)
This API is used to delete a user account.
Params
Params name -- The user name to delete. For Jaseci server this must be a valid email address.
user deleteself
cli: user deleteself | api: user_deleteself | auth: user
n/a
This API is used to delete a user account.

APIs for walker

The walker set of APIs are used for execution and management of walkers. Walkers are the primary entry points for running Jac programs. The primary API used to run walkers is \textbf{walker_run}. There are a number of variations on this API that enable the invocation of walkers with various semantics.

walker get
cli: walker get | api: walker_get | auth: user
wlk: Walker (*req), mode: str (default), detailed: bool (False)
Valid modes: {default, code, ir, keys, }
walker total
cli: walker total | api: walker_total | auth: user
snt: Sentinel (None), detailed: bool (False)
No documentation yet.
walker list
cli: walker list | api: walker_list | auth: user
snt: Sentinel (None), detailed: bool (False)
No documentation yet.
walker spawn create
cli: walker spawn create | api: walker_spawn_create | auth: user
name: str (*req), snt: Sentinel (None)
No documentation yet.
walker spawn list
cli: walker spawn list | api: walker_spawn_list | auth: user
detailed: bool (False)
No documentation yet.
walker spawn delete
cli: walker spawn delete | api: walker_spawn_delete | auth: user
name: str (*req)
No documentation yet.
walker spawn clear
cli: walker spawn clear | api: walker_spawn_clear | auth: user
n/a
No documentation yet.
walker yield list
cli: walker yield list | api: walker_yield_list | auth: user
detailed: bool (False)
No documentation yet.
walker yield delete
cli: walker yield delete | api: walker_yield_delete | auth: user
name: str (*req)
No documentation yet.
walker yield clear
cli: walker yield clear | api: walker_yield_clear | auth: user
n/a
No documentation yet.
walker prime
cli: walker prime | api: walker_prime | auth: user
wlk: Walker (*req), nd: Node (None), ctx: dict ({}), _req_ctx: dict ({})
No documentation yet.
walker execute
cli: walker execute | api: walker_execute | auth: user
wlk: Walker (*req), prime: Node (None), ctx: dict ({}), _req_ctx: dict ({}), profiling: bool (False)
No documentation yet.
walker step
cli: walker step | api: walker_step | auth: user
wlk: Walker (*req), detailed: bool (False)
No documentation yet.
walker run
cli: walker run | api: walker_run | auth: user
name: str (*req), nd: Node (None), ctx: dict ({}), _req_ctx: dict ({}), snt: Sentinel (None), profiling: bool (False), is_async: bool (None)
reports results, and cleans up walker instance.
wapi
cli: wapi | api: wapi | auth: user
name: str (*req), nd: Node (None), ctx: dict ({}), _req_ctx: dict ({}), snt: Sentinel (None), profiling: bool (False)
No documentation yet.
walker summon
cli: walker summon | api: walker_summon | auth: public
key: str (*req), wlk: Walker (*req), nd: Node (*req), ctx: dict ({}), _req_ctx: dict ({}), global_sync: bool (True)
along with the walker id and node id
walker callback
cli: walker callback | api: walker_callback | auth: public
nd: Node (*req), wlk: Walker (*req), key: str (*req), ctx: dict ({}), _req_ctx: dict ({}), global_sync: bool (True)
along with the walker id and node id

APIs for webhook

No documentation yet.

webhook
cli: webhook | api: webhook | auth: public
provider: str (*req), _req_ctx: dict ({}), _raw_req_ctx: str (None)
No documentation yet.

APIs for admissionregistration_v1

Ref: https://openapi-generator.tech

Do not edit the class manually.

APIs for apiextensions_v1

Ref: https://openapi-generator.tech

Do not edit the class manually.

APIs for apps_v1

Ref: https://openapi-generator.tech

Do not edit the class manually.

APIs for core_v1

Ref: https://openapi-generator.tech

Do not edit the class manually.

APIs for custom_objects

Ref: https://openapi-generator.tech

Do not edit the class manually.

APIs for rbac_authorization_v1

Ref: https://openapi-generator.tech

Do not edit the class manually.