forked from aolabsai/archs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcore_api.yaml
415 lines (415 loc) · 13.2 KB
/
core_api.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
openapi: 3.0.0
info:
title: ao_core
description: "AI-Agents-as-a-Service API from [aolabs.ai](https://aolabs.ai)-- a\
\ new class of AI Agents that learn locally and continously, through conditioning,\
\ like animals."
termsOfService: https://aolabs.ai/strategy/
contact:
name: AO Labs
url: https://www.aolabs.ai/
email: [email protected]
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
version: 0.1.2
externalDocs:
description: Docs & Guides
url: https://docs.aolabs.ai/
servers:
- url: https://7svo9dnzu4.execute-api.us-east-2.amazonaws.com/v0dev
description: "aolabs on AWS v0dev, 1st effort"
- url: https://virtserver.swaggerhub.com/aolabs/ao_core/0.1.0
description: SwaggerHub API Auto Mocking
security:
- AWSapiKey: []
tags:
- name: kennel
description: "a collection of agents representing an application"
externalDocs:
description: Find out more
url: https://docs.aolabs.ai/reference/ao_core-intro-overview
- name: agent
description: "agents, unique to application endusers or local clients"
externalDocs:
description: Find out more
url: https://docs.aolabs.ai/reference/ao_core-intro-overview
paths:
/kennel:
get:
security:
- AWSapiKey: []
tags:
- kennel
summary: Get kennels
description: Get a list of your kennels
operationId: kennelGet
parameters:
- name: kennel_id
in: query
description: to view particular kennel by id
required: false
style: form
explode: true
schema:
type: string
responses:
"200":
description: Success - Here is a list of the application kennels you've
created
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Kennel'
application/xml:
schema:
type: array
items:
$ref: '#/components/schemas/Kennel'
"404":
description: No applications yet-- POST /kennel to create your first!
x-amazon-apigateway-integration:
passthroughBehavior: when_no_match
httpMethod: POST
uri: arn:aws:apigateway:us-east-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-2:096378249572:function:kennelGet/invocations
responses:
default:
statusCode: "200"
type: aws
parameters:
kennel_id: $input.params('kennel_id')
requestTemplates:
application/json: |-
{
"kennel_id" : "$input.params('kennel_id')"
}
post:
security:
- AWSapiKey: []
tags:
- kennel
summary: Create kennel
description: Upload an Arch to spawn Agents
operationId: kennelCreate
requestBody:
description: to create a Kennel around an Arch
content:
application/json:
schema:
$ref: '#/components/schemas/KennelCreate'
examples:
Basic Clam Kennel:
value:
kennel_name: TEST-Clamologist
arch_URL: https://raw.githubusercontent.com/aolabsai/archs/main/0_basic_clam.py
description: "the simplest, atomic arch reference design, our hello, world"
permissions: free and open as the sea!
Netbox Device Discovery:
value:
kennel_name: TEST-Netbox_DeviceDiscovery
arch_URL: https://raw.githubusercontent.com/aolabsai/archs/main/2_netbox-device_discovery.py
description: "a 30-10-neuron Agent that predicts roles of devices on Netbox, eg. https://demo.netbox.dev/dcim/devices/"
permissions: open
required: true
responses:
"200":
description: Success - Kennel created; you can now deloy agents using this
kennel
content:
application/json:
schema:
$ref: '#/components/schemas/Kennel'
"405":
description: Invalid input
x-amazon-apigateway-integration:
passthroughBehavior: when_no_match
httpMethod: POST
uri: arn:aws:apigateway:us-east-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-2:096378249572:function:kennelCreate/invocations
responses:
default:
statusCode: "200"
type: aws
parameters:
body: $input.body
requestTemplates:
application/json: |-
{
"body" : $input.body
}
delete:
security:
- AWSapiKey: []
tags:
- kennel
summary: Delete kennel
operationId: kennelDelete
parameters:
- name: kennel_id
in: query
description: id of kennel to delete
required: true
style: form
explode: true
schema:
type: string
responses:
"200":
description: Kennel successfully deleted
"400":
description: Invalid ID supplied
"404":
description: Kennel not found
x-amazon-apigateway-integration:
passthroughBehavior: when_no_match
httpMethod: POST
uri: arn:aws:apigateway:us-east-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-2:096378249572:function:kennelDelete/invocations
responses:
default:
statusCode: "200"
type: aws
parameters:
kennel_id: $input.params('kennel_id')
requestTemplates:
application/json: |-
{
"kennel_id" : "$input.params('kennel_id')"
}
/kennel/agent:
post:
security:
- AWSapiKey: []
tags:
- agent
summary: Agent invoke
description: post an input (with optional learning modes instinct and label)
to agent to evoke its output
operationId: agentInvoke
requestBody:
description: to invoke an Agent to get output
content:
application/json:
schema:
$ref: '#/components/schemas/InvokeAgent'
examples:
Basic Clam:
value:
kennel_id: v0.1.2dev/TEST-Clamologist
agent_id: 1st of Clams
INPUT: "000"
LABEL: "0"
INSTINCTS: true
control:
CN: false
CP: false
US: true
neuron:
DD: true
Hamming: true
Default: true
Netbox Device Discovery:
value:
kennel_id: v0.1.2dev/TEST-Netbox_DeviceDiscovery
agent_id: 1st NB DD
INPUT: "000000001100000001110000001010"
LABEL: "0000000100"
INSTINCTS: false
control:
CN: false
CP: false
US: true
neuron:
DD: true
Hamming: true
Default: true
Request Agent's History:
value:
kennel_id: v0.1.2dev/TEST-Clamologist
agent_id: 1st of Clams
request: story
required: true
responses:
"200":
description: Success - Agent invoked
content:
application/json:
schema:
$ref: '#/components/schemas/AgentResponse'
examples:
Basic Clam Agent:
value:
state: "2"
story: "0"
Netbox Device Discovery Agent:
value:
state: "43"
story: "0000000100"
x-amazon-apigateway-integration:
passthroughBehavior: when_no_match
httpMethod: POST
uri: arn:aws:apigateway:us-east-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-2:096378249572:function:agentInvoke/invocations
responses:
default:
statusCode: "200"
type: aws
parameters:
body: $input.body
requestTemplates:
application/json: |-
{
"body" : $input.body
}
delete:
security:
- AWSapiKey: []
tags:
- agent
summary: Agent delete
operationId: agentDelete
parameters:
- name: kennel_id
in: query
description: id of application kennel to operate on
required: true
style: form
explode: true
schema:
type: string
- name: agent_id
in: query
description: id of particular agent
required: true
style: form
explode: true
schema:
type: string
responses:
"200":
description: Agent successfully deleted
"400":
description: Invalid ID supplied
"404":
description: Agent not found
x-amazon-apigateway-integration:
passthroughBehavior: when_no_match
httpMethod: POST
uri: arn:aws:apigateway:us-east-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-2:096378249572:function:agentDelete/invocations
responses:
default:
statusCode: "200"
type: aws
parameters:
agent_id: $input.params('agent_id')
kennel_id: $input.params('kennel_id')
requestTemplates:
application/json: |-
{
"agent_id" : "$input.params('agent_id')",
"kennel_id" : "$input.params('kennel_id')"
}
components:
schemas:
Kennel:
type: object
properties:
developer_id:
type: string
description: using v0.1.2dev for beta
kennel_id:
type: string
description: generated by our backend system
kennel_name:
type: string
description:
type: string
arch_string:
type: string
description: "used to spawn Agents on demand, pulled from our archs repo"
arch_URL:
type: string
permissions:
type: string
KennelCreate:
type: object
properties:
kennel_name:
type: string
description: "name your collection of Agents, possible after their/your\
\ application"
arch_URL:
type: string
description: link to an arch file via a github raw URL
description:
type: string
permissions:
type: string
description: coming soon
AgentResponse:
type: object
properties:
state:
type: string
description: state counter of Agent
story:
type: string
description: OUTPUT response of Agent to INPUT (will force-match LABEL if
provided)
InvokeAgent:
type: object
properties:
kennel_id:
type: string
description: "globally unique id, generated during beta as v0.1.2dev/<your_kennel_name>"
agent_id:
type: string
description: locally unique id matching user or customer id
INPUT:
type: string
description: binary INPUT to Agent; number of binary digits is specified
by Agent Arch I neurons
LABEL:
type: string
description: "OPTIONAL-- binary LABEL to Agent; if provided, Agent output\
\ will match LABEL and it will learn that input<>output mapping; number\
\ of binary digits is specified by Agent Arch Z neurons"
INSTINCTS:
type: boolean
description: OPTIONAL-- activates learning by instinct triggers specified
in Agent Arch C neurons
control:
type: object
properties:
CN:
type: boolean
description: forces a Negative (painful) learning event
CP:
type: boolean
description: forces a Positive (pleasurable) learning event
US:
type: boolean
description: "Agents learn sequenced info by default, so set as True\
\ if data stream is UnSequenced and needs a reset state between each\
\ data input"
neuron:
type: object
properties:
DD:
type: boolean
description: neuron look-up happens 1st according to discrimination
distance (treating the lookup table 1-D weights)
Hamming:
type: boolean
description: neuron look-up happens 2nd according to Hamming distance
Default:
type: boolean
description: "if neither DD or Hamming converge or are disabled,\
\ neuron will default to random binary response"
description: neuron-level learning settings
description: ALL OPTIONAL-- parameters for fine-tuned control
securitySchemes:
AWSapiKey:
type: apiKey
name: X-API-KEY
in: header
x-aws-api-id: 7svo9dnzu4