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.
@@ -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
- row[key] = value.toISOString().split('T')[0];
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.5",
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
- await executeIfSubGraph(subg, env);
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
- case SubGraphType.FOR_EACH:
225
- await executeForEachSubGraph(subg, node, env);
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, env);
1393
+ await eventExec(inst, newEnv);
1394
+ env.setLastResult(newEnv.getLastResult());
1370
1395
  } else {
1371
- await evaluate(inst, (result: Result) => env.setLastResult(result), env);
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\n${msg}
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(', ')}\n${step} --> ${rs}\n`;
1747
+ context = `${context}\nExecuted steps: ${[...executedSteps].join(', ')}`;
1714
1748
  await agentInvoke(rootAgent, `${s}\n${context}`, env);
1715
1749
  step = env.getLastResult().trim();
1716
1750
  }
@@ -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
  }
@@ -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 = makeFqName(this.moduleName, this.name);
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;