agentlang 0.10.5 → 0.10.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.
Files changed (78) hide show
  1. package/out/cli/main.d.ts.map +1 -1
  2. package/out/cli/main.js +13 -3
  3. package/out/cli/main.js.map +1 -1
  4. package/out/language/error-reporter.d.ts.map +1 -1
  5. package/out/language/error-reporter.js +1 -0
  6. package/out/language/error-reporter.js.map +1 -1
  7. package/out/language/generated/ast.d.ts +1 -0
  8. package/out/language/generated/ast.d.ts.map +1 -1
  9. package/out/language/generated/ast.js +1 -0
  10. package/out/language/generated/ast.js.map +1 -1
  11. package/out/language/generated/grammar.d.ts.map +1 -1
  12. package/out/language/generated/grammar.js +20 -21
  13. package/out/language/generated/grammar.js.map +1 -1
  14. package/out/language/main.cjs +20 -21
  15. package/out/language/main.cjs.map +2 -2
  16. package/out/runtime/agents/common.d.ts +2 -2
  17. package/out/runtime/agents/common.d.ts.map +1 -1
  18. package/out/runtime/agents/common.js +4 -0
  19. package/out/runtime/agents/common.js.map +1 -1
  20. package/out/runtime/auth/cognito.d.ts +1 -0
  21. package/out/runtime/auth/cognito.d.ts.map +1 -1
  22. package/out/runtime/auth/cognito.js +31 -0
  23. package/out/runtime/auth/cognito.js.map +1 -1
  24. package/out/runtime/auth/interface.d.ts +2 -0
  25. package/out/runtime/auth/interface.d.ts.map +1 -1
  26. package/out/runtime/defs.d.ts +2 -0
  27. package/out/runtime/defs.d.ts.map +1 -1
  28. package/out/runtime/defs.js +9 -2
  29. package/out/runtime/defs.js.map +1 -1
  30. package/out/runtime/interpreter.d.ts.map +1 -1
  31. package/out/runtime/interpreter.js +50 -13
  32. package/out/runtime/interpreter.js.map +1 -1
  33. package/out/runtime/module.d.ts.map +1 -1
  34. package/out/runtime/module.js +33 -10
  35. package/out/runtime/module.js.map +1 -1
  36. package/out/runtime/modules/ai.d.ts +1 -1
  37. package/out/runtime/modules/ai.d.ts.map +1 -1
  38. package/out/runtime/modules/ai.js +1 -2
  39. package/out/runtime/modules/ai.js.map +1 -1
  40. package/out/runtime/modules/auth.d.ts.map +1 -1
  41. package/out/runtime/modules/auth.js +6 -1
  42. package/out/runtime/modules/auth.js.map +1 -1
  43. package/out/runtime/modules/core.d.ts.map +1 -1
  44. package/out/runtime/modules/core.js +1 -1
  45. package/out/runtime/modules/core.js.map +1 -1
  46. package/out/runtime/resolvers/sqldb/database.d.ts +10 -0
  47. package/out/runtime/resolvers/sqldb/database.d.ts.map +1 -1
  48. package/out/runtime/resolvers/sqldb/database.js +104 -5
  49. package/out/runtime/resolvers/sqldb/database.js.map +1 -1
  50. package/out/runtime/resolvers/sqldb/dbutil.d.ts +6 -1
  51. package/out/runtime/resolvers/sqldb/dbutil.d.ts.map +1 -1
  52. package/out/runtime/resolvers/sqldb/dbutil.js +18 -13
  53. package/out/runtime/resolvers/sqldb/dbutil.js.map +1 -1
  54. package/out/runtime/resolvers/sqldb/impl.d.ts.map +1 -1
  55. package/out/runtime/resolvers/sqldb/impl.js +20 -4
  56. package/out/runtime/resolvers/sqldb/impl.js.map +1 -1
  57. package/out/syntaxes/agentlang.monarch.d.ts.map +1 -1
  58. package/out/syntaxes/agentlang.monarch.js +1 -0
  59. package/out/syntaxes/agentlang.monarch.js.map +1 -1
  60. package/package.json +1 -1
  61. package/src/cli/main.ts +15 -2
  62. package/src/language/agentlang.langium +5 -1
  63. package/src/language/error-reporter.ts +1 -0
  64. package/src/language/generated/ast.ts +1 -0
  65. package/src/language/generated/grammar.ts +20 -21
  66. package/src/runtime/agents/common.ts +4 -0
  67. package/src/runtime/auth/cognito.ts +37 -0
  68. package/src/runtime/auth/interface.ts +2 -0
  69. package/src/runtime/defs.ts +9 -0
  70. package/src/runtime/interpreter.ts +43 -11
  71. package/src/runtime/module.ts +34 -9
  72. package/src/runtime/modules/ai.ts +2 -2
  73. package/src/runtime/modules/auth.ts +6 -1
  74. package/src/runtime/modules/core.ts +6 -2
  75. package/src/runtime/resolvers/sqldb/database.ts +122 -3
  76. package/src/runtime/resolvers/sqldb/dbutil.ts +18 -5
  77. package/src/runtime/resolvers/sqldb/impl.ts +27 -2
  78. package/src/syntaxes/agentlang.monarch.ts +1 -0
@@ -1,8 +1,24 @@
1
- import { assertInstance, findIdAttribute, getAllBetweenRelationships, getAllOneToOneRelationshipsForEntity, getBetweenInstanceNodeValues, getEntityRbacRules, Instance, isBetweenRelationship, newInstanceAttributes, } from '../../module.js';
1
+ import { assertInstance, findIdAttribute, getAllBetweenRelationships, getAllOneToOneRelationshipsForEntity, getBetweenInstanceNodeValues, getEntityRbacRules, Instance, isArrayAttribute, isBetweenRelationship, newInstanceAttributes, } from '../../module.js';
2
2
  import { escapeFqName, escapeQueryName, isFqName, makeFqName, nameToPath, splitFqName, splitRefs, } from '../../util.js';
3
3
  import { Resolver } from '../interface.js';
4
4
  import { asColumnReference, asTableReference } from './dbutil.js';
5
- import { addRowForFullTextSearch, commitDbTransaction, DbContext, deleteFullTextSearchEntry, getAllConnected, getMany, getManyByJoin, hardDeleteRow, insertBetweenRow, insertRow, isVectorStoreSupported, makeJoinOn, rollbackDbTransaction, startDbTransaction, updateRow, vectorStoreSearch, vectorStoreSearchEntryExists, } from './database.js';
5
+ import { addRowForFullTextSearch, commitDbTransaction, DbContext, deleteFullTextSearchEntry, getAllConnected, getMany, getManyByJoin, hardDeleteRow, insertBetweenRow, insertRow, isPostgresStore, isVectorStoreSupported, makeJoinOn, rollbackDbTransaction, startDbTransaction, updateRow, vectorStoreSearch, vectorStoreSearchEntryExists, } from './database.js';
6
+ /** Postgres uses native array columns; other drivers store JSON text in varchar. */
7
+ function rowObjectForSqlPersistence(row, schema) {
8
+ if (isPostgresStore()) {
9
+ return row;
10
+ }
11
+ const o = Object.assign({}, row);
12
+ schema.forEach((spec, name) => {
13
+ if (!isArrayAttribute(spec))
14
+ return;
15
+ const v = o[name];
16
+ if (Array.isArray(v)) {
17
+ o[name] = JSON.stringify(v);
18
+ }
19
+ });
20
+ return o;
21
+ }
6
22
  import { DeletedFlagAttributeName, ParentAttributeName, PathAttributeName, TenantAttributeName, } from '../../defs.js';
7
23
  import { logger } from '../../logger.js';
8
24
  import { embeddingProvider } from '../../embeddings/registry.js';
@@ -132,7 +148,7 @@ export class SqlDbResolver extends Resolver {
132
148
  attrs.set(PathAttributeName, p);
133
149
  }
134
150
  const n = asTableReference(inst.moduleName, inst.name);
135
- const rowObj = inst.attributesWithStringifiedObjects();
151
+ const rowObj = rowObjectForSqlPersistence(inst.attributesWithStringifiedObjects(), inst.record.schema);
136
152
  await insertRow(n, rowObj, ctx, orUpdate);
137
153
  if (inst.record.getEmbeddingConfig() || inst.record.getFullTextSearchAttributes()) {
138
154
  const path = attrs.get(PathAttributeName);
@@ -186,7 +202,7 @@ export class SqlDbResolver extends Resolver {
186
202
  async updateInstance(inst, newAttrs) {
187
203
  const queryObj = Object.fromEntries(new Map().set(PathAttributeName, '='));
188
204
  const queryVals = Object.fromEntries(new Map().set(PathAttributeName, inst.attributes.get(PathAttributeName)));
189
- const updateObj = Instance.stringifyObjects(newAttrs);
205
+ const updateObj = rowObjectForSqlPersistence(Instance.stringifyObjects(newAttrs), inst.record.schema);
190
206
  await updateRow(asTableReference(inst.moduleName, inst.name), queryObj, queryVals, updateObj, this.getDbContext(inst.getFqName()));
191
207
  return Instance.clone(inst).mergeAttributes(newAttrs);
192
208
  }
@@ -1 +1 @@
1
- {"version":3,"file":"impl.js","sourceRoot":"","sources":["../../../../src/runtime/resolvers/sqldb/impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"impl.js","sourceRoot":"","sources":["../../../../src/runtime/resolvers/sqldb/impl.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agentlang.monarch.d.ts","sourceRoot":"","sources":["../../src/syntaxes/agentlang.monarch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wBA8BE"}
1
+ {"version":3,"file":"agentlang.monarch.d.ts","sourceRoot":"","sources":["../../src/syntaxes/agentlang.monarch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wBA+BE"}
@@ -13,6 +13,7 @@ export default {
13
13
  { regex: /[_a-zA-Z][\w_]*/, action: { cases: { '@keywords': { "token": "keyword" }, '@default': { "token": "string" } } } },
14
14
  { regex: /"(\\(?:[\s\S])|(?:(?!(\\|"|\r|\n))[\s\S]*?)|\r?\n)*"/, action: { "token": "string" } },
15
15
  { regex: /`(\\(?:[\s\S])|(?:(?!(\\|`|\r|\n))[\s\S]*?)|\r?\n)*`/, action: { "token": "string" } },
16
+ { regex: /-?(?:[0-9]+\.[0-9]*|[0-9]*\.[0-9]+)/, action: { "token": "number" } },
16
17
  { regex: /-?[0-9]+/, action: { "token": "number" } },
17
18
  { include: '@whitespace' },
18
19
  { regex: /@symbols/, action: { cases: { '@operators': { "token": "operator" }, '@default': { "token": "" } } } },
@@ -1 +1 @@
1
- {"version":3,"file":"agentlang.monarch.js","sourceRoot":"","sources":["../../src/syntaxes/agentlang.monarch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentlang.monarch.js","sourceRoot":"","sources":["../../src/syntaxes/agentlang.monarch.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.10.5",
4
+ "version": "0.10.7",
5
5
  "license": "Sustainable Use License",
6
6
  "author": "agentlang-ai",
7
7
  "homepage": "https://github.com/agentlang-ai/agentlang#readme",
package/src/cli/main.ts CHANGED
@@ -35,6 +35,7 @@ import {
35
35
  isRuntimeMode_prod,
36
36
  isRuntimeMode_test,
37
37
  setInternDynamicModuleFn,
38
+ setRuntimeMode_apply_migration,
38
39
  setRuntimeMode_generate_migration,
39
40
  setRuntimeMode_init_schema,
40
41
  setRuntimeMode_migration,
@@ -91,9 +92,16 @@ export default function (): void {
91
92
  .command('runMigrations')
92
93
  .argument('<file>', `source file (possible file extensions: ${fileExtensions})`)
93
94
  .option('-c, --config <config>', 'configuration file')
94
- .description('Automatically perform migration of the schema')
95
+ .description('Review pending migration changes (does not apply them)')
95
96
  .action(runMigrations);
96
97
 
98
+ program
99
+ .command('applyMigration')
100
+ .argument('<file>', `source file (possible file extensions: ${fileExtensions})`)
101
+ .option('-c, --config <config>', 'configuration file')
102
+ .description('Apply pending migration after review')
103
+ .action(applyMigration);
104
+
97
105
  program
98
106
  .command('undoLastMigration')
99
107
  .argument('<file>', `source file (possible file extensions: ${fileExtensions})`)
@@ -258,7 +266,7 @@ export const runModule = async (fileName: string, releaseDb: boolean = false): P
258
266
  }
259
267
  } finally {
260
268
  if (releaseDb === true) {
261
- resetDefaultDatabase();
269
+ await resetDefaultDatabase();
262
270
  }
263
271
  }
264
272
  };
@@ -273,6 +281,11 @@ async function runMigrations(fileName: string) {
273
281
  await runModule(fileName, true);
274
282
  }
275
283
 
284
+ async function applyMigration(fileName: string) {
285
+ setRuntimeMode_apply_migration();
286
+ await runModule(fileName, true);
287
+ }
288
+
276
289
  async function undoLastMigration(fileName: string) {
277
290
  setRuntimeMode_undo_migration();
278
291
  await runModule(fileName, true);
@@ -257,7 +257,8 @@ NotExpr: 'not' '(' ne=Expr ')';
257
257
 
258
258
  Boolean returns string: 'true' | 'false';
259
259
 
260
- Decimal returns number: INT | INT '.' INT;
260
+ // Single-terminal decimals so -0.5 is not split into INT(-0) '.' INT(5), which stringifies as "0.5" and drops the sign.
261
+ Decimal returns number: DECIMAL_NUMBER | INT;
261
262
 
262
263
  QueryId returns string: QualifiedName | QualifiedName '?';
263
264
 
@@ -281,6 +282,9 @@ terminal TICK_QUOTED_STRING returns string: '`' ( '\\' . | !('\\' | '`' | '\r'
281
282
 
282
283
  STRING returns string: QUOTED_STRING | TICK_QUOTED_STRING;
283
284
 
285
+ // Floats must lex before INT so -0.5 is one token (see Decimal).
286
+ terminal DECIMAL_NUMBER returns number: /-?(?:[0-9]+\.[0-9]*|[0-9]*\.[0-9]+)/;
287
+
284
288
  // recognize an Integer (but represented via a 'number' type)
285
289
  terminal INT returns number: /-?[0-9]+/;
286
290
 
@@ -737,6 +737,7 @@ function humanizeTokenName(token: string): string {
737
737
  ID: 'a name',
738
738
  NAME: 'a name',
739
739
  INT: 'a number',
740
+ DECIMAL_NUMBER: 'a decimal number',
740
741
  STRING: 'a string',
741
742
  QUOTED_STRING: 'a quoted string',
742
743
  TICK_QUOTED_STRING: 'a backtick-quoted string',
@@ -10,6 +10,7 @@ export const AgentlangTerminals = {
10
10
  ID: /(?:[_a-zA-Z][\w_]*)(\/(?:[_a-zA-Z][\w_]*))?/,
11
11
  QUOTED_STRING: /"(\\(?:[\s\S])|(?:(?!(\\|"|\r|\n))[\s\S]*?)|\r?\n)*"/,
12
12
  TICK_QUOTED_STRING: /`(\\(?:[\s\S])|(?:(?!(\\|`|\r|\n))[\s\S]*?)|\r?\n)*`/,
13
+ DECIMAL_NUMBER: /-?(?:[0-9]+\.[0-9]*|[0-9]*\.[0-9]+)/,
13
14
  INT: /-?[0-9]+/,
14
15
  WS: /\s+/,
15
16
  ML_COMMENT: /\/\*[\s\S]*?\*\//,
@@ -6989,27 +6989,11 @@ export const AgentlangGrammar = (): Grammar => loadedAgentlangGrammar ?? (loaded
6989
6989
  "arguments": []
6990
6990
  },
6991
6991
  {
6992
- "$type": "Group",
6993
- "elements": [
6994
- {
6995
- "$type": "RuleCall",
6996
- "rule": {
6997
- "$ref": "#/rules@135"
6998
- },
6999
- "arguments": []
7000
- },
7001
- {
7002
- "$type": "Keyword",
7003
- "value": "."
7004
- },
7005
- {
7006
- "$type": "RuleCall",
7007
- "rule": {
7008
- "$ref": "#/rules@135"
7009
- },
7010
- "arguments": []
7011
- }
7012
- ]
6992
+ "$type": "RuleCall",
6993
+ "rule": {
6994
+ "$ref": "#/rules@136"
6995
+ },
6996
+ "arguments": []
7013
6997
  }
7014
6998
  ]
7015
6999
  },
@@ -7541,6 +7525,21 @@ export const AgentlangGrammar = (): Grammar => loadedAgentlangGrammar ?? (loaded
7541
7525
  "fragment": false,
7542
7526
  "parameters": []
7543
7527
  },
7528
+ {
7529
+ "$type": "TerminalRule",
7530
+ "name": "DECIMAL_NUMBER",
7531
+ "type": {
7532
+ "$type": "ReturnType",
7533
+ "name": "number"
7534
+ },
7535
+ "definition": {
7536
+ "$type": "RegexToken",
7537
+ "regex": "/-?(?:[0-9]+\\\\.[0-9]*|[0-9]*\\\\.[0-9]+)/",
7538
+ "parenthesized": false
7539
+ },
7540
+ "fragment": false,
7541
+ "hidden": false
7542
+ },
7544
7543
  {
7545
7544
  "$type": "TerminalRule",
7546
7545
  "name": "INT",
@@ -200,6 +200,10 @@ The following usage is NOT valid:
200
200
  Also C-style ternary-expressions of the form \`condition ? consequent : alternative\` IS INVALID in Agentlang. Always use a proper
201
201
  \`if-else\` statement.
202
202
 
203
+ IMPORTANT: Agentlang does NOT support imperative variable declarations. Syntax like \`let x = 50;\`, \`const x = 50;\`, \`var x = 50;\` or any
204
+ assignment statement of the form \`name = value\` IS INVALID. To bind a value to a name, always use the \`@as\` alias syntax, e.g:
205
+ \`{SomeEntity {attr? value}} @as myAlias;\` or for literal values: \`50 @as baseScore;\`. There is no other way to introduce a named binding in Agentlang.
206
+
203
207
  A pattern may execute asynchronously and its eventual result can be handled by patterns provided in the '@then' clause. An example is shown below:
204
208
 
205
209
  {sendChatMessage {to "amy", "text" "hello"}} @as response @then {
@@ -451,6 +451,43 @@ export class CognitoAuth implements AgentlangAuth {
451
451
  }
452
452
  }
453
453
 
454
+ async userExistsInIdentityProvider(username: string, env: Environment): Promise<boolean> {
455
+ const email = username.toLowerCase();
456
+ const localUser = await findUserByEmail(email, env);
457
+ if (
458
+ localUser != null &&
459
+ localUser !== false &&
460
+ !(Array.isArray(localUser) && localUser.length === 0)
461
+ ) {
462
+ return true;
463
+ }
464
+
465
+ const poolId = this.config.get('UserPoolId');
466
+ if (!poolId || !isNodeEnv) {
467
+ return false;
468
+ }
469
+
470
+ try {
471
+ const client = new CognitoIdentityProviderClient({
472
+ region: process.env.AWS_REGION || 'us-west-2',
473
+ });
474
+ const command = new AdminGetUserCommand({
475
+ UserPoolId: poolId,
476
+ Username: email,
477
+ });
478
+ await client.send(command);
479
+ return true;
480
+ } catch (err: any) {
481
+ if (err.name === 'UserNotFoundException') {
482
+ return false;
483
+ }
484
+ logger.error(
485
+ `userExistsInIdentityProvider failed for ${email}: ${sanitizeErrorMessage(err.message)}`
486
+ );
487
+ throw err;
488
+ }
489
+ }
490
+
454
491
  async forgotPassword(username: string, _env: Environment): Promise<void> {
455
492
  try {
456
493
  const client = new CognitoIdentityProviderClient({
@@ -45,6 +45,8 @@ export interface AgentlangAuth {
45
45
  confirmSignup(username: string, confirmationCode: string, env: Environment): Promise<void>;
46
46
  resendConfirmationCode(username: string, env: Environment): Promise<void>;
47
47
  forgotPassword(username: string, env: Environment): Promise<void>;
48
+ /** True if the email exists locally (findUserByEmail) or in the identity provider (e.g. Cognito). */
49
+ userExistsInIdentityProvider(username: string, env: Environment): Promise<boolean>;
48
50
  confirmForgotPassword(
49
51
  username: string,
50
52
  confirmationCode: string,
@@ -361,6 +361,7 @@ enum RuntimeModeTag {
361
361
  TEST,
362
362
  INIT_SCHEMA,
363
363
  RUN_MIGRATION,
364
+ APPLY_MIGRATION,
364
365
  UNDO_MIGRATION,
365
366
  GENERATE_MIGRATION,
366
367
  }
@@ -387,6 +388,10 @@ export function setRuntimeMode_migration() {
387
388
  RuntimeMode = RuntimeModeTag.RUN_MIGRATION;
388
389
  }
389
390
 
391
+ export function setRuntimeMode_apply_migration() {
392
+ RuntimeMode = RuntimeModeTag.APPLY_MIGRATION;
393
+ }
394
+
390
395
  export function setRuntimeMode_undo_migration() {
391
396
  RuntimeMode = RuntimeModeTag.UNDO_MIGRATION;
392
397
  }
@@ -419,6 +424,10 @@ export function isRuntimeMode_generate_migration(): boolean {
419
424
  return RuntimeMode === RuntimeModeTag.GENERATE_MIGRATION;
420
425
  }
421
426
 
427
+ export function isRuntimeMode_apply_migration(): boolean {
428
+ return RuntimeMode === RuntimeModeTag.APPLY_MIGRATION;
429
+ }
430
+
422
431
  export function isRuntimeMode_undo_migration(): boolean {
423
432
  return RuntimeMode === RuntimeModeTag.UNDO_MIGRATION;
424
433
  }
@@ -61,6 +61,7 @@ import {
61
61
  import { JoinInfo, Resolver, WhereClause } from './resolvers/interface.js';
62
62
  import { ResolverAuthInfo } from './resolvers/authinfo.js';
63
63
  import { SqlDbResolver } from './resolvers/sqldb/impl.js';
64
+ import { ColumnRef } from './resolvers/sqldb/dbutil.js';
64
65
  import {
65
66
  CrudType,
66
67
  DefaultModuleName,
@@ -1476,6 +1477,29 @@ export type AggregateFunctionCall = {
1476
1477
  args: string[];
1477
1478
  };
1478
1479
 
1480
+ function getSelfColumnRef(expr: Expr, entityName: string, moduleName: string): string | undefined {
1481
+ if (!isLiteral(expr)) return undefined;
1482
+ const ref = (expr as Literal).ref;
1483
+ if (ref === undefined) return undefined;
1484
+ const slashIdx = ref.indexOf('/');
1485
+ let entityRef: string;
1486
+ if (slashIdx > 0) {
1487
+ // Fully-qualified ref like "LeadAssignment.core/SalesRep.MaxLeadCapacity"
1488
+ const refModule = ref.substring(0, slashIdx);
1489
+ entityRef = ref.substring(slashIdx + 1);
1490
+ if (refModule !== moduleName) return undefined;
1491
+ } else {
1492
+ entityRef = ref;
1493
+ }
1494
+ const dotIdx = entityRef.indexOf('.');
1495
+ if (dotIdx < 0) return undefined;
1496
+ const entityPart = entityRef.substring(0, dotIdx);
1497
+ if (entityPart === entityName) {
1498
+ return ref;
1499
+ }
1500
+ return undefined;
1501
+ }
1502
+
1479
1503
  async function patternToInstance(
1480
1504
  entryName: string,
1481
1505
  attributes: SetAttribute[] | undefined,
@@ -1489,12 +1513,16 @@ async function patternToInstance(
1489
1513
  if (isQueryAll) {
1490
1514
  entryName = entryName.slice(0, entryName.length - 1);
1491
1515
  }
1516
+ let moduleName = env.getActiveModuleName();
1517
+ if (isFqName(entryName)) {
1518
+ const p: Path = nameToPath(entryName);
1519
+ if (p.hasModule()) moduleName = p.getModuleName();
1520
+ if (p.hasEntry()) entryName = p.getEntryName();
1521
+ }
1492
1522
  if (attributes) {
1493
1523
  for (let i = 0; i < attributes.length; ++i) {
1494
1524
  const a: SetAttribute = attributes[i];
1495
1525
  if (a.value !== undefined) {
1496
- await evaluateExpression(a.value, env);
1497
- const v: Result = env.getLastResult();
1498
1526
  let aname: string = a.name;
1499
1527
  if (aname.endsWith(QuerySuffix)) {
1500
1528
  if (isQueryAll) {
@@ -1504,9 +1532,16 @@ async function patternToInstance(
1504
1532
  if (qattrVals === undefined) qattrVals = newInstanceAttributes();
1505
1533
  aname = aname.slice(0, aname.length - 1);
1506
1534
  qattrs.set(aname, a.op === undefined ? '=' : a.op);
1507
- qattrVals.set(aname, v);
1535
+ const selfRef = getSelfColumnRef(a.value, entryName, moduleName);
1536
+ if (selfRef !== undefined) {
1537
+ qattrVals.set(aname, new ColumnRef(selfRef));
1538
+ } else {
1539
+ await evaluateExpression(a.value, env);
1540
+ qattrVals.set(aname, env.getLastResult());
1541
+ }
1508
1542
  } else {
1509
- attrs.set(aname, v);
1543
+ await evaluateExpression(a.value, env);
1544
+ attrs.set(aname, env.getLastResult());
1510
1545
  }
1511
1546
  } else if (a.aggregate !== undefined) {
1512
1547
  if (aggregates === undefined) aggregates = new Map<string, AggregateFunctionCall>();
@@ -1514,12 +1549,6 @@ async function patternToInstance(
1514
1549
  }
1515
1550
  }
1516
1551
  }
1517
- let moduleName = env.getActiveModuleName();
1518
- if (isFqName(entryName)) {
1519
- const p: Path = nameToPath(entryName);
1520
- if (p.hasModule()) moduleName = p.getModuleName();
1521
- if (p.hasEntry()) entryName = p.getEntryName();
1522
- }
1523
1552
  const inst = makeInstance(moduleName, entryName, attrs, qattrs, qattrVals, isQueryAll);
1524
1553
  if (aggregates !== undefined) {
1525
1554
  return inst.setAggregates(aggregates);
@@ -1831,7 +1860,10 @@ async function evaluateCrudMap(crud: CrudMap, env: Environment): Promise<void> {
1831
1860
  } else {
1832
1861
  const res: Resolver = await getResolverForPath(lastRes.name, lastRes.moduleName, env);
1833
1862
  await computeExprAttributes(lastRes, crud.body?.attributes, attrs, env);
1834
- await runPreUpdateEvents(lastRes, env);
1863
+ const mergedAttrsForHook = newInstanceAttributes();
1864
+ lastRes.attributes.forEach((v: any, k: string) => mergedAttrsForHook.set(k, v));
1865
+ attrs.forEach((v: any, k: string) => mergedAttrsForHook.set(k, v));
1866
+ await runPreUpdateEvents(Instance.newWithAttributes(lastRes, mergedAttrsForHook), env);
1835
1867
  const finalInst: Instance = await res.updateInstance(lastRes, attrs);
1836
1868
  await runPostUpdateEvents(finalInst, lastRes, env);
1837
1869
  env.setLastResult([finalInst]);
@@ -3839,14 +3839,37 @@ export class Instance {
3839
3839
  normalizeAttributes(attrs: InstanceAttributes): InstanceAttributes {
3840
3840
  attrs.forEach((v: any, k: string) => {
3841
3841
  const attrSpec = this.record.schema.get(k);
3842
- if (attrSpec) {
3843
- const isstr = isString(v);
3844
- if (isNumericAttribute(attrSpec) && isstr) {
3845
- attrs.set(k, Number(v));
3846
- } else if ((isArrayAttribute(attrSpec) || isObjectAttribute(attrSpec)) && isstr) {
3847
- const obj: any = JSON.parse(v);
3848
- attrs.set(k, obj);
3849
- }
3842
+ if (!attrSpec) {
3843
+ return;
3844
+ }
3845
+
3846
+ let next = v;
3847
+
3848
+ if (isString(next) && (isArrayAttribute(attrSpec) || isObjectAttribute(attrSpec))) {
3849
+ next = JSON.parse(next);
3850
+ }
3851
+
3852
+ // Array of record/object (e.g. RangeSettings[]): drivers may return each element as a JSON string.
3853
+ if (isArrayAttribute(attrSpec) && isObjectAttribute(attrSpec) && Array.isArray(next)) {
3854
+ next = next.map((elem: any) => {
3855
+ if (isString(elem)) {
3856
+ const t = elem.trim();
3857
+ if (t.startsWith('{') || t.startsWith('[')) {
3858
+ try {
3859
+ return JSON.parse(elem);
3860
+ } catch {
3861
+ return elem;
3862
+ }
3863
+ }
3864
+ }
3865
+ return elem;
3866
+ });
3867
+ }
3868
+
3869
+ if (isNumericAttribute(attrSpec) && isString(v) && !isArrayAttribute(attrSpec)) {
3870
+ attrs.set(k, Number(v));
3871
+ } else {
3872
+ attrs.set(k, next);
3850
3873
  }
3851
3874
  });
3852
3875
  return attrs;
@@ -3998,7 +4021,9 @@ export class Instance {
3998
4021
  static stringifyObjects(attributes: InstanceAttributes): object {
3999
4022
  const attrs = newInstanceAttributes();
4000
4023
  attributes.forEach((v: any, k: string) => {
4001
- if (v instanceof Object) {
4024
+ if (Array.isArray(v)) {
4025
+ attrs.set(k, v);
4026
+ } else if (v instanceof Object) {
4002
4027
  attrs.set(k, JSON.stringify(v instanceof Map ? Object.fromEntries(v) : v));
4003
4028
  } else {
4004
4029
  attrs.set(k, v);
@@ -147,7 +147,7 @@ entity ${AgentEntityName} {
147
147
  documents String @optional, // comma-separated list of document names
148
148
  channels String @optional, // comma-separated list of channel names
149
149
  goal String @optional,
150
- role String,
150
+ role String @optional,
151
151
  flows String @optional,
152
152
  validate String @optional,
153
153
  retry String @optional,
@@ -377,7 +377,7 @@ export class AgentInstance {
377
377
  channels: string | undefined;
378
378
  runWorkflows: boolean = true;
379
379
  goal: string | undefined;
380
- role: string = '';
380
+ role: string | undefined;
381
381
  flows: string | undefined;
382
382
  validate: string | undefined;
383
383
  retry: string | undefined;
@@ -1108,7 +1108,12 @@ export async function resendConfirmationCodeUser(
1108
1108
 
1109
1109
  export async function forgotPasswordUser(username: string, env: Environment): Promise<Result> {
1110
1110
  try {
1111
- await fetchAuthImpl().forgotPassword(username.toLowerCase(), env);
1111
+ const email = username.toLowerCase();
1112
+ const allowed = await fetchAuthImpl().userExistsInIdentityProvider(email, env);
1113
+ if (!allowed) {
1114
+ throw new UserNotFoundError('Email not registered');
1115
+ }
1116
+ await fetchAuthImpl().forgotPassword(email, env);
1112
1117
  return { status: 'ok', message: 'Password reset code sent' };
1113
1118
  } catch (err: any) {
1114
1119
  logger.error(`Forgot password failed for ${username}: ${err.message}`);