agentlang 0.1.5 → 0.1.7
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/runtime/interpreter.d.ts.map +1 -1
- package/out/runtime/interpreter.js +2 -1
- package/out/runtime/interpreter.js.map +1 -1
- package/package.json +1 -1
- package/src/runtime/auth/cognito.ts +152 -0
- package/src/runtime/auth/interface.ts +24 -0
- package/src/runtime/exec-graph.ts +10 -4
- package/src/runtime/interpreter.ts +65 -31
- package/src/runtime/loader.ts +37 -0
- package/src/runtime/module.ts +20 -0
- package/src/runtime/modules/ai.ts +103 -1
- package/src/runtime/modules/auth.ts +73 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpreter.d.ts","sourceRoot":"","sources":["../../src/runtime/interpreter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"interpreter.d.ts","sourceRoot":"","sources":["../../src/runtime/interpreter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1246,7 +1246,8 @@ function transformDateFieldsInJoinResult(result) {
|
|
|
1246
1246
|
for (const [key, value] of Object.entries(row)) {
|
|
1247
1247
|
if (value && value instanceof Date) {
|
|
1248
1248
|
if (value instanceof Date) {
|
|
1249
|
-
|
|
1249
|
+
console.log("a", value.toLocaleDateString('en-CA'), value);
|
|
1250
|
+
row[key] = value.toLocaleDateString('en-CA');
|
|
1250
1251
|
}
|
|
1251
1252
|
}
|
|
1252
1253
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpreter.js","sourceRoot":"","sources":["../../src/runtime/interpreter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interpreter.js","sourceRoot":"","sources":["../../src/runtime/interpreter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentlang",
|
|
3
3
|
"description": "The easiest way to build the most reliable AI agents - enterprise-grade teams of AI agents that collaborate with each other and humans",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.7",
|
|
5
5
|
"license": "Sustainable Use License",
|
|
6
6
|
"author": "agentlang-ai",
|
|
7
7
|
"homepage": "https://github.com/agentlang-ai/agentlang#readme",
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AgentlangAuth,
|
|
3
|
+
InviteUserCallback,
|
|
4
|
+
InvitationInfo,
|
|
3
5
|
LoginCallback,
|
|
4
6
|
LogoutCallback,
|
|
5
7
|
SessionInfo,
|
|
@@ -40,6 +42,8 @@ let ForgotPasswordCommand: any = undefined;
|
|
|
40
42
|
let ConfirmForgotPasswordCommand: any = undefined;
|
|
41
43
|
let AdminGetUserCommand: any = undefined;
|
|
42
44
|
let InitiateAuthCommand: any = undefined;
|
|
45
|
+
let AdminCreateUserCommand: any = undefined;
|
|
46
|
+
let RespondToAuthChallengeCommand: any = undefined;
|
|
43
47
|
let AuthenticationDetails: any = undefined;
|
|
44
48
|
let CognitoUser: any = undefined;
|
|
45
49
|
let CognitoUserPool: any = undefined;
|
|
@@ -61,6 +65,8 @@ if (isNodeEnv) {
|
|
|
61
65
|
ConfirmForgotPasswordCommand = cip.ConfirmForgotPasswordCommand;
|
|
62
66
|
AdminGetUserCommand = cip.AdminGetUserCommand;
|
|
63
67
|
InitiateAuthCommand = cip.InitiateAuthCommand;
|
|
68
|
+
AdminCreateUserCommand = cip.AdminCreateUserCommand;
|
|
69
|
+
RespondToAuthChallengeCommand = cip.RespondToAuthChallengeCommand;
|
|
64
70
|
|
|
65
71
|
const ci = await import('amazon-cognito-identity-js');
|
|
66
72
|
AuthenticationDetails = ci.AuthenticationDetails;
|
|
@@ -1013,4 +1019,150 @@ export class CognitoAuth implements AgentlangAuth {
|
|
|
1013
1019
|
throw err; // This line won't be reached due to handleCognitoError throwing
|
|
1014
1020
|
}
|
|
1015
1021
|
}
|
|
1022
|
+
|
|
1023
|
+
async inviteUser(
|
|
1024
|
+
email: string,
|
|
1025
|
+
firstName: string,
|
|
1026
|
+
lastName: string,
|
|
1027
|
+
userData: Map<string, any> | undefined,
|
|
1028
|
+
env: Environment,
|
|
1029
|
+
cb: InviteUserCallback
|
|
1030
|
+
): Promise<void> {
|
|
1031
|
+
try {
|
|
1032
|
+
const client = new CognitoIdentityProviderClient({
|
|
1033
|
+
region: process.env.AWS_REGION || 'us-west-2',
|
|
1034
|
+
});
|
|
1035
|
+
|
|
1036
|
+
const userAttrs = [
|
|
1037
|
+
{
|
|
1038
|
+
Name: 'email',
|
|
1039
|
+
Value: email,
|
|
1040
|
+
},
|
|
1041
|
+
{
|
|
1042
|
+
Name: 'email_verified',
|
|
1043
|
+
Value: 'true',
|
|
1044
|
+
},
|
|
1045
|
+
{
|
|
1046
|
+
Name: 'given_name',
|
|
1047
|
+
Value: firstName,
|
|
1048
|
+
},
|
|
1049
|
+
{
|
|
1050
|
+
Name: 'family_name',
|
|
1051
|
+
Value: lastName,
|
|
1052
|
+
},
|
|
1053
|
+
];
|
|
1054
|
+
|
|
1055
|
+
if (userData) {
|
|
1056
|
+
userData.forEach((v: any, k: string) => {
|
|
1057
|
+
userAttrs.push({ Name: k, Value: String(v) });
|
|
1058
|
+
});
|
|
1059
|
+
}
|
|
1060
|
+
|
|
1061
|
+
let userExists = false;
|
|
1062
|
+
try {
|
|
1063
|
+
const getUserCommand = new AdminGetUserCommand({
|
|
1064
|
+
UserPoolId: this.fetchUserPoolId(),
|
|
1065
|
+
Username: email,
|
|
1066
|
+
});
|
|
1067
|
+
await client.send(getUserCommand);
|
|
1068
|
+
userExists = true;
|
|
1069
|
+
logger.debug(`User ${email} already exists, will resend invitation`);
|
|
1070
|
+
} catch (err: any) {
|
|
1071
|
+
if (err.name !== 'UserNotFoundException') {
|
|
1072
|
+
throw err;
|
|
1073
|
+
}
|
|
1074
|
+
logger.debug(`User ${email} does not exist, will create new user`);
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1077
|
+
const command = new AdminCreateUserCommand({
|
|
1078
|
+
UserPoolId: this.fetchUserPoolId(),
|
|
1079
|
+
Username: email,
|
|
1080
|
+
UserAttributes: userAttrs,
|
|
1081
|
+
DesiredDeliveryMediums: ['EMAIL'],
|
|
1082
|
+
...(userExists ? { MessageAction: 'RESEND' } : {}),
|
|
1083
|
+
});
|
|
1084
|
+
|
|
1085
|
+
logger.debug(`Attempting to invite user: ${email}`);
|
|
1086
|
+
const response = await client.send(command);
|
|
1087
|
+
|
|
1088
|
+
if (response.$metadata.httpStatusCode === 200) {
|
|
1089
|
+
logger.info(`User invitation successful for: ${email}`);
|
|
1090
|
+
|
|
1091
|
+
await ensureUser(email, firstName, lastName, env);
|
|
1092
|
+
|
|
1093
|
+
const invitationInfo: InvitationInfo = {
|
|
1094
|
+
email: email,
|
|
1095
|
+
firstName: firstName,
|
|
1096
|
+
lastName: lastName,
|
|
1097
|
+
invitationId: response.User?.Username,
|
|
1098
|
+
systemInvitationInfo: response,
|
|
1099
|
+
};
|
|
1100
|
+
|
|
1101
|
+
cb(invitationInfo);
|
|
1102
|
+
} else {
|
|
1103
|
+
logger.error(
|
|
1104
|
+
`User invitation failed with HTTP status ${response.$metadata.httpStatusCode}`,
|
|
1105
|
+
{
|
|
1106
|
+
email: email,
|
|
1107
|
+
statusCode: response.$metadata.httpStatusCode,
|
|
1108
|
+
}
|
|
1109
|
+
);
|
|
1110
|
+
throw new BadRequestError(
|
|
1111
|
+
`User invitation failed with status ${response.$metadata.httpStatusCode}`
|
|
1112
|
+
);
|
|
1113
|
+
}
|
|
1114
|
+
} catch (err: any) {
|
|
1115
|
+
if (err instanceof BadRequestError) throw err;
|
|
1116
|
+
logger.error(`User invitation error for ${email}:`, {
|
|
1117
|
+
errorName: err.name,
|
|
1118
|
+
errorMessage: sanitizeErrorMessage(err.message),
|
|
1119
|
+
});
|
|
1120
|
+
handleCognitoError(err, 'inviteUser');
|
|
1121
|
+
}
|
|
1122
|
+
}
|
|
1123
|
+
|
|
1124
|
+
async acceptInvitation(
|
|
1125
|
+
email: string,
|
|
1126
|
+
tempPassword: string,
|
|
1127
|
+
newPassword: string,
|
|
1128
|
+
_env: Environment
|
|
1129
|
+
): Promise<void> {
|
|
1130
|
+
try {
|
|
1131
|
+
const client = new CognitoIdentityProviderClient({
|
|
1132
|
+
region: process.env.AWS_REGION || 'us-west-2',
|
|
1133
|
+
credentials: fromEnv(),
|
|
1134
|
+
});
|
|
1135
|
+
|
|
1136
|
+
const initAuth = new InitiateAuthCommand({
|
|
1137
|
+
AuthFlow: 'USER_PASSWORD_AUTH',
|
|
1138
|
+
ClientId: this.fetchClientId(),
|
|
1139
|
+
AuthParameters: {
|
|
1140
|
+
USERNAME: email,
|
|
1141
|
+
PASSWORD: tempPassword,
|
|
1142
|
+
},
|
|
1143
|
+
});
|
|
1144
|
+
|
|
1145
|
+
const initResponse = await client.send(initAuth);
|
|
1146
|
+
|
|
1147
|
+
if (initResponse.ChallengeName === 'NEW_PASSWORD_REQUIRED') {
|
|
1148
|
+
const respond = new RespondToAuthChallengeCommand({
|
|
1149
|
+
ClientId: this.fetchClientId(),
|
|
1150
|
+
ChallengeName: 'NEW_PASSWORD_REQUIRED',
|
|
1151
|
+
Session: initResponse.Session,
|
|
1152
|
+
ChallengeResponses: {
|
|
1153
|
+
USERNAME: email,
|
|
1154
|
+
NEW_PASSWORD: newPassword,
|
|
1155
|
+
},
|
|
1156
|
+
});
|
|
1157
|
+
|
|
1158
|
+
await client.send(respond);
|
|
1159
|
+
logger.info(`User invitation accepted successfully for: ${email}`);
|
|
1160
|
+
} else {
|
|
1161
|
+
throw new Error(`Unexpected challenge: ${initResponse.ChallengeName}`);
|
|
1162
|
+
}
|
|
1163
|
+
} catch (err: any) {
|
|
1164
|
+
logger.error(`Accept invitation failed for ${email}: ${sanitizeErrorMessage(err.message)}`);
|
|
1165
|
+
handleCognitoError(err, 'acceptInvitation');
|
|
1166
|
+
}
|
|
1167
|
+
}
|
|
1016
1168
|
}
|
|
@@ -21,6 +21,16 @@ export type SessionInfo = {
|
|
|
21
21
|
export type SignUpCallback = (userInfo: UserInfo) => void;
|
|
22
22
|
export type LoginCallback = (sessionInfo: SessionInfo) => void;
|
|
23
23
|
export type LogoutCallback = (status: boolean) => void;
|
|
24
|
+
export type InviteUserCallback = (invitationInfo: InvitationInfo) => void;
|
|
25
|
+
|
|
26
|
+
export type InvitationInfo = {
|
|
27
|
+
email: string;
|
|
28
|
+
firstName: string;
|
|
29
|
+
lastName: string;
|
|
30
|
+
tempPassword?: string;
|
|
31
|
+
invitationId?: string;
|
|
32
|
+
systemInvitationInfo?: any;
|
|
33
|
+
};
|
|
24
34
|
|
|
25
35
|
export interface AgentlangAuth {
|
|
26
36
|
signUp(
|
|
@@ -53,4 +63,18 @@ export interface AgentlangAuth {
|
|
|
53
63
|
env: Environment
|
|
54
64
|
): Promise<boolean>;
|
|
55
65
|
refreshToken(refreshToken: string, env: Environment): Promise<SessionInfo>;
|
|
66
|
+
inviteUser(
|
|
67
|
+
email: string,
|
|
68
|
+
firstName: string,
|
|
69
|
+
lastName: string,
|
|
70
|
+
userData: Map<string, any> | undefined,
|
|
71
|
+
env: Environment,
|
|
72
|
+
cb: InviteUserCallback
|
|
73
|
+
): Promise<void>;
|
|
74
|
+
acceptInvitation(
|
|
75
|
+
email: string,
|
|
76
|
+
tempPassword: string,
|
|
77
|
+
newPassword: string,
|
|
78
|
+
env: Environment
|
|
79
|
+
): Promise<void>;
|
|
56
80
|
}
|
|
@@ -218,12 +218,18 @@ export async function executeGraph(execGraph: ExecGraph, env: Environment): Prom
|
|
|
218
218
|
case SubGraphType.EVENT:
|
|
219
219
|
await evaluateStatement(node.code as Statement, env);
|
|
220
220
|
break;
|
|
221
|
-
case SubGraphType.IF:
|
|
222
|
-
|
|
221
|
+
case SubGraphType.IF: {
|
|
222
|
+
const newEnv = new Environment(`${env.name}-if`, env);
|
|
223
|
+
await executeIfSubGraph(subg, newEnv);
|
|
224
|
+
env.setLastResult(newEnv.getLastResult());
|
|
223
225
|
break;
|
|
224
|
-
|
|
225
|
-
|
|
226
|
+
}
|
|
227
|
+
case SubGraphType.FOR_EACH: {
|
|
228
|
+
const newEnv = new Environment(`${env.name}-forEach`, env);
|
|
229
|
+
await executeForEachSubGraph(subg, node, newEnv);
|
|
230
|
+
env.setLastResult(newEnv.getLastResult());
|
|
226
231
|
break;
|
|
232
|
+
}
|
|
227
233
|
case SubGraphType.DELETE:
|
|
228
234
|
await executeDeleteSubGraph(subg, node, env);
|
|
229
235
|
break;
|
|
@@ -140,6 +140,7 @@ export class Environment extends Instance {
|
|
|
140
140
|
private activeCatchHandlers: Array<CatchHandlers>;
|
|
141
141
|
private eventExecutor: Function | undefined = undefined;
|
|
142
142
|
private statementsExecutor: Function | undefined = undefined;
|
|
143
|
+
private scratchPad: any = undefined;
|
|
143
144
|
|
|
144
145
|
private activeUserData: any = undefined;
|
|
145
146
|
|
|
@@ -270,6 +271,28 @@ export class Environment extends Instance {
|
|
|
270
271
|
return this.attributes.get(Environment.FlowContextTag);
|
|
271
272
|
}
|
|
272
273
|
|
|
274
|
+
addToScratchPad(k: string, data: any): Environment {
|
|
275
|
+
if (this.scratchPad == undefined) {
|
|
276
|
+
this.scratchPad = {};
|
|
277
|
+
}
|
|
278
|
+
this.scratchPad[k] = data;
|
|
279
|
+
return this;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
getScratchPad(): any {
|
|
283
|
+
return this.scratchPad;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
resetScratchPad(): Environment {
|
|
287
|
+
this.scratchPad = undefined;
|
|
288
|
+
return this;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
setScratchPad(obj: any): Environment {
|
|
292
|
+
this.scratchPad = obj;
|
|
293
|
+
return this;
|
|
294
|
+
}
|
|
295
|
+
|
|
273
296
|
static SuspensionUserData = '^';
|
|
274
297
|
|
|
275
298
|
bindSuspensionUserData(userData: string): Environment {
|
|
@@ -1365,10 +1388,12 @@ async function evaluateCrudMap(crud: CrudMap, env: Environment): Promise<void> {
|
|
|
1365
1388
|
else if (isDocEventInstance(inst)) await handleDocEvent(inst, env);
|
|
1366
1389
|
else {
|
|
1367
1390
|
const eventExec = env.getEventExecutor();
|
|
1391
|
+
const newEnv = new Environment(`${inst.name}.env`, env);
|
|
1368
1392
|
if (eventExec) {
|
|
1369
|
-
await eventExec(inst,
|
|
1393
|
+
await eventExec(inst, newEnv);
|
|
1394
|
+
env.setLastResult(newEnv.getLastResult());
|
|
1370
1395
|
} else {
|
|
1371
|
-
await evaluate(inst, (result: Result) => env.setLastResult(result),
|
|
1396
|
+
await evaluate(inst, (result: Result) => env.setLastResult(result), newEnv);
|
|
1372
1397
|
}
|
|
1373
1398
|
env.resetReturnFlag();
|
|
1374
1399
|
}
|
|
@@ -1480,31 +1505,7 @@ async function evaluateJoinQuery(
|
|
|
1480
1505
|
}
|
|
1481
1506
|
const resolver = await getResolverForPath(inst.name, moduleName, env);
|
|
1482
1507
|
const result: Result = await resolver.queryByJoin(inst, joinsSpec, normIntoSpec, distinct);
|
|
1483
|
-
|
|
1484
|
-
const transformedResult = transformDateFieldsInJoinResult(result);
|
|
1485
|
-
|
|
1486
|
-
env.setLastResult(transformedResult);
|
|
1487
|
-
}
|
|
1488
|
-
|
|
1489
|
-
function transformDateFieldsInJoinResult(result: any): any {
|
|
1490
|
-
if (!result || !Array.isArray(result)) {
|
|
1491
|
-
return result;
|
|
1492
|
-
}
|
|
1493
|
-
return result.map((row: any) => {
|
|
1494
|
-
if (typeof row !== 'object' || row === null) {
|
|
1495
|
-
return row;
|
|
1496
|
-
}
|
|
1497
|
-
|
|
1498
|
-
for (const [key, value] of Object.entries(row)) {
|
|
1499
|
-
if (value && value instanceof Date) {
|
|
1500
|
-
if (value instanceof Date) {
|
|
1501
|
-
row[key] = value.toISOString().split('T')[0];
|
|
1502
|
-
}
|
|
1503
|
-
}
|
|
1504
|
-
}
|
|
1505
|
-
|
|
1506
|
-
return row;
|
|
1507
|
-
});
|
|
1508
|
+
env.setLastResult(result);
|
|
1508
1509
|
}
|
|
1509
1510
|
|
|
1510
1511
|
async function walkJoinQueryPattern(
|
|
@@ -1539,6 +1540,11 @@ async function agentInvoke(agent: AgentInstance, msg: string, env: Environment):
|
|
|
1539
1540
|
const flowContext = env.getFlowContext();
|
|
1540
1541
|
msg = flowContext ? `context: ${flowContext}\n${msg}` : msg;
|
|
1541
1542
|
|
|
1543
|
+
const scratchPad = env.getScratchPad();
|
|
1544
|
+
if (scratchPad) {
|
|
1545
|
+
const spad = JSON.stringify(scratchPad);
|
|
1546
|
+
msg = `${msg}\nScratchpad:\n${spad}`;
|
|
1547
|
+
}
|
|
1542
1548
|
// log invocation details
|
|
1543
1549
|
let invokeDebugMsg = `\nInvoking agent ${agent.name}:`;
|
|
1544
1550
|
if (agent.role) {
|
|
@@ -1589,6 +1595,7 @@ async function agentInvoke(agent: AgentInstance, msg: string, env: Environment):
|
|
|
1589
1595
|
env.setLastResult(await parseAndEvaluateStatement(rs, undefined, env));
|
|
1590
1596
|
}
|
|
1591
1597
|
}
|
|
1598
|
+
agent.maybeAddScratchData(env);
|
|
1592
1599
|
break;
|
|
1593
1600
|
} catch (err: any) {
|
|
1594
1601
|
if (retries < MAX_PLANNER_RETRIES) {
|
|
@@ -1604,6 +1611,30 @@ async function agentInvoke(agent: AgentInstance, msg: string, env: Environment):
|
|
|
1604
1611
|
}
|
|
1605
1612
|
}
|
|
1606
1613
|
}
|
|
1614
|
+
} else {
|
|
1615
|
+
let retries = 0;
|
|
1616
|
+
while (true) {
|
|
1617
|
+
try {
|
|
1618
|
+
const obj = agent.maybeValidateJsonResponse(result);
|
|
1619
|
+
if (obj != undefined) {
|
|
1620
|
+
env.setLastResult(obj);
|
|
1621
|
+
env.addToScratchPad(agent.getFqName(), obj);
|
|
1622
|
+
}
|
|
1623
|
+
break;
|
|
1624
|
+
} catch (err: any) {
|
|
1625
|
+
if (retries < MAX_PLANNER_RETRIES) {
|
|
1626
|
+
await agent.invoke(`Please fix these errors:\n ${err}`, env);
|
|
1627
|
+
const r: string | undefined = env.getLastResult();
|
|
1628
|
+
result = r;
|
|
1629
|
+
++retries;
|
|
1630
|
+
} else {
|
|
1631
|
+
logger.error(
|
|
1632
|
+
`Failed to validate JSON response generated by agent ${agent.name} - ${result}, ${err}`
|
|
1633
|
+
);
|
|
1634
|
+
break;
|
|
1635
|
+
}
|
|
1636
|
+
}
|
|
1637
|
+
}
|
|
1607
1638
|
}
|
|
1608
1639
|
} else {
|
|
1609
1640
|
throw new Error(`Agent ${agent.name} failed to generate a response`);
|
|
@@ -1635,6 +1666,7 @@ async function handleAgentInvocationWithFlow(
|
|
|
1635
1666
|
): Promise<void> {
|
|
1636
1667
|
rootAgent.markAsFlowExecutor();
|
|
1637
1668
|
await iterateOnFlow(flow, rootAgent, msg, env);
|
|
1669
|
+
env.resetScratchPad();
|
|
1638
1670
|
}
|
|
1639
1671
|
|
|
1640
1672
|
async function saveFlowSuspension(
|
|
@@ -1643,9 +1675,10 @@ async function saveFlowSuspension(
|
|
|
1643
1675
|
step: FlowStep,
|
|
1644
1676
|
env: Environment
|
|
1645
1677
|
): Promise<void> {
|
|
1678
|
+
const spad = env.getScratchPad() || {};
|
|
1646
1679
|
const suspId = await createSuspension(
|
|
1647
1680
|
env.getSuspensionId(),
|
|
1648
|
-
[FlowSuspensionTag, agent.name, step, context],
|
|
1681
|
+
[FlowSuspensionTag, agent.name, step, context, JSON.stringify(spad)],
|
|
1649
1682
|
env
|
|
1650
1683
|
);
|
|
1651
1684
|
env.setLastResult({ suspension: suspId || 'null' });
|
|
@@ -1656,11 +1689,12 @@ export async function restartFlow(
|
|
|
1656
1689
|
userData: string,
|
|
1657
1690
|
env: Environment
|
|
1658
1691
|
): Promise<void> {
|
|
1659
|
-
const [_, agentName, step, ctx] = flowContext;
|
|
1692
|
+
const [_, agentName, step, ctx, spad] = flowContext;
|
|
1660
1693
|
const rootAgent: AgentInstance = await findAgentByName(agentName, env);
|
|
1661
1694
|
const flow = getAgentFlow(agentName, rootAgent.moduleName);
|
|
1662
1695
|
if (flow) {
|
|
1663
1696
|
const newCtx = `${ctx}\n${step} --> ${userData}\n`;
|
|
1697
|
+
env.setScratchPad(JSON.parse(spad));
|
|
1664
1698
|
await iterateOnFlow(flow, rootAgent, newCtx, env);
|
|
1665
1699
|
}
|
|
1666
1700
|
}
|
|
@@ -1674,7 +1708,7 @@ async function iterateOnFlow(
|
|
|
1674
1708
|
env: Environment
|
|
1675
1709
|
): Promise<void> {
|
|
1676
1710
|
rootAgent.disableSession();
|
|
1677
|
-
const s = `Now consider the following flowchart and context:\n${flow}\n\
|
|
1711
|
+
const s = `Now consider the following flowchart and context:\n${flow}\n\nInitial context: ${msg}\n\n
|
|
1678
1712
|
If you understand from the context that a step with no further possible steps has been evaluated,
|
|
1679
1713
|
terminate the flowchart by returning DONE. Never return to the top or root step of the flowchart, instead return DONE.\n`;
|
|
1680
1714
|
await agentInvoke(rootAgent, s, env);
|
|
@@ -1710,7 +1744,7 @@ async function iterateOnFlow(
|
|
|
1710
1744
|
console.debug(
|
|
1711
1745
|
`\n----> Completed execution of step ${step}, iteration id ${iterId} with result:\n${rs}`
|
|
1712
1746
|
);
|
|
1713
|
-
context = `${context}\nExecuted steps: ${[...executedSteps].join(', ')}
|
|
1747
|
+
context = `${context}\nExecuted steps: ${[...executedSteps].join(', ')}`;
|
|
1714
1748
|
await agentInvoke(rootAgent, `${s}\n${context}`, env);
|
|
1715
1749
|
step = env.getLastResult().trim();
|
|
1716
1750
|
}
|
package/src/runtime/loader.ts
CHANGED
|
@@ -78,7 +78,9 @@ import {
|
|
|
78
78
|
LlmEntityName,
|
|
79
79
|
registerAgentDirectives,
|
|
80
80
|
registerAgentGlossary,
|
|
81
|
+
registerAgentResponseSchema,
|
|
81
82
|
registerAgentScenarios,
|
|
83
|
+
registerAgentScratchNames,
|
|
82
84
|
} from './modules/ai.js';
|
|
83
85
|
import { getDefaultLLMService } from './agents/registry.js';
|
|
84
86
|
import { GenericResolver, GenericResolverMethods } from './resolvers/interface.js';
|
|
@@ -566,6 +568,20 @@ function processAgentGlossary(agentName: string, value: Literal): AgentGlossaryE
|
|
|
566
568
|
return undefined;
|
|
567
569
|
}
|
|
568
570
|
|
|
571
|
+
function processAgentScratchNames(agentName: string, value: Literal): string[] | undefined {
|
|
572
|
+
if (value.array) {
|
|
573
|
+
const scratch = new Array<string>();
|
|
574
|
+
value.array.vals.forEach((stmt: Statement) => {
|
|
575
|
+
const expr = stmt.pattern.expr;
|
|
576
|
+
if (expr && isLiteral(expr) && (expr.id || expr.str)) {
|
|
577
|
+
scratch.push(expr.id || expr.str || '');
|
|
578
|
+
}
|
|
579
|
+
});
|
|
580
|
+
return scratch;
|
|
581
|
+
}
|
|
582
|
+
return undefined;
|
|
583
|
+
}
|
|
584
|
+
|
|
569
585
|
async function addAgentDefinition(def: AgentDefinition, moduleName: string) {
|
|
570
586
|
let llmName: string | undefined = undefined;
|
|
571
587
|
const name = def.name;
|
|
@@ -577,6 +593,8 @@ async function addAgentDefinition(def: AgentDefinition, moduleName: string) {
|
|
|
577
593
|
let conds: AgentCondition[] | undefined = undefined;
|
|
578
594
|
let scenarios: AgentScenario[] | undefined = undefined;
|
|
579
595
|
let glossary: AgentGlossaryEntry[] | undefined = undefined;
|
|
596
|
+
let responseSchema: string | undefined = undefined;
|
|
597
|
+
let scratchNames: string[] | undefined = undefined;
|
|
580
598
|
def.body?.attributes.forEach((apdef: GenericPropertyDef) => {
|
|
581
599
|
if (apdef.name == 'flows') {
|
|
582
600
|
let fnames: string | undefined = undefined;
|
|
@@ -604,6 +622,19 @@ async function addAgentDefinition(def: AgentDefinition, moduleName: string) {
|
|
|
604
622
|
scenarios = processAgentScenarios(name, apdef.value);
|
|
605
623
|
} else if (apdef.name == 'glossary') {
|
|
606
624
|
glossary = processAgentGlossary(name, apdef.value);
|
|
625
|
+
} else if (apdef.name == 'responseSchema') {
|
|
626
|
+
const s = apdef.value.id || apdef.value.str || apdef.value.id;
|
|
627
|
+
if (s) {
|
|
628
|
+
if (isFqName(s)) {
|
|
629
|
+
responseSchema = s;
|
|
630
|
+
} else {
|
|
631
|
+
responseSchema = makeFqName(moduleName, s);
|
|
632
|
+
}
|
|
633
|
+
} else {
|
|
634
|
+
throw new Error(`responseSchema must be a valid name in agent ${name}`);
|
|
635
|
+
}
|
|
636
|
+
} else if (apdef.name == 'scratch') {
|
|
637
|
+
scratchNames = processAgentScratchNames(name, apdef.value);
|
|
607
638
|
} else {
|
|
608
639
|
let v: any = undefined;
|
|
609
640
|
if (apdef.value.array) {
|
|
@@ -666,6 +697,12 @@ async function addAgentDefinition(def: AgentDefinition, moduleName: string) {
|
|
|
666
697
|
if (glossary) {
|
|
667
698
|
registerAgentGlossary(moduleName, name, glossary);
|
|
668
699
|
}
|
|
700
|
+
if (responseSchema) {
|
|
701
|
+
registerAgentResponseSchema(moduleName, name, responseSchema);
|
|
702
|
+
}
|
|
703
|
+
if (scratchNames) {
|
|
704
|
+
registerAgentScratchNames(moduleName, name, scratchNames);
|
|
705
|
+
}
|
|
669
706
|
// Don't add llm to module attrs if it wasn't originally specified
|
|
670
707
|
addAgent(def.name, attrs, moduleName);
|
|
671
708
|
}
|
package/src/runtime/module.ts
CHANGED
|
@@ -3139,3 +3139,23 @@ export function getEntityRbacRules(entityFqName: string): RbacSpecification[] |
|
|
|
3139
3139
|
}
|
|
3140
3140
|
return undefined;
|
|
3141
3141
|
}
|
|
3142
|
+
|
|
3143
|
+
export function asJSONSchema(fqName: string): string {
|
|
3144
|
+
const parts = splitFqName(fqName);
|
|
3145
|
+
if (parts.hasModule()) {
|
|
3146
|
+
const mod = fetchModule(parts.getModuleName());
|
|
3147
|
+
const record = mod.getRecord(parts.getEntryName());
|
|
3148
|
+
const s = new Array<string>();
|
|
3149
|
+
record.schema.forEach((attr: AttributeSpec, n: string) => {
|
|
3150
|
+
let t = attr.type;
|
|
3151
|
+
const enums = getEnumValues(attr);
|
|
3152
|
+
if (enums) {
|
|
3153
|
+
t = `one of the strings: ${[...enums].join(',')}`;
|
|
3154
|
+
}
|
|
3155
|
+
s.push(`"${n}": <${t}>`);
|
|
3156
|
+
});
|
|
3157
|
+
return `{${s.join(',\n')}}`;
|
|
3158
|
+
} else {
|
|
3159
|
+
throw new Error(`Failed to find module for ${fqName}`);
|
|
3160
|
+
}
|
|
3161
|
+
}
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
parseAndEvaluateStatement,
|
|
7
7
|
} from '../interpreter.js';
|
|
8
8
|
import {
|
|
9
|
+
asJSONSchema,
|
|
9
10
|
fetchModule,
|
|
10
11
|
Instance,
|
|
11
12
|
instanceToObject,
|
|
@@ -129,6 +130,26 @@ export function registerAgentGlossary(
|
|
|
129
130
|
AgentGlossary.set(makeFqName(moduleName, agentName), glossary);
|
|
130
131
|
}
|
|
131
132
|
|
|
133
|
+
const AgentResponseSchema = new Map<string, string>();
|
|
134
|
+
|
|
135
|
+
export function registerAgentResponseSchema(
|
|
136
|
+
moduleName: string,
|
|
137
|
+
agentName: string,
|
|
138
|
+
responseSchema: string
|
|
139
|
+
) {
|
|
140
|
+
AgentResponseSchema.set(makeFqName(moduleName, agentName), responseSchema);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
const AgentScratchNames = new Map<string, Set<string>>();
|
|
144
|
+
|
|
145
|
+
export function registerAgentScratchNames(
|
|
146
|
+
moduleName: string,
|
|
147
|
+
agentName: string,
|
|
148
|
+
scratch: string[]
|
|
149
|
+
) {
|
|
150
|
+
AgentScratchNames.set(makeFqName(moduleName, agentName), new Set(scratch));
|
|
151
|
+
}
|
|
152
|
+
|
|
132
153
|
export class AgentInstance {
|
|
133
154
|
llm: string = '';
|
|
134
155
|
name: string = '';
|
|
@@ -145,6 +166,7 @@ export class AgentInstance {
|
|
|
145
166
|
private toolsArray: string[] | undefined = undefined;
|
|
146
167
|
private hasModuleTools = false;
|
|
147
168
|
private withSession = true;
|
|
169
|
+
private fqName: string | undefined;
|
|
148
170
|
|
|
149
171
|
private constructor() {}
|
|
150
172
|
|
|
@@ -241,7 +263,7 @@ export class AgentInstance {
|
|
|
241
263
|
if (this.cachedInstruction) {
|
|
242
264
|
return this.cachedInstruction;
|
|
243
265
|
}
|
|
244
|
-
const fqName =
|
|
266
|
+
const fqName = this.getFqName();
|
|
245
267
|
this.cachedInstruction = `${this.instruction || ''} ${this.directivesAsString(fqName)}`;
|
|
246
268
|
const gls = AgentGlossary.get(fqName);
|
|
247
269
|
if (gls) {
|
|
@@ -262,14 +284,80 @@ export class AgentInstance {
|
|
|
262
284
|
});
|
|
263
285
|
this.cachedInstruction = `${this.cachedInstruction}\nHere are some example user requests and the corresponding responses you are supposed to produce:\n${scs.join('\n')}`;
|
|
264
286
|
}
|
|
287
|
+
const responseSchema = AgentResponseSchema.get(fqName);
|
|
288
|
+
if (responseSchema) {
|
|
289
|
+
this.cachedInstruction = `${this.cachedInstruction}\nReturn your response in the following JSON schema:\n${asJSONSchema(responseSchema)}
|
|
290
|
+
Only return a pure JSON object with no extra text, annotations etc.`;
|
|
291
|
+
}
|
|
265
292
|
return this.cachedInstruction;
|
|
266
293
|
}
|
|
267
294
|
|
|
295
|
+
maybeValidateJsonResponse(response: string | undefined): object | undefined {
|
|
296
|
+
if (response) {
|
|
297
|
+
const responseSchema = AgentResponseSchema.get(this.getFqName());
|
|
298
|
+
if (responseSchema) {
|
|
299
|
+
const attrs = JSON.parse(response);
|
|
300
|
+
const parts = splitFqName(responseSchema);
|
|
301
|
+
const moduleName = parts.getModuleName();
|
|
302
|
+
const entryName = parts.getEntryName();
|
|
303
|
+
const attrsMap = new Map(Object.entries(attrs));
|
|
304
|
+
const scm = fetchModule(moduleName).getRecord(entryName).schema;
|
|
305
|
+
const recAttrs = new Map<string, any>();
|
|
306
|
+
attrsMap.forEach((v: any, k: string) => {
|
|
307
|
+
if (scm.has(k)) {
|
|
308
|
+
recAttrs.set(k, v);
|
|
309
|
+
}
|
|
310
|
+
});
|
|
311
|
+
makeInstance(moduleName, entryName, recAttrs);
|
|
312
|
+
return attrs;
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
return undefined;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
getFqName(): string {
|
|
319
|
+
if (this.fqName == undefined) {
|
|
320
|
+
this.fqName = makeFqName(this.moduleName, this.name);
|
|
321
|
+
}
|
|
322
|
+
return this.fqName;
|
|
323
|
+
}
|
|
324
|
+
|
|
268
325
|
markAsFlowExecutor(): AgentInstance {
|
|
269
326
|
this.type = 'flow-exec';
|
|
270
327
|
return this;
|
|
271
328
|
}
|
|
272
329
|
|
|
330
|
+
getScratchNames(): Set<string> | undefined {
|
|
331
|
+
return AgentScratchNames.get(this.getFqName());
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
maybeAddScratchData(env: Environment): AgentInstance {
|
|
335
|
+
const obj: any = env.getLastResult();
|
|
336
|
+
let r: Instance | Instance[] | undefined = undefined;
|
|
337
|
+
if (
|
|
338
|
+
obj instanceof Instance ||
|
|
339
|
+
(obj instanceof Array && obj.length > 0 && obj[0] instanceof Instance)
|
|
340
|
+
) {
|
|
341
|
+
r = obj;
|
|
342
|
+
} else {
|
|
343
|
+
return this;
|
|
344
|
+
}
|
|
345
|
+
const scratchNames = this.getScratchNames();
|
|
346
|
+
let data: any = undefined;
|
|
347
|
+
let n = '';
|
|
348
|
+
if (r instanceof Array) {
|
|
349
|
+
data = r.map((inst: Instance) => {
|
|
350
|
+
return extractScratchData(scratchNames, inst);
|
|
351
|
+
});
|
|
352
|
+
n = r[0].getFqName();
|
|
353
|
+
} else {
|
|
354
|
+
data = extractScratchData(scratchNames, r);
|
|
355
|
+
n = r.getFqName();
|
|
356
|
+
}
|
|
357
|
+
if (data) env.addToScratchPad(n, data);
|
|
358
|
+
return this;
|
|
359
|
+
}
|
|
360
|
+
|
|
273
361
|
async invoke(message: string, env: Environment) {
|
|
274
362
|
const p = await findProviderForLLM(this.llm, env);
|
|
275
363
|
const agentName = this.name;
|
|
@@ -411,6 +499,20 @@ export class AgentInstance {
|
|
|
411
499
|
}
|
|
412
500
|
}
|
|
413
501
|
|
|
502
|
+
function extractScratchData(scratchNames: Set<string> | undefined, inst: Instance): any {
|
|
503
|
+
const data: any = {};
|
|
504
|
+
inst.attributes.forEach((v: any, k: string) => {
|
|
505
|
+
if (scratchNames) {
|
|
506
|
+
if (scratchNames.has(k)) {
|
|
507
|
+
data[k] = v;
|
|
508
|
+
}
|
|
509
|
+
} else {
|
|
510
|
+
data[k] = v;
|
|
511
|
+
}
|
|
512
|
+
});
|
|
513
|
+
return data;
|
|
514
|
+
}
|
|
515
|
+
|
|
414
516
|
async function parseHelper(stmt: string, env: Environment): Promise<any> {
|
|
415
517
|
await parseAndEvaluateStatement(stmt, undefined, env);
|
|
416
518
|
return env.getLastResult();
|
|
@@ -332,6 +332,15 @@ workflow getUser {
|
|
|
332
332
|
workflow getUserByEmail {
|
|
333
333
|
await Auth.getUserInfoByEmail(getUserByEmail.email)
|
|
334
334
|
}
|
|
335
|
+
|
|
336
|
+
workflow inviteUser {
|
|
337
|
+
await Auth.inviteUser(inviteUser.email, inviteUser.firstName, inviteUser.lastName, inviteUser.userData)
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
workflow acceptInvitation {
|
|
342
|
+
await Auth.acceptInvitationUser(acceptInvitation.email, acceptInvitation.tempPassword, acceptInvitation.newPassword)
|
|
343
|
+
}
|
|
335
344
|
`;
|
|
336
345
|
|
|
337
346
|
const evalEvent = makeEventEvaluator(CoreAuthModuleName);
|
|
@@ -1113,6 +1122,68 @@ export async function refreshUserToken(refreshToken: string, env: Environment):
|
|
|
1113
1122
|
}
|
|
1114
1123
|
}
|
|
1115
1124
|
|
|
1125
|
+
export async function inviteUser(
|
|
1126
|
+
email: string,
|
|
1127
|
+
firstName: string,
|
|
1128
|
+
lastName: string,
|
|
1129
|
+
userData: Map<string, any> | undefined,
|
|
1130
|
+
env: Environment
|
|
1131
|
+
): Promise<object> {
|
|
1132
|
+
const needCommit = env ? false : true;
|
|
1133
|
+
env = env ? env : new Environment();
|
|
1134
|
+
const f = async () => {
|
|
1135
|
+
try {
|
|
1136
|
+
let invitationInfo: any;
|
|
1137
|
+
await fetchAuthImpl().inviteUser(email, firstName, lastName, userData, env, (info: any) => {
|
|
1138
|
+
invitationInfo = info;
|
|
1139
|
+
});
|
|
1140
|
+
|
|
1141
|
+
return {
|
|
1142
|
+
email: invitationInfo.email,
|
|
1143
|
+
firstName: invitationInfo.firstName,
|
|
1144
|
+
lastName: invitationInfo.lastName,
|
|
1145
|
+
invitationId: invitationInfo.invitationId,
|
|
1146
|
+
message: 'User invitation sent successfully',
|
|
1147
|
+
};
|
|
1148
|
+
} catch (err: any) {
|
|
1149
|
+
logger.error(`User invitation failed: ${err.message}`);
|
|
1150
|
+
throw err;
|
|
1151
|
+
}
|
|
1152
|
+
};
|
|
1153
|
+
if (needCommit) {
|
|
1154
|
+
return await env.callInTransaction(f);
|
|
1155
|
+
} else {
|
|
1156
|
+
return await f();
|
|
1157
|
+
}
|
|
1158
|
+
}
|
|
1159
|
+
|
|
1160
|
+
export async function acceptInvitationUser(
|
|
1161
|
+
email: string,
|
|
1162
|
+
tempPassword: string,
|
|
1163
|
+
newPassword: string,
|
|
1164
|
+
env: Environment
|
|
1165
|
+
): Promise<object> {
|
|
1166
|
+
const needCommit = env ? false : true;
|
|
1167
|
+
env = env ? env : new Environment();
|
|
1168
|
+
const f = async () => {
|
|
1169
|
+
try {
|
|
1170
|
+
await fetchAuthImpl().acceptInvitation(email, tempPassword, newPassword, env);
|
|
1171
|
+
return {
|
|
1172
|
+
email: email,
|
|
1173
|
+
message: 'Invitation accepted successfully',
|
|
1174
|
+
};
|
|
1175
|
+
} catch (err: any) {
|
|
1176
|
+
logger.error(`Accept invitation failed: ${err.message}`);
|
|
1177
|
+
throw err;
|
|
1178
|
+
}
|
|
1179
|
+
};
|
|
1180
|
+
if (needCommit) {
|
|
1181
|
+
return await env.callInTransaction(f);
|
|
1182
|
+
} else {
|
|
1183
|
+
return await f();
|
|
1184
|
+
}
|
|
1185
|
+
}
|
|
1186
|
+
|
|
1116
1187
|
export function requireAuth(moduleName: string, eventName: string): boolean {
|
|
1117
1188
|
if (isAuthEnabled()) {
|
|
1118
1189
|
const f =
|
|
@@ -1123,7 +1194,8 @@ export function requireAuth(moduleName: string, eventName: string): boolean {
|
|
|
1123
1194
|
eventName == 'resendConfirmationCode' ||
|
|
1124
1195
|
eventName == 'forgotPassword' ||
|
|
1125
1196
|
eventName == 'confirmForgotPassword' ||
|
|
1126
|
-
eventName == 'refreshToken'
|
|
1197
|
+
eventName == 'refreshToken' ||
|
|
1198
|
+
eventName == 'acceptInvitation');
|
|
1127
1199
|
return !f;
|
|
1128
1200
|
} else {
|
|
1129
1201
|
return false;
|