agentlang 0.10.2 → 0.10.3

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 (145) hide show
  1. package/README.md +7 -14
  2. package/out/api/http.d.ts +4 -0
  3. package/out/api/http.d.ts.map +1 -1
  4. package/out/api/http.js +171 -26
  5. package/out/api/http.js.map +1 -1
  6. package/out/cli/main.d.ts.map +1 -1
  7. package/out/cli/main.js +3 -0
  8. package/out/cli/main.js.map +1 -1
  9. package/out/extension/main.cjs +250 -250
  10. package/out/extension/main.cjs.map +2 -2
  11. package/out/language/agentlang-validator.d.ts.map +1 -1
  12. package/out/language/agentlang-validator.js +4 -0
  13. package/out/language/agentlang-validator.js.map +1 -1
  14. package/out/language/error-reporter.d.ts +53 -0
  15. package/out/language/error-reporter.d.ts.map +1 -0
  16. package/out/language/error-reporter.js +879 -0
  17. package/out/language/error-reporter.js.map +1 -0
  18. package/out/language/generated/ast.d.ts +51 -1
  19. package/out/language/generated/ast.d.ts.map +1 -1
  20. package/out/language/generated/ast.js +40 -0
  21. package/out/language/generated/ast.js.map +1 -1
  22. package/out/language/generated/grammar.d.ts.map +1 -1
  23. package/out/language/generated/grammar.js +286 -190
  24. package/out/language/generated/grammar.js.map +1 -1
  25. package/out/language/main.cjs +828 -694
  26. package/out/language/main.cjs.map +3 -3
  27. package/out/language/parser.d.ts +4 -2
  28. package/out/language/parser.d.ts.map +1 -1
  29. package/out/language/parser.js +30 -97
  30. package/out/language/parser.js.map +1 -1
  31. package/out/language/syntax.d.ts +2 -0
  32. package/out/language/syntax.d.ts.map +1 -1
  33. package/out/language/syntax.js +6 -0
  34. package/out/language/syntax.js.map +1 -1
  35. package/out/runtime/api.d.ts.map +1 -1
  36. package/out/runtime/api.js +22 -0
  37. package/out/runtime/api.js.map +1 -1
  38. package/out/runtime/defs.d.ts +1 -0
  39. package/out/runtime/defs.d.ts.map +1 -1
  40. package/out/runtime/defs.js +2 -1
  41. package/out/runtime/defs.js.map +1 -1
  42. package/out/runtime/document-retriever.d.ts +24 -0
  43. package/out/runtime/document-retriever.d.ts.map +1 -0
  44. package/out/runtime/document-retriever.js +258 -0
  45. package/out/runtime/document-retriever.js.map +1 -0
  46. package/out/runtime/embeddings/chunker.d.ts +18 -0
  47. package/out/runtime/embeddings/chunker.d.ts.map +1 -1
  48. package/out/runtime/embeddings/chunker.js +47 -15
  49. package/out/runtime/embeddings/chunker.js.map +1 -1
  50. package/out/runtime/embeddings/openai.d.ts.map +1 -1
  51. package/out/runtime/embeddings/openai.js +22 -9
  52. package/out/runtime/embeddings/openai.js.map +1 -1
  53. package/out/runtime/embeddings/provider.d.ts +1 -0
  54. package/out/runtime/embeddings/provider.d.ts.map +1 -1
  55. package/out/runtime/embeddings/provider.js +20 -1
  56. package/out/runtime/embeddings/provider.js.map +1 -1
  57. package/out/runtime/integration-client.d.ts +21 -0
  58. package/out/runtime/integration-client.d.ts.map +1 -0
  59. package/out/runtime/integration-client.js +112 -0
  60. package/out/runtime/integration-client.js.map +1 -0
  61. package/out/runtime/integrations.d.ts.map +1 -1
  62. package/out/runtime/integrations.js +20 -9
  63. package/out/runtime/integrations.js.map +1 -1
  64. package/out/runtime/interpreter.d.ts +1 -0
  65. package/out/runtime/interpreter.d.ts.map +1 -1
  66. package/out/runtime/interpreter.js +152 -17
  67. package/out/runtime/interpreter.js.map +1 -1
  68. package/out/runtime/loader.d.ts.map +1 -1
  69. package/out/runtime/loader.js +70 -7
  70. package/out/runtime/loader.js.map +1 -1
  71. package/out/runtime/logger.d.ts.map +1 -1
  72. package/out/runtime/logger.js +8 -1
  73. package/out/runtime/logger.js.map +1 -1
  74. package/out/runtime/module.d.ts +10 -0
  75. package/out/runtime/module.d.ts.map +1 -1
  76. package/out/runtime/module.js +68 -3
  77. package/out/runtime/module.js.map +1 -1
  78. package/out/runtime/modules/ai.d.ts +9 -2
  79. package/out/runtime/modules/ai.d.ts.map +1 -1
  80. package/out/runtime/modules/ai.js +219 -67
  81. package/out/runtime/modules/ai.js.map +1 -1
  82. package/out/runtime/resolvers/interface.d.ts +4 -0
  83. package/out/runtime/resolvers/interface.d.ts.map +1 -1
  84. package/out/runtime/resolvers/interface.js +14 -1
  85. package/out/runtime/resolvers/interface.js.map +1 -1
  86. package/out/runtime/resolvers/sqldb/database.d.ts +2 -0
  87. package/out/runtime/resolvers/sqldb/database.d.ts.map +1 -1
  88. package/out/runtime/resolvers/sqldb/database.js +142 -126
  89. package/out/runtime/resolvers/sqldb/database.js.map +1 -1
  90. package/out/runtime/resolvers/sqldb/dbutil.d.ts.map +1 -1
  91. package/out/runtime/resolvers/sqldb/dbutil.js +8 -0
  92. package/out/runtime/resolvers/sqldb/dbutil.js.map +1 -1
  93. package/out/runtime/resolvers/sqldb/impl.d.ts +1 -0
  94. package/out/runtime/resolvers/sqldb/impl.d.ts.map +1 -1
  95. package/out/runtime/resolvers/sqldb/impl.js +7 -0
  96. package/out/runtime/resolvers/sqldb/impl.js.map +1 -1
  97. package/out/runtime/resolvers/vector/lancedb-store.d.ts +16 -0
  98. package/out/runtime/resolvers/vector/lancedb-store.d.ts.map +1 -0
  99. package/out/runtime/resolvers/vector/lancedb-store.js +159 -0
  100. package/out/runtime/resolvers/vector/lancedb-store.js.map +1 -0
  101. package/out/runtime/resolvers/vector/types.d.ts +32 -0
  102. package/out/runtime/resolvers/vector/types.d.ts.map +1 -0
  103. package/out/runtime/resolvers/vector/types.js +2 -0
  104. package/out/runtime/resolvers/vector/types.js.map +1 -0
  105. package/out/runtime/services/documentFetcher.d.ts.map +1 -1
  106. package/out/runtime/services/documentFetcher.js +21 -6
  107. package/out/runtime/services/documentFetcher.js.map +1 -1
  108. package/out/runtime/state.d.ts +19 -1
  109. package/out/runtime/state.d.ts.map +1 -1
  110. package/out/runtime/state.js +36 -1
  111. package/out/runtime/state.js.map +1 -1
  112. package/out/syntaxes/agentlang.monarch.js +1 -1
  113. package/out/syntaxes/agentlang.monarch.js.map +1 -1
  114. package/package.json +19 -19
  115. package/src/api/http.ts +197 -37
  116. package/src/cli/main.ts +3 -0
  117. package/src/language/agentlang-validator.ts +3 -0
  118. package/src/language/agentlang.langium +3 -1
  119. package/src/language/error-reporter.ts +1028 -0
  120. package/src/language/generated/ast.ts +62 -0
  121. package/src/language/generated/grammar.ts +286 -190
  122. package/src/language/parser.ts +31 -100
  123. package/src/language/syntax.ts +8 -0
  124. package/src/runtime/api.ts +31 -0
  125. package/src/runtime/defs.ts +2 -1
  126. package/src/runtime/document-retriever.ts +311 -0
  127. package/src/runtime/embeddings/chunker.ts +52 -14
  128. package/src/runtime/embeddings/openai.ts +27 -9
  129. package/src/runtime/embeddings/provider.ts +22 -1
  130. package/src/runtime/integration-client.ts +158 -0
  131. package/src/runtime/integrations.ts +20 -11
  132. package/src/runtime/interpreter.ts +142 -12
  133. package/src/runtime/loader.ts +83 -5
  134. package/src/runtime/logger.ts +12 -1
  135. package/src/runtime/module.ts +78 -3
  136. package/src/runtime/modules/ai.ts +263 -76
  137. package/src/runtime/resolvers/interface.ts +19 -1
  138. package/src/runtime/resolvers/sqldb/database.ts +158 -130
  139. package/src/runtime/resolvers/sqldb/dbutil.ts +8 -0
  140. package/src/runtime/resolvers/sqldb/impl.ts +8 -0
  141. package/src/runtime/resolvers/vector/lancedb-store.ts +187 -0
  142. package/src/runtime/resolvers/vector/types.ts +39 -0
  143. package/src/runtime/services/documentFetcher.ts +21 -6
  144. package/src/runtime/state.ts +40 -1
  145. package/src/syntaxes/agentlang.monarch.ts +1 -1
@@ -0,0 +1,112 @@
1
+ let host;
2
+ let headers;
3
+ export function configureIntegrationClient(h, hdrs) {
4
+ host = h;
5
+ headers = hdrs;
6
+ }
7
+ export function isIntegrationClientConfigured() {
8
+ return host !== undefined;
9
+ }
10
+ export async function getIntegrationAuthHeaders(integrationName) {
11
+ var _a;
12
+ if (!host) {
13
+ throw new Error('Integration client not configured — call configureIntegrationClient() first');
14
+ }
15
+ const url = `${host}/integmanager.auth/authHeaders/${encodeURIComponent(integrationName)}`;
16
+ const response = await fetch(url, {
17
+ method: 'GET',
18
+ headers: Object.assign({ 'Content-Type': 'application/json' }, headers),
19
+ });
20
+ if (!response.ok) {
21
+ throw new Error(`Failed to get auth headers for integration "${integrationName}": ${response.status} ${response.statusText}`);
22
+ }
23
+ const data = await response.json();
24
+ // The response is either the entity directly or wrapped in an array
25
+ const result = Array.isArray(data) ? data[0] : data;
26
+ return (_a = result === null || result === void 0 ? void 0 : result.headers) !== null && _a !== void 0 ? _a : {};
27
+ }
28
+ export async function refreshIntegrationAuth(integrationName) {
29
+ if (!host) {
30
+ throw new Error('Integration client not configured — call configureIntegrationClient() first');
31
+ }
32
+ const url = `${host}/integmanager.auth/authRefresh`;
33
+ const response = await fetch(url, {
34
+ method: 'POST',
35
+ headers: Object.assign({ 'Content-Type': 'application/json' }, headers),
36
+ body: JSON.stringify({ integrationName }),
37
+ });
38
+ if (!response.ok) {
39
+ throw new Error(`Failed to refresh auth for integration "${integrationName}": ${response.status} ${response.statusText}`);
40
+ }
41
+ }
42
+ export async function integrationAuthFetch(integrationName, url, options = {}) {
43
+ const authHeaders = await getIntegrationAuthHeaders(integrationName);
44
+ const mergedHeaders = Object.assign(Object.assign({}, authHeaders), (options.headers || {}));
45
+ return fetch(url, Object.assign(Object.assign({}, options), { headers: mergedHeaders }));
46
+ }
47
+ // --- OAuth consent flow helpers ---
48
+ export async function getOAuthAuthorizeUrl(integrationName, redirectUri) {
49
+ if (!host) {
50
+ throw new Error('Integration client not configured — call configureIntegrationClient() first');
51
+ }
52
+ const params = new URLSearchParams({
53
+ action: 'authorize',
54
+ integrationName,
55
+ redirectUri,
56
+ });
57
+ const url = `${host}/integmanager.auth/oauthFlow?${params.toString()}`;
58
+ const response = await fetch(url, {
59
+ method: 'GET',
60
+ headers: Object.assign({ 'Content-Type': 'application/json' }, headers),
61
+ });
62
+ if (!response.ok) {
63
+ throw new Error(`Failed to get OAuth authorize URL for "${integrationName}": ${response.status} ${response.statusText}`);
64
+ }
65
+ const data = await response.json();
66
+ const result = Array.isArray(data) ? data[0] : data;
67
+ return { authorizationUrl: result.authorizationUrl, state: result.state };
68
+ }
69
+ export async function exchangeOAuthCode(integrationName, code, state) {
70
+ if (!host) {
71
+ throw new Error('Integration client not configured — call configureIntegrationClient() first');
72
+ }
73
+ const url = `${host}/integmanager.auth/oauthFlow`;
74
+ const response = await fetch(url, {
75
+ method: 'POST',
76
+ headers: Object.assign({ 'Content-Type': 'application/json' }, headers),
77
+ body: JSON.stringify({ action: 'exchange', integrationName, code, state }),
78
+ });
79
+ if (!response.ok) {
80
+ throw new Error(`Failed to exchange OAuth code for "${integrationName}": ${response.status} ${response.statusText}`);
81
+ }
82
+ const data = await response.json();
83
+ const result = Array.isArray(data) ? data[0] : data;
84
+ return {
85
+ accessToken: result.accessToken,
86
+ refreshToken: result.refreshToken,
87
+ expiresIn: result.expiresIn,
88
+ tokenType: result.tokenType,
89
+ };
90
+ }
91
+ export async function getIntegrationAccessToken(integrationName) {
92
+ if (!host) {
93
+ throw new Error('Integration client not configured — call configureIntegrationClient() first');
94
+ }
95
+ const params = new URLSearchParams({ integrationName });
96
+ const url = `${host}/integmanager.auth/oauthToken?${params.toString()}`;
97
+ const response = await fetch(url, {
98
+ method: 'GET',
99
+ headers: Object.assign({ 'Content-Type': 'application/json' }, headers),
100
+ });
101
+ if (!response.ok) {
102
+ throw new Error(`Failed to get access token for "${integrationName}": ${response.status} ${response.statusText}`);
103
+ }
104
+ const data = await response.json();
105
+ const result = Array.isArray(data) ? data[0] : data;
106
+ return {
107
+ accessToken: result.accessToken,
108
+ expiresIn: result.expiresIn,
109
+ tokenType: result.tokenType,
110
+ };
111
+ }
112
+ //# sourceMappingURL=integration-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration-client.js","sourceRoot":"","sources":["../../src/runtime/integration-client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"integrations.d.ts","sourceRoot":"","sources":["../../src/runtime/integrations.ts"],"names":[],"mappings":"AAOA,wBAAsB,mBAAmB,CACvC,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,cAAc,EAAE,MAAM,iBAsCvB;AAwCD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,GAAG,CAO1E"}
1
+ {"version":3,"file":"integrations.d.ts","sourceRoot":"","sources":["../../src/runtime/integrations.ts"],"names":[],"mappings":"AAMA,wBAAsB,mBAAmB,CACvC,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,cAAc,EAAE,MAAM,iBAoCvB;AAwCD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,GAAG,CAmB1E"}
@@ -7,7 +7,8 @@ export async function prepareIntegrations(integManagerHost, username, password,
7
7
  const keys = [...integConfig.keys()];
8
8
  for (let i = 0; i < keys.length; ++i) {
9
9
  const configName = keys[i];
10
- const configPath = integConfig.get(configName);
10
+ const entry = integConfig.get(configName);
11
+ const configPath = typeof entry === 'string' ? entry : entry === null || entry === void 0 ? void 0 : entry.config;
11
12
  if (configPath) {
12
13
  const apiUrl = mkApiUrl(integManagerHost, configPath);
13
14
  try {
@@ -22,9 +23,6 @@ export async function prepareIntegrations(integManagerHost, username, password,
22
23
  const data = await response.json();
23
24
  if (data.length > 0) {
24
25
  const inst = data[0].config;
25
- if (inst.type == 'custom' && isString(inst.parameter)) {
26
- inst.parameter = new Map(Object.entries(JSON.parse(inst.parameter)));
27
- }
28
26
  Integrations.set(configName, inst);
29
27
  }
30
28
  else {
@@ -64,15 +62,28 @@ function mkApiUrl(integManagerHost, configPath) {
64
62
  const parts = configPath.split('/');
65
63
  const integId = parts[0];
66
64
  const configId = parts[1];
67
- return `${integManagerHost}/${IntegManagerModel}/integration/${integId}/integrationConfig/config/${configId}`;
65
+ return `${integManagerHost}/${IntegManagerModel}/integration/${integId}/integrationConfig/config/${configId}?tree=true`;
68
66
  }
69
67
  export function getIntegrationConfig(name, configName) {
70
68
  const config = Integrations.get(name);
71
- if (config) {
72
- return config.parameter.get(configName);
73
- }
74
- else {
69
+ if (!config)
75
70
  return undefined;
71
+ if (config.parameter == null)
72
+ return undefined;
73
+ if (config.parameter instanceof Map) {
74
+ return Object.fromEntries(config.parameter).get(configName);
75
+ }
76
+ if (isString(config.parameter)) {
77
+ try {
78
+ return JSON.parse(config.parameter)[configName];
79
+ }
80
+ catch (_a) {
81
+ return undefined;
82
+ }
83
+ }
84
+ if (typeof config.parameter === 'object') {
85
+ return config.parameter[configName];
76
86
  }
87
+ return undefined;
77
88
  }
78
89
  //# sourceMappingURL=integrations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"integrations.js","sourceRoot":"","sources":["../../src/runtime/integrations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integrations.js","sourceRoot":"","sources":["../../src/runtime/integrations.ts"],"names":[],"mappings":"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"}
@@ -191,6 +191,7 @@ export declare function restartFlow(flowContext: string[], userData: string, env
191
191
  export declare function handleOpenApiEvent(eventInst: Instance, env: Environment): Promise<void>;
192
192
  export declare function maybeDeleteQueriedInstances(queryEnv: Environment, env: Environment, purge?: boolean): Promise<void>;
193
193
  export declare function evaluateExpression(expr: Expr, env: Environment): Promise<void>;
194
+ export declare function extractRefsFromExpr(expr: Expr): string[];
194
195
  export declare function callPostEventOnSubscription(crudType: CrudType, inst: Instance, env?: Environment): Promise<any>;
195
196
  export declare function runPostCreateEvents(inst: Instance, env: Environment): Promise<void>;
196
197
  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":"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"}
1
+ {"version":3,"file":"interpreter.d.ts","sourceRoot":"","sources":["../../src/runtime/interpreter.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  import { isBinExpr, isGroup, isLiteral, isNegExpr, isNotExpr, isReturn, } from '../language/generated/ast.js';
2
- import { Agent, defineAgentEvent, getOneOfRef, getRelationship, getWorkflow, Instance, isAgentEventInstance, isBetweenRelationship, isContainsRelationship, isEmptyWorkflow, isEntityInstance, isEventInstance, isInstanceOfType, isOneToOneBetweenRelationship, isTimer, makeInstance, maybeInstanceAsString, newInstanceAttributes, PlaceholderRecordEntry, setMetaAttributes, } from './module.js';
2
+ import { Agent, defineAgentEvent, getOneOfRef, getRelationship, getWorkflow, Instance, isAgentEventInstance, isBetweenRelationship, isContainsRelationship, isEmptyWorkflow, isEntityInstance, isEventInstance, isInstanceOfType, getAllBetweenRelationshipsForEntity, isOneToOneBetweenRelationship, isTimer, makeInstance, maybeInstanceAsString, newInstanceAttributes, PlaceholderRecordEntry, setMetaAttributes, } from './module.js';
3
3
  import { Resolver } from './resolvers/interface.js';
4
4
  import { ResolverAuthInfo } from './resolvers/authinfo.js';
5
5
  import { SqlDbResolver } from './resolvers/sqldb/impl.js';
6
- import { CrudType, DefaultModuleName, escapeFqName, escapeQueryName, fqNameFromPath, isCoreModule, isFqName, isPath, isString, makeCoreModuleName, makeFqName, nameToPath, preprocessRawConfig, QuerySuffix, restoreSpecialChars, splitRefs, } from './util.js';
6
+ import { CrudType, DefaultModuleName, escapeFqName, escapeQueryName, firstAliasSpec, fqNameFromPath, isCoreModule, isFqName, isPath, isString, makeCoreModuleName, makeFqName, nameToPath, preprocessRawConfig, QuerySuffix, restoreSpecialChars, splitFqName, splitRefs, } from './util.js';
7
7
  import { getResolver, getResolverNameForPath } from './resolvers/registry.js';
8
8
  import { extractQueryOptions, parseStatement, parseWorkflow, } from '../language/parser.js';
9
9
  import { AdminSession, AdminUserId } from './auth/defs.js';
10
- import { AgentEntityName, AgentFqName, AgentInstance, findAgentByName, normalizeGeneratedCode, saveFlowStepResult, } from './modules/ai.js';
10
+ import { AgentCancelledException, AgentEntityName, AgentFqName, AgentInstance, checkCancelled, clearCancellation, findAgentByName, normalizeGeneratedCode, saveFlowStepResult, } from './modules/ai.js';
11
11
  import { logger } from './logger.js';
12
12
  import { FlowSuspensionTag, ParentAttributeName, PathAttributeName, PathAttributeNameQuery, } from './defs.js';
13
13
  import { addCreateAudit, addDeleteAudit, addUpdateAudit, createSuspension, flushMonitoringData, triggerTimer, } from './modules/core.js';
@@ -865,10 +865,11 @@ export async function evaluateStatement(stmt, env) {
865
865
  handlersPushed = env.pushHandlers(handlers);
866
866
  }
867
867
  await evaluatePattern(stmt.pattern, env);
868
+ let skipOuterAlias = false;
868
869
  if (hasHints) {
869
- await maybeHandleEmpty(hints, env);
870
+ skipOuterAlias = await maybeHandleEmpty(hints, env);
870
871
  }
871
- if (hasHints) {
872
+ if (hasHints && !skipOuterAlias) {
872
873
  maybeBindStatementResultToAlias(hints, env);
873
874
  }
874
875
  await maybeHandleNotFound(handlers, env);
@@ -905,10 +906,17 @@ async function maybeHandleEmpty(hints, env) {
905
906
  const newEnv = new Environment('empty-env', env).unsetEventExecutor();
906
907
  await evaluateStatement(rh.emptySpec.stmt, newEnv);
907
908
  env.setLastResult(newEnv.getLastResult());
909
+ // If inner statement has its own @as, propagate binding to parent env
910
+ const innerAlias = firstAliasSpec(rh.emptySpec.stmt);
911
+ if (innerAlias) {
912
+ maybeBindStatementResultToAlias(rh.emptySpec.stmt.hints, env);
913
+ return true; // signal: skip outer @as
914
+ }
908
915
  break;
909
916
  }
910
917
  }
911
918
  }
919
+ return false;
912
920
  }
913
921
  async function maybeHandleError(handlers, reason, env) {
914
922
  const handler = handlers ? handlers.get('error') : undefined;
@@ -1276,9 +1284,15 @@ function maybeSetQueryClauses(inst, qopts) {
1276
1284
  if (qopts.orderByClause) {
1277
1285
  inst.setOrderBy(qopts.orderByClause.colNames, qopts.orderByClause.order === '@desc');
1278
1286
  }
1287
+ if (qopts.limitClause) {
1288
+ inst.setLimit(qopts.limitClause.value);
1289
+ }
1290
+ if (qopts.offsetClause) {
1291
+ inst.setOffset(qopts.offsetClause.value);
1292
+ }
1279
1293
  }
1280
1294
  async function evaluateCrudMap(crud, env) {
1281
- var _a, _b, _c;
1295
+ var _a, _b, _c, _d;
1282
1296
  const qopts = extractQueryOptions(crud);
1283
1297
  if (!env.isInUpsertMode() && qopts.upsert !== undefined) {
1284
1298
  return await evaluateUpsert(crud, env);
@@ -1322,7 +1336,7 @@ async function evaluateCrudMap(crud, env) {
1322
1336
  }
1323
1337
  const res = await getResolverForPath(entryName, moduleName, env);
1324
1338
  let r;
1325
- await computeExprAttributes(inst, undefined, undefined, env);
1339
+ await computeExprAttributes(inst, (_b = crud.body) === null || _b === void 0 ? void 0 : _b.attributes, inst.attributes, env);
1326
1340
  await setMetaAttributes(inst.attributes, env);
1327
1341
  if (env.isInUpsertMode()) {
1328
1342
  await runPreUpdateEvents(inst, env);
@@ -1449,7 +1463,7 @@ async function evaluateCrudMap(crud, env) {
1449
1463
  const resolver = await getResolverForPath(lastRes[0].name, lastRes[0].moduleName, env);
1450
1464
  const res = new Array();
1451
1465
  for (let i = 0; i < lastRes.length; ++i) {
1452
- await computeExprAttributes(lastRes[i], (_b = crud.body) === null || _b === void 0 ? void 0 : _b.attributes, attrs, env);
1466
+ await computeExprAttributes(lastRes[i], (_c = crud.body) === null || _c === void 0 ? void 0 : _c.attributes, attrs, env);
1453
1467
  env.attributes.set('__patch', attrs);
1454
1468
  await runPreUpdateEvents(lastRes[i], env);
1455
1469
  await setMetaAttributes(attrs, env, true);
@@ -1465,7 +1479,7 @@ async function evaluateCrudMap(crud, env) {
1465
1479
  }
1466
1480
  else {
1467
1481
  const res = await getResolverForPath(lastRes.name, lastRes.moduleName, env);
1468
- await computeExprAttributes(lastRes, (_c = crud.body) === null || _c === void 0 ? void 0 : _c.attributes, attrs, env);
1482
+ await computeExprAttributes(lastRes, (_d = crud.body) === null || _d === void 0 ? void 0 : _d.attributes, attrs, env);
1469
1483
  await runPreUpdateEvents(lastRes, env);
1470
1484
  const finalInst = await res.updateInstance(lastRes, attrs);
1471
1485
  await runPostUpdateEvents(finalInst, lastRes, env);
@@ -1568,24 +1582,103 @@ async function computeExprAttributes(inst, origAttrs, updatedAttrs, env) {
1568
1582
  if (v !== undefined)
1569
1583
  newEnv.bind(k, v);
1570
1584
  });
1585
+ // Bind related instances from between-relationships so that @expr references
1586
+ // like DeptEmployee.Department.BudgetMultiplier can be resolved via followReference.
1587
+ const entityFqName = inst.getFqName();
1588
+ const fqParts = splitFqName(entityFqName);
1589
+ const rels = getAllBetweenRelationshipsForEntity(fqParts[0], fqParts[1]);
1590
+ for (const rel of rels) {
1591
+ const isFirst = rel.isFirstNodeName(entityFqName);
1592
+ // Only bind if this entity is on a valid side for single-entity resolution
1593
+ if (rel.isManyToMany())
1594
+ continue;
1595
+ if (rel.isOneToMany() && isFirst)
1596
+ continue;
1597
+ // Determine the target entity on the other side
1598
+ const targetNode = isFirst ? rel.node2 : rel.node1;
1599
+ const targetAlias = targetNode.alias;
1600
+ let connectedInst;
1601
+ // Fast path: check if the environment carries between-rel info for this relationship
1602
+ const betRelInfo = env.getBetweenRelInfo();
1603
+ if (betRelInfo && betRelInfo.relationship.name === rel.name) {
1604
+ connectedInst = betRelInfo.connectedInstance;
1605
+ }
1606
+ else if (inst.lookup(PathAttributeName)) {
1607
+ // Slow path: query the connected instance through the resolver.
1608
+ // Only possible if the current instance has been persisted (has a __path__).
1609
+ try {
1610
+ const targetFqName = targetNode.path.asFqName();
1611
+ const targetParts = splitFqName(targetFqName);
1612
+ const res = await getResolverForPath(targetParts[1], targetParts[0], env);
1613
+ const queryInst = Instance.EmptyInstance(targetParts[1], targetParts[0]);
1614
+ const connected = await res.queryConnectedInstances(rel, inst, queryInst);
1615
+ if (connected && connected.length > 0) {
1616
+ connectedInst = connected[0];
1617
+ }
1618
+ }
1619
+ catch (reason) {
1620
+ logger.debug(`Relationship query failed (e.g. not yet linked) - skip binding - ${reason}`);
1621
+ }
1622
+ }
1623
+ if (connectedInst) {
1624
+ const relMap = new Map();
1625
+ relMap.set(targetAlias, connectedInst);
1626
+ newEnv.bind(rel.name, relMap);
1627
+ }
1628
+ }
1629
+ // Build a map of user-provided values for @expr attributes so that
1630
+ // overrides are applied inline during expression evaluation, allowing
1631
+ // dependent expressions to see the user's value immediately.
1632
+ let userExprOverrides;
1633
+ if (exprAttrs && origAttrs) {
1634
+ for (let i = 0; i < origAttrs.length; ++i) {
1635
+ const a = origAttrs[i];
1636
+ const n = a.name;
1637
+ if (exprAttrs.has(n) && !n.endsWith(QuerySuffix) && a.value !== undefined) {
1638
+ if (userExprOverrides === undefined) {
1639
+ userExprOverrides = new Map();
1640
+ }
1641
+ userExprOverrides.set(n, a.value);
1642
+ }
1643
+ }
1644
+ }
1571
1645
  if (exprAttrs) {
1572
1646
  const ks = [...exprAttrs.keys()];
1573
1647
  for (let i = 0; i < ks.length; ++i) {
1574
1648
  const n = ks[i];
1575
- const expr = exprAttrs.get(n);
1576
- if (expr) {
1577
- await evaluateExpression(expr, newEnv);
1578
- const v = newEnv.getLastResult();
1579
- newEnv.bind(n, v);
1580
- inst.attributes.set(n, v);
1581
- updatedAttrs === null || updatedAttrs === void 0 ? void 0 : updatedAttrs.set(n, v);
1649
+ const userValue = userExprOverrides === null || userExprOverrides === void 0 ? void 0 : userExprOverrides.get(n);
1650
+ if (userValue !== undefined) {
1651
+ // User explicitly provided a value for this @expr attribute - use it
1652
+ await evaluateExpression(userValue, newEnv);
1653
+ }
1654
+ else {
1655
+ // No user override - evaluate the @expr expression
1656
+ const expr = exprAttrs.get(n);
1657
+ if (expr) {
1658
+ await evaluateExpression(expr, newEnv);
1659
+ }
1660
+ else {
1661
+ continue;
1662
+ }
1582
1663
  }
1664
+ const v = newEnv.getLastResult();
1665
+ newEnv.bind(n, v);
1666
+ inst.attributes.set(n, v);
1667
+ updatedAttrs === null || updatedAttrs === void 0 ? void 0 : updatedAttrs.set(n, v);
1583
1668
  }
1584
1669
  }
1585
- if (origAttrs && updatedAttrs) {
1670
+ // Re-evaluate non-@expr attribute expressions from origAttrs in the context
1671
+ // of the queried instance. This handles workflow update expressions like
1672
+ // `balance balance + (balance * interestRate) + makeDeposit.amount` where
1673
+ // the local attribute references must resolve from the existing instance.
1674
+ // Only runs on the update path (where updatedAttrs is a separate map from
1675
+ // inst.attributes) to avoid double-evaluating expressions on create.
1676
+ if (origAttrs && updatedAttrs && updatedAttrs !== inst.attributes) {
1586
1677
  for (let i = 0; i < origAttrs.length; ++i) {
1587
1678
  const a = origAttrs[i];
1588
1679
  const n = a.name;
1680
+ if (exprAttrs === null || exprAttrs === void 0 ? void 0 : exprAttrs.has(n))
1681
+ continue;
1589
1682
  if (!n.endsWith(QuerySuffix) && updatedAttrs.has(n) && a.value !== undefined) {
1590
1683
  await evaluateExpression(a.value, newEnv);
1591
1684
  const v = newEnv.getLastResult();
@@ -1710,6 +1803,8 @@ async function agentInvoke(agent, msg, env) {
1710
1803
  invokeDebugMsg = `\nMessage=${msg}`;
1711
1804
  console.debug(invokeDebugMsg);
1712
1805
  //
1806
+ const agentChatId = env.getAgentChatId() || env.getActiveChatId() || '';
1807
+ await clearCancellation(agentChatId);
1713
1808
  const monitoringEnabled = isMonitoringEnabled();
1714
1809
  await agent.invoke(msg, env);
1715
1810
  let result = env.getLastResult();
@@ -1724,6 +1819,7 @@ async function agentInvoke(agent, msg, env) {
1724
1819
  }
1725
1820
  let retries = 0;
1726
1821
  while (true) {
1822
+ await checkCancelled(agentChatId);
1727
1823
  try {
1728
1824
  let rs = result ? normalizeGeneratedCode(result) : '';
1729
1825
  if (agent.tools) {
@@ -1790,6 +1886,7 @@ async function agentInvoke(agent, msg, env) {
1790
1886
  else {
1791
1887
  let retries = 0;
1792
1888
  while (true) {
1889
+ await checkCancelled(agentChatId);
1793
1890
  try {
1794
1891
  result = normalizeGeneratedCode(result);
1795
1892
  const obj = agent.maybeValidateJsonResponse(result);
@@ -1886,9 +1983,11 @@ async function iterateOnFlow(flow, rootAgent, msg, env) {
1886
1983
  rootAgent.disableSession();
1887
1984
  const chatId = (_a = env.getActiveEventInstance()) === null || _a === void 0 ? void 0 : _a.lookup('chatId');
1888
1985
  const iterId = chatId || crypto.randomUUID();
1986
+ await clearCancellation(iterId);
1889
1987
  let step = '';
1890
1988
  let fullFlowRetries = 0;
1891
1989
  while (true) {
1990
+ await checkCancelled(iterId);
1892
1991
  try {
1893
1992
  const initContext = msg;
1894
1993
  const s = `Now consider the following flowchart and return the next step:\n${flow}\n
@@ -1911,6 +2010,7 @@ async function iterateOnFlow(flow, rootAgent, msg, env) {
1911
2010
  env.flagMonitorEntryAsFlow().incrementMonitor();
1912
2011
  }
1913
2012
  while (step != 'DONE' && !executedSteps.has(step)) {
2013
+ await checkCancelled(iterId);
1914
2014
  if (stepc > MaxFlowSteps) {
1915
2015
  throw new Error(`Flow execution exceeded maximum steps limit`);
1916
2016
  }
@@ -1967,6 +2067,9 @@ async function iterateOnFlow(flow, rootAgent, msg, env) {
1967
2067
  }
1968
2068
  }
1969
2069
  catch (reason) {
2070
+ if (reason instanceof AgentCancelledException) {
2071
+ throw reason;
2072
+ }
1970
2073
  if (fullFlowRetries < MaxFlowRetries) {
1971
2074
  msg = `The previous attempt failed at step ${step} with the error ${reason}. Restart the flow the appropriate step
1972
2075
  (maybe even from the first step) and try to fix the issue.`;
@@ -2178,6 +2281,38 @@ export async function evaluateExpression(expr, env) {
2178
2281
  }
2179
2282
  env.setLastResult(result);
2180
2283
  }
2284
+ export function extractRefsFromExpr(expr) {
2285
+ const refs = [];
2286
+ function walk(e) {
2287
+ if (isBinExpr(e)) {
2288
+ walk(e.e1);
2289
+ walk(e.e2);
2290
+ }
2291
+ else if (isLiteral(e)) {
2292
+ if (e.ref)
2293
+ refs.push(e.ref);
2294
+ if (e.fnCall) {
2295
+ for (const arg of e.fnCall.args)
2296
+ walk(arg);
2297
+ }
2298
+ if (e.asyncFnCall) {
2299
+ for (const arg of e.asyncFnCall.fnCall.args)
2300
+ walk(arg);
2301
+ }
2302
+ }
2303
+ else if (isGroup(e)) {
2304
+ walk(e.ge);
2305
+ }
2306
+ else if (isNegExpr(e)) {
2307
+ walk(e.ne);
2308
+ }
2309
+ else if (isNotExpr(e)) {
2310
+ walk(e.ne);
2311
+ }
2312
+ }
2313
+ walk(expr);
2314
+ return refs;
2315
+ }
2181
2316
  async function getRef(r, src, env) {
2182
2317
  if (Instance.IsInstance(src))
2183
2318
  return src.lookup(r);