agentlang 0.0.67 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/api/http.d.ts.map +1 -1
- package/out/api/http.js +2 -1
- package/out/api/http.js.map +1 -1
- package/out/cli/main.d.ts.map +1 -1
- package/out/cli/main.js +7 -1
- package/out/cli/main.js.map +1 -1
- package/out/language/generated/ast.d.ts +1 -1
- package/out/language/generated/ast.d.ts.map +1 -1
- package/out/language/generated/ast.js +1 -1
- package/out/language/generated/ast.js.map +1 -1
- package/out/language/generated/grammar.js +1 -1
- package/out/language/main.cjs +2 -2
- package/out/language/main.cjs.map +2 -2
- package/out/runtime/agents/common.d.ts +0 -7
- package/out/runtime/agents/common.d.ts.map +1 -1
- package/out/runtime/agents/common.js +0 -34
- package/out/runtime/agents/common.js.map +1 -1
- package/out/runtime/agents/flows.d.ts +7 -0
- package/out/runtime/agents/flows.d.ts.map +1 -0
- package/out/runtime/agents/flows.js +33 -0
- package/out/runtime/agents/flows.js.map +1 -0
- package/out/runtime/defs.d.ts +58 -0
- package/out/runtime/defs.d.ts.map +1 -1
- package/out/runtime/defs.js +172 -0
- package/out/runtime/defs.js.map +1 -1
- package/out/runtime/exec-graph.d.ts +17 -0
- package/out/runtime/exec-graph.d.ts.map +1 -0
- package/out/runtime/exec-graph.js +434 -0
- package/out/runtime/exec-graph.js.map +1 -0
- package/out/runtime/interpreter.d.ts +38 -3
- package/out/runtime/interpreter.d.ts.map +1 -1
- package/out/runtime/interpreter.js +167 -60
- package/out/runtime/interpreter.js.map +1 -1
- package/out/runtime/loader.d.ts.map +1 -1
- package/out/runtime/loader.js +120 -2
- package/out/runtime/loader.js.map +1 -1
- package/out/runtime/module.d.ts +3 -0
- package/out/runtime/module.d.ts.map +1 -1
- package/out/runtime/module.js +35 -12
- package/out/runtime/module.js.map +1 -1
- package/out/runtime/modules/ai.d.ts +21 -2
- package/out/runtime/modules/ai.d.ts.map +1 -1
- package/out/runtime/modules/ai.js +56 -3
- package/out/runtime/modules/ai.js.map +1 -1
- package/out/runtime/resolvers/interface.d.ts +1 -0
- package/out/runtime/resolvers/interface.d.ts.map +1 -1
- package/out/runtime/resolvers/interface.js +5 -0
- package/out/runtime/resolvers/interface.js.map +1 -1
- package/out/utils/runtime.d.ts +1 -0
- package/out/utils/runtime.d.ts.map +1 -1
- package/out/utils/runtime.js +9 -0
- package/out/utils/runtime.js.map +1 -1
- package/package.json +34 -52
- package/src/api/http.ts +2 -1
- package/src/cli/main.ts +8 -1
- package/src/language/agentlang.langium +3 -2
- package/src/language/generated/ast.ts +2 -2
- package/src/language/generated/grammar.ts +1 -1
- package/src/runtime/agents/common.ts +0 -41
- package/src/runtime/agents/flows.ts +38 -0
- package/src/runtime/defs.ts +210 -0
- package/src/runtime/exec-graph.ts +518 -0
- package/src/runtime/interpreter.ts +202 -66
- package/src/runtime/loader.ts +124 -2
- package/src/runtime/module.ts +36 -12
- package/src/runtime/modules/ai.ts +102 -5
- package/src/runtime/resolvers/interface.ts +5 -0
- package/src/utils/runtime.ts +10 -0
|
@@ -0,0 +1,434 @@
|
|
|
1
|
+
import { isWorkflowDefinition, } from '../language/generated/ast.js';
|
|
2
|
+
import { parseModule, parseStatement } from '../language/parser.js';
|
|
3
|
+
import { ExecGraph, ExecGraphNode, ExecGraphWalker, SubGraphType } from './defs.js';
|
|
4
|
+
import { DocEventName, Environment, evaluateExpression, evaluatePattern, evaluateStatement, handleAgentInvocation, handleOpenApiEvent, maybeBindStatementResultToAlias, maybeDeleteQueriedInstances, PatternHandler, setEvaluateFn, setParseAndEvaluateStatementFn, } from './interpreter.js';
|
|
5
|
+
import { fetchModule, getWorkflowForEvent, isAgentEvent, isAgentEventInstance, isEmptyWorkflow, isEventInstance, RecordType, } from './module.js';
|
|
6
|
+
import { isOpenApiEventInstance, isOpenApiModule } from './openapi.js';
|
|
7
|
+
import { escapeQueryName, makeFqName, splitFqName } from './util.js';
|
|
8
|
+
const GraphCache = new Map();
|
|
9
|
+
export async function generateExecutionGraph(eventName) {
|
|
10
|
+
const cg = GraphCache.get(eventName);
|
|
11
|
+
if (cg)
|
|
12
|
+
return cg;
|
|
13
|
+
const wf = getWorkflowForEvent(eventName);
|
|
14
|
+
const parts = splitFqName(eventName);
|
|
15
|
+
const moduleName = parts.hasModule() ? parts.getModuleName() : undefined;
|
|
16
|
+
if (!isEmptyWorkflow(wf)) {
|
|
17
|
+
const g = await graphFromStatements(wf.statements, moduleName);
|
|
18
|
+
if (g.canCache())
|
|
19
|
+
GraphCache.set(eventName, g);
|
|
20
|
+
return g;
|
|
21
|
+
}
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
class GraphGenerator extends PatternHandler {
|
|
25
|
+
constructor() {
|
|
26
|
+
super(...arguments);
|
|
27
|
+
this.graph = new ExecGraph();
|
|
28
|
+
}
|
|
29
|
+
genericHandler(env) {
|
|
30
|
+
this.graph.pushNode(new ExecGraphNode(env.getActiveUserData()));
|
|
31
|
+
}
|
|
32
|
+
async handleExpression(_, env) {
|
|
33
|
+
this.genericHandler(env);
|
|
34
|
+
}
|
|
35
|
+
async handleCrudMap(crudMap, env) {
|
|
36
|
+
const parts = splitFqName(crudMap.name);
|
|
37
|
+
const moduleName = parts.hasModule() ? parts.getModuleName() : env.getActiveModuleName();
|
|
38
|
+
const crudName = makeFqName(moduleName, parts.getEntryName());
|
|
39
|
+
if (crudName == DocEventName) {
|
|
40
|
+
return this.genericHandler(env);
|
|
41
|
+
}
|
|
42
|
+
if (isOpenApiModule(moduleName)) {
|
|
43
|
+
return this.genericHandler(env);
|
|
44
|
+
}
|
|
45
|
+
const module = fetchModule(moduleName);
|
|
46
|
+
const record = module.getRecord(escapeQueryName(parts.getEntryName()));
|
|
47
|
+
if (record.type == RecordType.EVENT) {
|
|
48
|
+
if (isAgentEvent(record)) {
|
|
49
|
+
this.graph.pushNode(new ExecGraphNode(env.getActiveUserData(), -2, SubGraphType.AGENT));
|
|
50
|
+
this.graph.setHasAgents(true);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
const g = await generateExecutionGraph(crudName);
|
|
55
|
+
if (g) {
|
|
56
|
+
return this.addSubGraph(SubGraphType.EVENT, g, env);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
this.genericHandler(env);
|
|
61
|
+
}
|
|
62
|
+
async handleForEach(forEach, env) {
|
|
63
|
+
const handler = new GraphGenerator();
|
|
64
|
+
const srcEnv = Environment.from(env).setActiveUserData(forEach.src);
|
|
65
|
+
await evaluatePattern(forEach.src, srcEnv, handler);
|
|
66
|
+
const srcg = handler.getGraph();
|
|
67
|
+
const g = await graphFromStatements(forEach.statements, env.getActiveModuleName());
|
|
68
|
+
srcg.pushSubGraph(g);
|
|
69
|
+
this.addSubGraph(SubGraphType.FOR_EACH, srcg, env);
|
|
70
|
+
}
|
|
71
|
+
async handleIf(ifStmt, env) {
|
|
72
|
+
const handler = new GraphGenerator();
|
|
73
|
+
await handler.handleExpression(ifStmt.cond, Environment.from(env).setActiveUserData(ifStmt.cond));
|
|
74
|
+
const cond = handler.getGraph();
|
|
75
|
+
const conseq = await graphFromStatements(ifStmt.statements, env.getActiveModuleName());
|
|
76
|
+
cond.pushSubGraph(conseq);
|
|
77
|
+
if (ifStmt.else != undefined) {
|
|
78
|
+
const alter = await graphFromStatements(ifStmt.else.statements, env.getActiveModuleName());
|
|
79
|
+
cond.pushSubGraph(alter);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
cond.pushSubGraph(ExecGraph.Empty);
|
|
83
|
+
}
|
|
84
|
+
this.addSubGraph(SubGraphType.IF, cond, env);
|
|
85
|
+
}
|
|
86
|
+
async handleSubPattern(subGraphType, pat, env) {
|
|
87
|
+
const newEnv = Environment.from(env).setActiveUserData(pat);
|
|
88
|
+
const handler = new GraphGenerator();
|
|
89
|
+
await evaluatePattern(pat, newEnv, handler);
|
|
90
|
+
this.addSubGraph(subGraphType, handler.getGraph(), env);
|
|
91
|
+
}
|
|
92
|
+
async handleDelete(del, env) {
|
|
93
|
+
this.handleSubPattern(SubGraphType.DELETE, del.pattern, env);
|
|
94
|
+
}
|
|
95
|
+
async handlePurge(purge, env) {
|
|
96
|
+
this.handleSubPattern(SubGraphType.PURGE, purge.pattern, env);
|
|
97
|
+
}
|
|
98
|
+
async handleFullTextSearch(_, env) {
|
|
99
|
+
this.genericHandler(env);
|
|
100
|
+
}
|
|
101
|
+
async handleReturn(ret, env) {
|
|
102
|
+
this.handleSubPattern(SubGraphType.RETURN, ret.pattern, env);
|
|
103
|
+
}
|
|
104
|
+
getGraph() {
|
|
105
|
+
return this.graph;
|
|
106
|
+
}
|
|
107
|
+
addSubGraph(subGraphType, g, env) {
|
|
108
|
+
this.graph.pushSubGraph(g);
|
|
109
|
+
this.graph.pushNode(new ExecGraphNode(env.getActiveUserData(), this.graph.getLastSubGraphIndex(), subGraphType));
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
async function graphFromStatements(stmts, activeModuleName) {
|
|
113
|
+
const handler = new GraphGenerator();
|
|
114
|
+
const env = new Environment();
|
|
115
|
+
if (activeModuleName) {
|
|
116
|
+
env.switchActiveModuleName(activeModuleName);
|
|
117
|
+
}
|
|
118
|
+
for (let i = 0; i < stmts.length; ++i) {
|
|
119
|
+
const stmt = stmts[i];
|
|
120
|
+
env.setActiveUserData(stmt);
|
|
121
|
+
await evaluatePattern(stmt.pattern, env, handler);
|
|
122
|
+
}
|
|
123
|
+
return handler.getGraph().setActiveModuleName(activeModuleName);
|
|
124
|
+
}
|
|
125
|
+
async function eventExecutor(eventInst, env) {
|
|
126
|
+
const newEnv = new Environment(`${eventInst.name}-env`, env);
|
|
127
|
+
await executeEventHelper(eventInst, newEnv);
|
|
128
|
+
env.setLastResult(newEnv.getLastResult());
|
|
129
|
+
}
|
|
130
|
+
function makeStatementsExecutor(execGraph, triggeringNode) {
|
|
131
|
+
return async (stmts, env) => {
|
|
132
|
+
const g = await graphFromStatements(stmts, env.getActiveModuleName());
|
|
133
|
+
if (execGraph && triggeringNode) {
|
|
134
|
+
execGraph.pushSubGraph(g);
|
|
135
|
+
triggeringNode.subGraphIndex = execGraph.getLastSubGraphIndex();
|
|
136
|
+
}
|
|
137
|
+
await executeGraph(g, env);
|
|
138
|
+
return env.getLastResult();
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
export async function executeGraph(execGraph, env) {
|
|
142
|
+
const activeModuleName = execGraph.getActiveModuleName();
|
|
143
|
+
env.setEventExecutor(eventExecutor);
|
|
144
|
+
let oldModule = undefined;
|
|
145
|
+
if (activeModuleName) {
|
|
146
|
+
oldModule = env.switchActiveModuleName(activeModuleName);
|
|
147
|
+
}
|
|
148
|
+
try {
|
|
149
|
+
const walker = new ExecGraphWalker(execGraph);
|
|
150
|
+
while (walker.hasNext()) {
|
|
151
|
+
if (env.isMarkedForReturn()) {
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
const node = walker.nextNode();
|
|
155
|
+
if (node.subGraphIndex == -1) {
|
|
156
|
+
await evaluateStatement(node.code, env);
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
if (node.subGraphType == SubGraphType.AGENT) {
|
|
160
|
+
await executeAgent(node, execGraph, env);
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
const subg = execGraph.fetchSubGraphAt(node.subGraphIndex);
|
|
164
|
+
switch (node.subGraphType) {
|
|
165
|
+
case SubGraphType.EVENT:
|
|
166
|
+
await evaluateStatement(node.code, env);
|
|
167
|
+
break;
|
|
168
|
+
case SubGraphType.IF:
|
|
169
|
+
await executeIfSubGraph(subg, env);
|
|
170
|
+
break;
|
|
171
|
+
case SubGraphType.FOR_EACH:
|
|
172
|
+
await executeForEachSubGraph(subg, node, env);
|
|
173
|
+
break;
|
|
174
|
+
case SubGraphType.DELETE:
|
|
175
|
+
await executeDeleteSubGraph(subg, node, env);
|
|
176
|
+
break;
|
|
177
|
+
case SubGraphType.PURGE:
|
|
178
|
+
await executePurgeSubGraph(subg, node, env);
|
|
179
|
+
break;
|
|
180
|
+
case SubGraphType.RETURN:
|
|
181
|
+
await executeReturnSubGraph(subg, env);
|
|
182
|
+
return;
|
|
183
|
+
default:
|
|
184
|
+
throw new Error(`Invalid sub-graph type: ${node.subGraphType}`);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
maybeSetAlias(node, env);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
finally {
|
|
192
|
+
if (oldModule) {
|
|
193
|
+
env.switchActiveModuleName(oldModule);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
async function evaluateFirstPattern(g, env) {
|
|
198
|
+
await evaluatePattern(g.getRootNodes()[0].code, env);
|
|
199
|
+
}
|
|
200
|
+
async function executeForEachSubGraph(subGraph, triggeringNode, env) {
|
|
201
|
+
var _a;
|
|
202
|
+
await evaluateFirstPattern(subGraph, env);
|
|
203
|
+
const rs = env.getLastResult();
|
|
204
|
+
if (rs.length > 0) {
|
|
205
|
+
const stmt = triggeringNode.code;
|
|
206
|
+
const loopVar = ((_a = stmt.pattern.forEach) === null || _a === void 0 ? void 0 : _a.var) || 'x';
|
|
207
|
+
const loopEnv = new Environment('for-each-body-env', env);
|
|
208
|
+
const loopg = subGraph.fetchForEachBodySubGraph();
|
|
209
|
+
const finalResult = new Array();
|
|
210
|
+
for (let i = 0; i < rs.length; ++i) {
|
|
211
|
+
loopEnv.bind(loopVar, rs[i]);
|
|
212
|
+
await executeGraph(loopg, loopEnv);
|
|
213
|
+
finalResult.push(loopEnv.getLastResult());
|
|
214
|
+
}
|
|
215
|
+
env.setLastResult(finalResult);
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
env.setLastResult([]);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
async function executeIfSubGraph(subGraph, env) {
|
|
222
|
+
await evaluateExpression(subGraph.getRootNodes()[0].code, env);
|
|
223
|
+
const newEnv = new Environment('cond-env', env);
|
|
224
|
+
if (env.getLastResult()) {
|
|
225
|
+
const conseq = subGraph.fetchIfConsequentSubGraph();
|
|
226
|
+
await executeGraph(conseq, newEnv);
|
|
227
|
+
}
|
|
228
|
+
else {
|
|
229
|
+
const alter = subGraph.fetchIfAlternativeSubGraph();
|
|
230
|
+
if (alter) {
|
|
231
|
+
if (ExecGraph.isEmpty(alter)) {
|
|
232
|
+
newEnv.setLastResult(false);
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
await executeGraph(alter, newEnv);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
env.setLastResult(newEnv.getLastResult());
|
|
240
|
+
}
|
|
241
|
+
async function executeAgent(triggeringNode, execGraph, env) {
|
|
242
|
+
await env.callWithStatementsExecutor(makeStatementsExecutor(execGraph, triggeringNode), async () => {
|
|
243
|
+
await evaluateStatement(triggeringNode.code, env);
|
|
244
|
+
return env.getLastResult();
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
async function executeReturnSubGraph(subGraph, env) {
|
|
248
|
+
await evaluateFirstPattern(subGraph, env);
|
|
249
|
+
env.markForReturn();
|
|
250
|
+
}
|
|
251
|
+
async function executeDeleteSubGraph(subGraph, node, env) {
|
|
252
|
+
const newEnv = new Environment(`delete-env`, env).setInDeleteMode(true);
|
|
253
|
+
await evaluateFirstPattern(subGraph, newEnv);
|
|
254
|
+
await maybeDeleteQueriedInstances(newEnv, env, false);
|
|
255
|
+
maybeSetAlias(node, env);
|
|
256
|
+
}
|
|
257
|
+
async function executePurgeSubGraph(subGraph, node, env) {
|
|
258
|
+
const newEnv = new Environment(`purge-env`, env).setInDeleteMode(true);
|
|
259
|
+
await evaluateFirstPattern(subGraph, newEnv);
|
|
260
|
+
await maybeDeleteQueriedInstances(newEnv, env, true);
|
|
261
|
+
maybeSetAlias(node, env);
|
|
262
|
+
}
|
|
263
|
+
export async function executeEvent(eventInstance, continuation, activeEnv, kernelCall) {
|
|
264
|
+
const env = new Environment(eventInstance.name + '.env', activeEnv);
|
|
265
|
+
let txnRolledBack = false;
|
|
266
|
+
try {
|
|
267
|
+
if (isEventInstance(eventInstance)) {
|
|
268
|
+
env.setActiveEvent(eventInstance);
|
|
269
|
+
if (kernelCall) {
|
|
270
|
+
env.setInKernelMode(true);
|
|
271
|
+
}
|
|
272
|
+
await executeEventHelper(eventInstance, env);
|
|
273
|
+
}
|
|
274
|
+
else if (isAgentEventInstance(eventInstance)) {
|
|
275
|
+
env.setStatementsExecutor(executeStatements);
|
|
276
|
+
await handleAgentInvocation(eventInstance, env);
|
|
277
|
+
}
|
|
278
|
+
const r = env.getLastResult();
|
|
279
|
+
if (continuation)
|
|
280
|
+
continuation(r);
|
|
281
|
+
return r;
|
|
282
|
+
}
|
|
283
|
+
catch (err) {
|
|
284
|
+
if (env && env.hasHandlers()) {
|
|
285
|
+
throw err;
|
|
286
|
+
}
|
|
287
|
+
else {
|
|
288
|
+
if (env != undefined && activeEnv == undefined) {
|
|
289
|
+
await env.rollbackAllTransactions().then(() => {
|
|
290
|
+
txnRolledBack = true;
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
throw err;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
finally {
|
|
297
|
+
if (!txnRolledBack && env != undefined && activeEnv == undefined) {
|
|
298
|
+
await env.commitAllTransactions();
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
export async function executeEventHelper(eventInstance, env) {
|
|
303
|
+
if (isOpenApiEventInstance(eventInstance)) {
|
|
304
|
+
env = env || new Environment();
|
|
305
|
+
await handleOpenApiEvent(eventInstance, env);
|
|
306
|
+
return env.getLastResult();
|
|
307
|
+
}
|
|
308
|
+
const fqn = eventInstance.getFqName();
|
|
309
|
+
let isLocalEnv = false;
|
|
310
|
+
if (env == undefined) {
|
|
311
|
+
env = new Environment(`${fqn}-env`);
|
|
312
|
+
isLocalEnv = true;
|
|
313
|
+
}
|
|
314
|
+
const g = await generateExecutionGraph(fqn);
|
|
315
|
+
if (!g) {
|
|
316
|
+
throw new Error(`Failed to generate graph for event ${fqn}`);
|
|
317
|
+
}
|
|
318
|
+
const oldModuleName = env.switchActiveModuleName(eventInstance.moduleName);
|
|
319
|
+
env.bind(eventInstance.name, eventInstance);
|
|
320
|
+
try {
|
|
321
|
+
await executeGraph(g, env);
|
|
322
|
+
if (isLocalEnv) {
|
|
323
|
+
await env.commitAllTransactions();
|
|
324
|
+
}
|
|
325
|
+
return env.getLastResult();
|
|
326
|
+
}
|
|
327
|
+
catch (err) {
|
|
328
|
+
if (isLocalEnv) {
|
|
329
|
+
await env.rollbackAllTransactions();
|
|
330
|
+
}
|
|
331
|
+
throw err;
|
|
332
|
+
}
|
|
333
|
+
finally {
|
|
334
|
+
if (!isLocalEnv)
|
|
335
|
+
env.switchActiveModuleName(oldModuleName);
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
export async function executeStatement(stmt, env, activeModule) {
|
|
339
|
+
return await executeStatements([stmt], env, activeModule);
|
|
340
|
+
}
|
|
341
|
+
export async function executeStatements(stmts, env, activeModule) {
|
|
342
|
+
const mod = await parseModule(`module Temp\nworkflow TempEvent { ${stmts.join(';')} }`);
|
|
343
|
+
if (isWorkflowDefinition(mod.defs[0])) {
|
|
344
|
+
return await executeStatementsHelper(mod.defs[0].statements, env, activeModule);
|
|
345
|
+
}
|
|
346
|
+
else {
|
|
347
|
+
throw new Error('Failed to extract workflow-statement');
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
async function executeStatementsHelper(stmts, env, activeModule) {
|
|
351
|
+
const g = await graphFromStatements(stmts);
|
|
352
|
+
let isLocalEnv = false;
|
|
353
|
+
if (env == undefined) {
|
|
354
|
+
env = new Environment(`stmt-exec-env`);
|
|
355
|
+
isLocalEnv = true;
|
|
356
|
+
}
|
|
357
|
+
let oldModuleName = undefined;
|
|
358
|
+
if (activeModule) {
|
|
359
|
+
oldModuleName = env.switchActiveModuleName(activeModule);
|
|
360
|
+
}
|
|
361
|
+
try {
|
|
362
|
+
await executeGraph(g, env);
|
|
363
|
+
if (isLocalEnv) {
|
|
364
|
+
await env.commitAllTransactions();
|
|
365
|
+
}
|
|
366
|
+
return env.getLastResult();
|
|
367
|
+
}
|
|
368
|
+
catch (err) {
|
|
369
|
+
if (isLocalEnv) {
|
|
370
|
+
await env.rollbackAllTransactions();
|
|
371
|
+
}
|
|
372
|
+
throw err;
|
|
373
|
+
}
|
|
374
|
+
finally {
|
|
375
|
+
if (oldModuleName) {
|
|
376
|
+
env.switchActiveModuleName(oldModuleName);
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
async function executeStatementHelper(stmt, env) {
|
|
381
|
+
return await executeStatementsHelper([stmt], env);
|
|
382
|
+
}
|
|
383
|
+
export async function parseAndExecuteStatement(stmtString, activeUserId, actievEnv) {
|
|
384
|
+
const env = actievEnv ? actievEnv : new Environment();
|
|
385
|
+
if (activeUserId) {
|
|
386
|
+
env.setActiveUser(activeUserId);
|
|
387
|
+
}
|
|
388
|
+
let commit = true;
|
|
389
|
+
try {
|
|
390
|
+
const stmt = await parseStatement(stmtString);
|
|
391
|
+
if (stmt) {
|
|
392
|
+
await executeStatementHelper(stmt, env);
|
|
393
|
+
return env.getLastResult();
|
|
394
|
+
}
|
|
395
|
+
else {
|
|
396
|
+
commit = false;
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
catch (err) {
|
|
400
|
+
commit = false;
|
|
401
|
+
throw err;
|
|
402
|
+
}
|
|
403
|
+
finally {
|
|
404
|
+
if (!actievEnv) {
|
|
405
|
+
if (commit) {
|
|
406
|
+
await env.commitAllTransactions();
|
|
407
|
+
}
|
|
408
|
+
else {
|
|
409
|
+
await env.rollbackAllTransactions();
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
function maybeSetAlias(node, env) {
|
|
415
|
+
const stmt = node.code;
|
|
416
|
+
const hints = stmt.hints;
|
|
417
|
+
if (hints && hints.length > 0) {
|
|
418
|
+
maybeBindStatementResultToAlias(hints, env);
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
export function enableExecutionGraph() {
|
|
422
|
+
const e = setEvaluateFn(executeEvent);
|
|
423
|
+
const es = setParseAndEvaluateStatementFn(parseAndExecuteStatement);
|
|
424
|
+
return { evaluate: e, parseAndEvaluateStatement: es };
|
|
425
|
+
}
|
|
426
|
+
export function disableExecutionGraph(oldFns) {
|
|
427
|
+
if (oldFns.evaluate && oldFns.parseAndEvaluateStatement) {
|
|
428
|
+
setEvaluateFn(oldFns.evaluate);
|
|
429
|
+
setParseAndEvaluateStatementFn(oldFns.parseAndEvaluateStatement);
|
|
430
|
+
return true;
|
|
431
|
+
}
|
|
432
|
+
return false;
|
|
433
|
+
}
|
|
434
|
+
//# sourceMappingURL=exec-graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec-graph.js","sourceRoot":"","sources":["../../src/runtime/exec-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Statement } from '../language/generated/ast.js';
|
|
1
|
+
import { CrudMap, Delete, Expr, ForEach, FullTextSearch, If, Pattern, Purge, Return, RuntimeHint, Statement } from '../language/generated/ast.js';
|
|
2
2
|
import { Instance, Relationship } from './module.js';
|
|
3
3
|
import { Resolver } from './resolvers/interface.js';
|
|
4
4
|
import { CrudType } from './util.js';
|
|
@@ -27,7 +27,11 @@ export declare class Environment extends Instance {
|
|
|
27
27
|
private inDeleteMode;
|
|
28
28
|
private inKernelMode;
|
|
29
29
|
private suspensionId;
|
|
30
|
+
private preGeneratedSuspensionId;
|
|
30
31
|
private activeCatchHandlers;
|
|
32
|
+
private eventExecutor;
|
|
33
|
+
private statementsExecutor;
|
|
34
|
+
private activeUserData;
|
|
31
35
|
constructor(name?: string, parent?: Environment);
|
|
32
36
|
static from(parent: Environment, name?: string | undefined, isAsync?: boolean): Environment;
|
|
33
37
|
static fromInstance(inst: Instance): Environment;
|
|
@@ -48,8 +52,11 @@ export declare class Environment extends Instance {
|
|
|
48
52
|
getActiveEventInstance(): Instance | undefined;
|
|
49
53
|
isSuspended(): boolean;
|
|
50
54
|
suspend(): string;
|
|
55
|
+
releaseSuspension(): Environment;
|
|
56
|
+
fetchSuspensionId(): string;
|
|
51
57
|
markForReturn(): Environment;
|
|
52
58
|
isMarkedForReturn(): boolean;
|
|
59
|
+
propagateLastResult(): Environment;
|
|
53
60
|
resetReturnFlag(): Environment;
|
|
54
61
|
protected propagateSuspension(suspId: string): void;
|
|
55
62
|
getSuspensionId(): string;
|
|
@@ -89,14 +96,42 @@ export declare class Environment extends Instance {
|
|
|
89
96
|
pushHandlers(handlers: CatchHandlers): boolean;
|
|
90
97
|
hasHandlers(): boolean;
|
|
91
98
|
popHandlers(): CatchHandlers;
|
|
99
|
+
setEventExecutor(exec: Function): Environment;
|
|
100
|
+
getEventExecutor(): Function | undefined;
|
|
101
|
+
unsetEventExecutor(): Environment;
|
|
102
|
+
setStatementsExecutor(f: Function): Environment;
|
|
103
|
+
getStatementsExecutor(): Function | undefined;
|
|
104
|
+
callWithStatementsExecutor(exec: Function, f: Function): Promise<any>;
|
|
105
|
+
setActiveUserData(data: any): Environment;
|
|
106
|
+
getActiveUserData(): any;
|
|
92
107
|
}
|
|
93
108
|
export declare const GlobalEnvironment: Environment;
|
|
94
|
-
export declare
|
|
109
|
+
export declare let evaluate: (eventInstance: Instance, continuation?: Function, activeEnv?: Environment, kernelCall?: boolean) => Promise<Result>;
|
|
110
|
+
export declare function setEvaluateFn(f: any): Function;
|
|
95
111
|
export declare function evaluateAsEvent(moduleName: string, eventName: string, attrs: Array<any> | object, activeSession?: ActiveSessionInfo, env?: Environment, kernelCall?: boolean): Promise<Result>;
|
|
96
112
|
export declare function makeEventEvaluator(moduleName: string): Function;
|
|
97
113
|
export declare function evaluateStatements(stmts: Statement[], env: Environment, continuation?: Function): Promise<void>;
|
|
98
|
-
export declare function
|
|
114
|
+
export declare function evaluateStatement(stmt: Statement, env: Environment): Promise<void>;
|
|
115
|
+
export declare function maybeBindStatementResultToAlias(hints: RuntimeHint[], env: Environment): void;
|
|
116
|
+
export declare let parseAndEvaluateStatement: (stmtString: string, activeUserId?: string, actievEnv?: Environment) => Promise<Result>;
|
|
117
|
+
export declare function setParseAndEvaluateStatementFn(f: any): Function;
|
|
118
|
+
export declare class PatternHandler {
|
|
119
|
+
handleExpression(expr: Expr, env: Environment): Promise<void>;
|
|
120
|
+
handleCrudMap(crudMap: CrudMap, env: Environment): Promise<void>;
|
|
121
|
+
handleForEach(forEach: ForEach, env: Environment): Promise<void>;
|
|
122
|
+
handleIf(_if: If, env: Environment): Promise<void>;
|
|
123
|
+
handleDelete(del: Delete, env: Environment): Promise<void>;
|
|
124
|
+
handlePurge(purge: Purge, env: Environment): Promise<void>;
|
|
125
|
+
handleFullTextSearch(fullTextSearch: FullTextSearch, env: Environment): Promise<void>;
|
|
126
|
+
handleReturn(ret: Return, env: Environment): Promise<void>;
|
|
127
|
+
}
|
|
128
|
+
export declare function evaluatePattern(pat: Pattern, env: Environment, handler?: PatternHandler): Promise<void>;
|
|
129
|
+
export declare const DocEventName: string;
|
|
130
|
+
export declare function handleAgentInvocation(agentEventInst: Instance, env: Environment): Promise<void>;
|
|
99
131
|
export declare function restartFlow(flowContext: string[], userData: string, env: Environment): Promise<void>;
|
|
132
|
+
export declare function handleOpenApiEvent(eventInst: Instance, env: Environment): Promise<void>;
|
|
133
|
+
export declare function maybeDeleteQueriedInstances(queryEnv: Environment, env: Environment, purge?: boolean): Promise<void>;
|
|
134
|
+
export declare function evaluateExpression(expr: Expr, env: Environment): Promise<void>;
|
|
100
135
|
export declare function callPostEventOnSubscription(crudType: CrudType, inst: Instance, env?: Environment): Promise<any>;
|
|
101
136
|
export declare function runPostCreateEvents(inst: Instance, env: Environment): Promise<void>;
|
|
102
137
|
export declare function runPostUpdateEvents(inst: Instance, oldInst: Instance | undefined, env: Environment): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpreter.d.ts","sourceRoot":"","sources":["../../src/runtime/interpreter.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"interpreter.d.ts","sourceRoot":"","sources":["../../src/runtime/interpreter.ts"],"names":[],"mappings":"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"}
|