agentlang 0.10.3 → 0.10.5

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 (119) hide show
  1. package/README.md +22 -9
  2. package/out/extension/main.cjs +250 -250
  3. package/out/extension/main.cjs.map +2 -2
  4. package/out/language/generated/ast.d.ts +7 -7
  5. package/out/language/generated/ast.d.ts.map +1 -1
  6. package/out/language/generated/grammar.js +2 -2
  7. package/out/language/main.cjs +506 -506
  8. package/out/language/main.cjs.map +3 -3
  9. package/out/language/parser.d.ts.map +1 -1
  10. package/out/language/parser.js +9 -2
  11. package/out/language/parser.js.map +1 -1
  12. package/out/language/syntax.d.ts +2 -2
  13. package/out/language/syntax.d.ts.map +1 -1
  14. package/out/runtime/api.d.ts.map +1 -1
  15. package/out/runtime/api.js +0 -14
  16. package/out/runtime/api.js.map +1 -1
  17. package/out/runtime/defs.d.ts +0 -1
  18. package/out/runtime/defs.d.ts.map +1 -1
  19. package/out/runtime/defs.js +1 -2
  20. package/out/runtime/defs.js.map +1 -1
  21. package/out/runtime/embeddings/chunker.d.ts +0 -18
  22. package/out/runtime/embeddings/chunker.d.ts.map +1 -1
  23. package/out/runtime/embeddings/chunker.js +15 -47
  24. package/out/runtime/embeddings/chunker.js.map +1 -1
  25. package/out/runtime/embeddings/openai.d.ts.map +1 -1
  26. package/out/runtime/embeddings/openai.js +11 -22
  27. package/out/runtime/embeddings/openai.js.map +1 -1
  28. package/out/runtime/embeddings/provider.d.ts +0 -1
  29. package/out/runtime/embeddings/provider.d.ts.map +1 -1
  30. package/out/runtime/embeddings/provider.js +1 -20
  31. package/out/runtime/embeddings/provider.js.map +1 -1
  32. package/out/runtime/exec-graph.js +5 -5
  33. package/out/runtime/exec-graph.js.map +1 -1
  34. package/out/runtime/interpreter.d.ts +4 -4
  35. package/out/runtime/interpreter.d.ts.map +1 -1
  36. package/out/runtime/interpreter.js +27 -16
  37. package/out/runtime/interpreter.js.map +1 -1
  38. package/out/runtime/loader.d.ts.map +1 -1
  39. package/out/runtime/loader.js +6 -2
  40. package/out/runtime/loader.js.map +1 -1
  41. package/out/runtime/logger.d.ts.map +1 -1
  42. package/out/runtime/logger.js +1 -8
  43. package/out/runtime/logger.js.map +1 -1
  44. package/out/runtime/module.d.ts +0 -6
  45. package/out/runtime/module.d.ts.map +1 -1
  46. package/out/runtime/module.js +1 -58
  47. package/out/runtime/module.js.map +1 -1
  48. package/out/runtime/modules/ai.d.ts +4 -4
  49. package/out/runtime/modules/ai.d.ts.map +1 -1
  50. package/out/runtime/modules/ai.js +70 -166
  51. package/out/runtime/modules/ai.js.map +1 -1
  52. package/out/runtime/modules/auth.d.ts.map +1 -1
  53. package/out/runtime/modules/auth.js +6 -4
  54. package/out/runtime/modules/auth.js.map +1 -1
  55. package/out/runtime/modules/core.d.ts.map +1 -1
  56. package/out/runtime/modules/core.js +3 -0
  57. package/out/runtime/modules/core.js.map +1 -1
  58. package/out/runtime/modules/messaging.d.ts +10 -0
  59. package/out/runtime/modules/messaging.d.ts.map +1 -0
  60. package/out/runtime/modules/messaging.js +210 -0
  61. package/out/runtime/modules/messaging.js.map +1 -0
  62. package/out/runtime/monitor.d.ts +2 -1
  63. package/out/runtime/monitor.d.ts.map +1 -1
  64. package/out/runtime/monitor.js +5 -1
  65. package/out/runtime/monitor.js.map +1 -1
  66. package/out/runtime/resolvers/sqldb/database.d.ts.map +1 -1
  67. package/out/runtime/resolvers/sqldb/database.js +126 -128
  68. package/out/runtime/resolvers/sqldb/database.js.map +1 -1
  69. package/out/runtime/resolvers/sqldb/impl.d.ts +0 -1
  70. package/out/runtime/resolvers/sqldb/impl.d.ts.map +1 -1
  71. package/out/runtime/resolvers/sqldb/impl.js +0 -3
  72. package/out/runtime/resolvers/sqldb/impl.js.map +1 -1
  73. package/out/runtime/services/documentFetcher.d.ts.map +1 -1
  74. package/out/runtime/services/documentFetcher.js +6 -21
  75. package/out/runtime/services/documentFetcher.js.map +1 -1
  76. package/out/runtime/state.d.ts +0 -14
  77. package/out/runtime/state.d.ts.map +1 -1
  78. package/out/runtime/state.js +0 -28
  79. package/out/runtime/state.js.map +1 -1
  80. package/package.json +19 -19
  81. package/src/language/agentlang.langium +2 -2
  82. package/src/language/generated/ast.ts +7 -7
  83. package/src/language/generated/grammar.ts +2 -2
  84. package/src/language/parser.ts +9 -2
  85. package/src/language/syntax.ts +2 -2
  86. package/src/runtime/api.ts +0 -15
  87. package/src/runtime/defs.ts +1 -2
  88. package/src/runtime/embeddings/chunker.ts +14 -52
  89. package/src/runtime/embeddings/openai.ts +9 -27
  90. package/src/runtime/embeddings/provider.ts +1 -22
  91. package/src/runtime/exec-graph.ts +4 -4
  92. package/src/runtime/interpreter.ts +32 -17
  93. package/src/runtime/loader.ts +10 -2
  94. package/src/runtime/logger.ts +1 -12
  95. package/src/runtime/module.ts +1 -64
  96. package/src/runtime/modules/ai.ts +81 -206
  97. package/src/runtime/modules/auth.ts +6 -4
  98. package/src/runtime/modules/core.ts +4 -0
  99. package/src/runtime/modules/messaging.ts +228 -0
  100. package/src/runtime/monitor.ts +10 -1
  101. package/src/runtime/resolvers/sqldb/database.ts +130 -142
  102. package/src/runtime/resolvers/sqldb/impl.ts +0 -4
  103. package/src/runtime/services/documentFetcher.ts +6 -21
  104. package/src/runtime/state.ts +0 -29
  105. package/out/runtime/document-retriever.d.ts +0 -24
  106. package/out/runtime/document-retriever.d.ts.map +0 -1
  107. package/out/runtime/document-retriever.js +0 -258
  108. package/out/runtime/document-retriever.js.map +0 -1
  109. package/out/runtime/resolvers/vector/lancedb-store.d.ts +0 -16
  110. package/out/runtime/resolvers/vector/lancedb-store.d.ts.map +0 -1
  111. package/out/runtime/resolvers/vector/lancedb-store.js +0 -159
  112. package/out/runtime/resolvers/vector/lancedb-store.js.map +0 -1
  113. package/out/runtime/resolvers/vector/types.d.ts +0 -32
  114. package/out/runtime/resolvers/vector/types.d.ts.map +0 -1
  115. package/out/runtime/resolvers/vector/types.js +0 -2
  116. package/out/runtime/resolvers/vector/types.js.map +0 -1
  117. package/src/runtime/document-retriever.ts +0 -311
  118. package/src/runtime/resolvers/vector/lancedb-store.ts +0 -187
  119. package/src/runtime/resolvers/vector/types.ts +0 -39
@@ -34,21 +34,6 @@ export const ConfigSchema = z.object({
34
34
  type: z.literal('sqlite'),
35
35
  dbname: z.string().optional(),
36
36
  }),
37
- z.object({
38
- type: z.literal('lancedb'),
39
- path: z.string().optional(),
40
- }),
41
- ])
42
- .optional(),
43
- vectorStore: z
44
- .discriminatedUnion('type', [
45
- z.object({
46
- type: z.literal('pgvector'),
47
- }),
48
- z.object({
49
- type: z.literal('lancedb'),
50
- dbname: z.string().optional(),
51
- }),
52
37
  ])
53
38
  .optional(),
54
39
  integrations: z
@@ -92,11 +77,6 @@ export const ConfigSchema = z.object({
92
77
  enabled: z.boolean().default(false),
93
78
  })
94
79
  .optional(),
95
- knowledgeGraph: z
96
- .object({
97
- serviceUrl: z.string().default('#js process.env.KNOWLEDGE_SERVICE_URL || ""'),
98
- })
99
- .optional(),
100
80
  authentication: z
101
81
  .discriminatedUnion('service', [
102
82
  z.object({
@@ -169,14 +149,6 @@ export function isMonitoringEnabled() {
169
149
  var _a;
170
150
  return internalMonitoringEnabled || ((_a = AppConfig === null || AppConfig === void 0 ? void 0 : AppConfig.monitoring) === null || _a === void 0 ? void 0 : _a.enabled) === true;
171
151
  }
172
- export function isKnowledgeGraphEnabled() {
173
- var _a, _b;
174
- const url = (_b = (_a = AppConfig === null || AppConfig === void 0 ? void 0 : AppConfig.knowledgeGraph) === null || _a === void 0 ? void 0 : _a.serviceUrl) === null || _b === void 0 ? void 0 : _b.trim();
175
- return !!(url && url.length > 0) || !!process.env.KNOWLEDGE_SERVICE_URL;
176
- }
177
- export function getKnowledgeGraphConfig() {
178
- return AppConfig === null || AppConfig === void 0 ? void 0 : AppConfig.knowledgeGraph;
179
- }
180
152
  export class TtlCache {
181
153
  constructor(ttlMs) {
182
154
  this.store = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/runtime/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,2BAA2B;AAC3B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;KAC7C,CAAC;SACD,OAAO,CAAC;QACP,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,WAAW;QACjB,gBAAgB,EAAE,KAAK;KACxB,CAAC;IACJ,KAAK,EAAE,CAAC;SACL,kBAAkB,CAAC,MAAM,EAAE;QAC1B,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;YAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;YACrC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;YACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;YACxC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;YACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;SAC/B,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;YACrC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;YACrC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;YACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;YACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;SAC/B,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;YACzB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC9B,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;YAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC5B,CAAC;KACH,CAAC;SACD,QAAQ,EAAE;IACb,WAAW,EAAE,CAAC;SACX,kBAAkB,CAAC,MAAM,EAAE;QAC1B,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;SAC5B,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;YAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC9B,CAAC;KACH,CAAC;SACD,QAAQ,EAAE;IACb,YAAY,EAAE,CAAC;SACZ,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,CACnB,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,KAAK,CAAC;YACN,CAAC,CAAC,MAAM,EAAE;YACV,CAAC,CAAC,MAAM,CAAC;gBACP,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;gBAClB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aAC/B,CAAC;SACH,CAAC,CACH;QACD,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;KAClC,CAAC;SACD,QAAQ,EAAE;IACb,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;KACpC,CAAC;SACD,QAAQ,EAAE;IACb,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QACnC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KACtC,CAAC;SACD,QAAQ,EAAE;IACb,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;KACpC,CAAC;SACD,QAAQ,EAAE;IACb,UAAU,EAAE,CAAC;SACV,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;KACpC,CAAC;SACD,QAAQ,EAAE;IACb,UAAU,EAAE,CAAC;SACV,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;KACpC,CAAC;SACD,QAAQ,EAAE;IACb,cAAc,EAAE,CAAC;SACd,MAAM,CAAC;QACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC;KAC9E,CAAC;SACD,QAAQ,EAAE;IACb,cAAc,EAAE,CAAC;SACd,kBAAkB,CAAC,SAAS,EAAE;QAC7B,CAAC,CAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;YAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;YAClB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACnC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;YACzC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;YACxB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC;YAClD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;YAC3C,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;YACrC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE;YAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;YACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;YACtC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;YACvC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;SACrB,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;YAC7B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;YAC1B,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACxC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;YAC3C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;YACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;YAC5C,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;SAChD,CAAC;KACH,CAAC;SACD,QAAQ,EAAE;IACb,OAAO,EAAE,CAAC;SACP,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB,CAAC,CACH;SACA,QAAQ,EAAE;IACb,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;KAClE,CAAC;SACD,QAAQ,EAAE;IACb,KAAK,EAAE,CAAC;SACL,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;YAChB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;YACvD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;YACjB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;YACzD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;SACnB,CAAC;KACH,CAAC,CACH;SACA,QAAQ,EAAE;CACd,CAAC,CAAC;AAIH,MAAM,CAAC,IAAI,SAA6B,CAAC;AAEzC,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,SAAS,GAAG,MAAM,CAAC;IACnB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,IAAI,yBAAyB,GAAG,KAAK,CAAC;AAEtC,MAAM,UAAU,wBAAwB;IACtC,yBAAyB,GAAG,IAAI,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,yBAAyB,GAAG,KAAK,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,mBAAmB;;IACjC,OAAO,yBAAyB,IAAI,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,0CAAE,OAAO,MAAK,IAAI,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,uBAAuB;;IACrC,MAAM,GAAG,GAAG,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,cAAc,0CAAE,UAAU,0CAAE,IAAI,EAAE,CAAC;IAC1D,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,cAAc,CAAC;AACnC,CAAC;AAOD,MAAM,OAAO,QAAQ;IAInB,YAAY,KAAa;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ,EAAE,eAAwB;QACjD,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACjE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAE3C,qDAAqD;QACrD,UAAU,CAAC,GAAG,EAAE;YACd,wEAAwE;YACxE,kEAAkE;YAClE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,KAAK,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;gBAC7C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,EAAE,eAAe,CAAC,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAE1C,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,sBAAsB;YAC9C,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/runtime/state.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.3",
4
+ "version": "0.10.5",
5
5
  "license": "Sustainable Use License",
6
6
  "author": "agentlang-ai",
7
7
  "homepage": "https://github.com/agentlang-ai/agentlang#readme",
@@ -34,29 +34,12 @@
34
34
  "access": "public",
35
35
  "registry": "https://registry.npmjs.org/"
36
36
  },
37
- "scripts": {
38
- "build": "tsc -b tsconfig.src.json && tsc -b tsconfig.declarations.json && node esbuild.mjs",
39
- "build:ts": "tsc -b tsconfig.src.json",
40
- "watch": "concurrently -n tsc,esbuild -c blue,yellow \"tsc -b tsconfig.src.json --watch\" \"node esbuild.mjs --watch\"",
41
- "lint": "eslint . --ext .ts",
42
- "lint:fix": "eslint . --ext .ts --fix",
43
- "format": "prettier --write \"src/**/*.{js,ts,tsx,json,md}\"",
44
- "format:check": "prettier --check \"src/**/*.{js,ts,tsx,json,md}\"",
45
- "langium:generate": "langium generate",
46
- "langium:generate:production": "langium generate --mode=production",
47
- "langium:watch": "langium generate --watch",
48
- "vscode:prepublish": "npm run build && npm run lint",
49
- "dev": "vite",
50
- "test": "vitest run",
51
- "test:verbose": "VITEST_VERBOSE=true vitest run"
52
- },
53
37
  "dependencies": {
54
38
  "@aws-sdk/client-cognito-identity": "^3.975.0",
55
39
  "@aws-sdk/client-cognito-identity-provider": "^3.975.0",
56
40
  "@aws-sdk/client-s3": "^3.975.0",
57
41
  "@aws-sdk/credential-providers": "^3.975.0",
58
42
  "@isomorphic-git/lightning-fs": "^4.6.2",
59
- "@lancedb/lancedb": "^0.15.0",
60
43
  "@langchain/anthropic": "^1.3.12",
61
44
  "@langchain/core": "^1.1.17",
62
45
  "@langchain/openai": "^1.2.3",
@@ -83,6 +66,7 @@
83
66
  "pgvector": "^0.2.1",
84
67
  "reflect-metadata": "^0.2.2",
85
68
  "sql.js": "^1.13.0",
69
+ "sqlite-vec": "^0.1.7-alpha.2",
86
70
  "typeorm": "^0.3.28",
87
71
  "vscode-languageserver": "^9.0.1",
88
72
  "winston": "^3.19.0",
@@ -189,5 +173,21 @@
189
173
  "*.{json,md,yml,yaml}": [
190
174
  "prettier --write"
191
175
  ]
176
+ },
177
+ "scripts": {
178
+ "build": "tsc -b tsconfig.src.json && tsc -b tsconfig.declarations.json && node esbuild.mjs",
179
+ "build:ts": "tsc -b tsconfig.src.json",
180
+ "watch": "concurrently -n tsc,esbuild -c blue,yellow \"tsc -b tsconfig.src.json --watch\" \"node esbuild.mjs --watch\"",
181
+ "lint": "eslint . --ext .ts",
182
+ "lint:fix": "eslint . --ext .ts --fix",
183
+ "format": "prettier --write \"src/**/*.{js,ts,tsx,json,md}\"",
184
+ "format:check": "prettier --check \"src/**/*.{js,ts,tsx,json,md}\"",
185
+ "langium:generate": "langium generate",
186
+ "langium:generate:production": "langium generate --mode=production",
187
+ "langium:watch": "langium generate --watch",
188
+ "vscode:prepublish": "npm run build && npm run lint",
189
+ "dev": "vite",
190
+ "test": "vitest run",
191
+ "test:verbose": "VITEST_VERBOSE=true vitest run"
192
192
  }
193
- }
193
+ }
@@ -148,8 +148,8 @@ WhereSpecClause: lhs=QueryId op=SqlComparisonOpr? rhs=Expr;
148
148
 
149
149
  GroupByClause: '@groupBy' ('(' (colNames+=QualifiedName (',' colNames+=QualifiedName)*)+ ')');
150
150
  OrderByClause: '@orderBy' ('(' (colNames+=QualifiedName (',' colNames+=QualifiedName)*)+ ')') (order=('@asc' | '@desc'))?;
151
- LimitClause: '@limit' '(' value=INT ')';
152
- OffsetClause: '@offset' '(' value=INT ')';
151
+ LimitClause: '@limit' '(' value=Expr ')';
152
+ OffsetClause: '@offset' '(' value=Expr ')';
153
153
 
154
154
  FullTextSearch: '{' name=QueryId query=Literal options=MapLiteral? '}';
155
155
 
@@ -364,7 +364,7 @@ export function isBeforeTriggerDefinition(item: unknown): item is BeforeTriggerD
364
364
  }
365
365
 
366
366
  export interface BinExpr extends langium.AstNode {
367
- readonly $container: AttributeDefinition | BinExpr | CaseEntry | FnCall | Group | If | MapEntry | NegExpr | NotExpr | Pattern | SetAttribute | ThrowError | WhereSpecClause;
367
+ readonly $container: AttributeDefinition | BinExpr | CaseEntry | FnCall | Group | If | LimitClause | MapEntry | NegExpr | NotExpr | OffsetClause | Pattern | SetAttribute | ThrowError | WhereSpecClause;
368
368
  readonly $type: 'BinExpr';
369
369
  e1: Expr | PrimExpr;
370
370
  e2: Expr | PrimExpr;
@@ -873,7 +873,7 @@ export function isGlossaryEntryDefinition(item: unknown): item is GlossaryEntryD
873
873
  }
874
874
 
875
875
  export interface Group extends langium.AstNode {
876
- readonly $container: AttributeDefinition | BinExpr | CaseEntry | FnCall | Group | If | MapEntry | NegExpr | NotExpr | Pattern | SetAttribute | ThrowError | WhereSpecClause;
876
+ readonly $container: AttributeDefinition | BinExpr | CaseEntry | FnCall | Group | If | LimitClause | MapEntry | NegExpr | NotExpr | OffsetClause | Pattern | SetAttribute | ThrowError | WhereSpecClause;
877
877
  readonly $type: 'Group';
878
878
  ge: Expr;
879
879
  }
@@ -1034,7 +1034,7 @@ export function isKvPairs(item: unknown): item is KvPairs {
1034
1034
  export interface LimitClause extends langium.AstNode {
1035
1035
  readonly $container: QueryOption;
1036
1036
  readonly $type: 'LimitClause';
1037
- value: number;
1037
+ value: Expr;
1038
1038
  }
1039
1039
 
1040
1040
  export const LimitClause = {
@@ -1047,7 +1047,7 @@ export function isLimitClause(item: unknown): item is LimitClause {
1047
1047
  }
1048
1048
 
1049
1049
  export interface Literal extends langium.AstNode {
1050
- readonly $container: AttributeDefinition | BinExpr | CaseEntry | CrudMap | FnCall | FullTextSearch | GenericPropertyDef | Group | If | KvPair | MapEntry | NegExpr | NotExpr | Pattern | SetAttribute | ThrowError | WhereSpecClause;
1050
+ readonly $container: AttributeDefinition | BinExpr | CaseEntry | CrudMap | FnCall | FullTextSearch | GenericPropertyDef | Group | If | KvPair | LimitClause | MapEntry | NegExpr | NotExpr | OffsetClause | Pattern | SetAttribute | ThrowError | WhereSpecClause;
1051
1051
  readonly $type: 'Literal';
1052
1052
  array?: ArrayLiteral;
1053
1053
  asyncFnCall?: AsyncFnCall;
@@ -1162,7 +1162,7 @@ export function isModuleDefinition(item: unknown): item is ModuleDefinition {
1162
1162
  }
1163
1163
 
1164
1164
  export interface NegExpr extends langium.AstNode {
1165
- readonly $container: AttributeDefinition | BinExpr | CaseEntry | FnCall | Group | If | MapEntry | NegExpr | NotExpr | Pattern | SetAttribute | ThrowError | WhereSpecClause;
1165
+ readonly $container: AttributeDefinition | BinExpr | CaseEntry | FnCall | Group | If | LimitClause | MapEntry | NegExpr | NotExpr | OffsetClause | Pattern | SetAttribute | ThrowError | WhereSpecClause;
1166
1166
  readonly $type: 'NegExpr';
1167
1167
  ne: Expr;
1168
1168
  }
@@ -1194,7 +1194,7 @@ export function isNodeDefinition(item: unknown): item is NodeDefinition {
1194
1194
  }
1195
1195
 
1196
1196
  export interface NotExpr extends langium.AstNode {
1197
- readonly $container: AttributeDefinition | BinExpr | CaseEntry | FnCall | Group | If | MapEntry | NegExpr | NotExpr | Pattern | SetAttribute | ThrowError | WhereSpecClause;
1197
+ readonly $container: AttributeDefinition | BinExpr | CaseEntry | FnCall | Group | If | LimitClause | MapEntry | NegExpr | NotExpr | OffsetClause | Pattern | SetAttribute | ThrowError | WhereSpecClause;
1198
1198
  readonly $type: 'NotExpr';
1199
1199
  ne: Expr;
1200
1200
  }
@@ -1211,7 +1211,7 @@ export function isNotExpr(item: unknown): item is NotExpr {
1211
1211
  export interface OffsetClause extends langium.AstNode {
1212
1212
  readonly $container: QueryOption;
1213
1213
  readonly $type: 'OffsetClause';
1214
- value: number;
1214
+ value: Expr;
1215
1215
  }
1216
1216
 
1217
1217
  export const OffsetClause = {
@@ -4365,7 +4365,7 @@ export const AgentlangGrammar = (): Grammar => loadedAgentlangGrammar ?? (loaded
4365
4365
  "terminal": {
4366
4366
  "$type": "RuleCall",
4367
4367
  "rule": {
4368
- "$ref": "#/rules@135"
4368
+ "$ref": "#/rules@113"
4369
4369
  },
4370
4370
  "arguments": []
4371
4371
  }
@@ -4401,7 +4401,7 @@ export const AgentlangGrammar = (): Grammar => loadedAgentlangGrammar ?? (loaded
4401
4401
  "terminal": {
4402
4402
  "$type": "RuleCall",
4403
4403
  "rule": {
4404
- "$ref": "#/rules@135"
4404
+ "$ref": "#/rules@113"
4405
4405
  },
4406
4406
  "arguments": []
4407
4407
  }
@@ -294,6 +294,13 @@ function introspectExpression(expr: Expr | undefined): BasePattern {
294
294
  throw new Error('Failed to introspect expression - ' + expr);
295
295
  }
296
296
 
297
+ function exprToLimitOffset(expr: Expr): number | string | undefined {
298
+ if (isLiteral(expr) && expr.num !== undefined) {
299
+ return expr.num;
300
+ }
301
+ return expr.$cstNode?.text;
302
+ }
303
+
297
304
  function introspectQueryPattern(crudMap: CrudMap): CrudPattern {
298
305
  if (crudMap) {
299
306
  const cp: CrudPattern = new CrudPattern(crudMap.name);
@@ -327,10 +334,10 @@ function introspectQueryPattern(crudMap: CrudMap): CrudPattern {
327
334
  cp.orderBy = opts.orderByClause.colNames;
328
335
  }
329
336
  if (opts.limitClause) {
330
- cp.limit = opts.limitClause.value;
337
+ cp.limit = exprToLimitOffset(opts.limitClause.value);
331
338
  }
332
339
  if (opts.offsetClause) {
333
- cp.offset = opts.offsetClause.value;
340
+ cp.offset = exprToLimitOffset(opts.offsetClause.value);
334
341
  }
335
342
  cp.isCreate = false;
336
343
  cp.isQueryUpdate = false;
@@ -413,8 +413,8 @@ export class CrudPattern extends BasePattern {
413
413
  where: WhereSpecClausePattern[] | undefined;
414
414
  groupBy: string[] | undefined;
415
415
  orderBy: string[] | undefined;
416
- limit: number | undefined;
417
- offset: number | undefined;
416
+ limit: number | string | undefined;
417
+ offset: number | string | undefined;
418
418
  isQuery: boolean = false;
419
419
  isQueryUpdate: boolean = false;
420
420
  isCreate: boolean = false;
@@ -1,5 +1,4 @@
1
1
  import { fetchConfig as al_fetchConfig } from './interpreter.js';
2
- import { defaultDataSource } from './resolvers/sqldb/database.js';
3
2
  import {
4
3
  makeInstance as al_makeInstance,
5
4
  isInstanceOfType as al_isInstanceOfType,
@@ -54,20 +53,6 @@ export function initGlobalApi() {
54
53
  globalThis.agentlang.exchangeOAuthCode = al_exchangeOAuthCode;
55
54
  globalThis.agentlang.getAccessToken = al_getAccessToken;
56
55
 
57
- // Expose raw SQL query for resolvers that need direct database access (e.g. pgvector)
58
- globalThis.agentlang.rawQuery = async (sql: string, params?: any[]) => {
59
- if (!defaultDataSource || !defaultDataSource.isInitialized) {
60
- throw new Error('Database not initialized');
61
- }
62
- return defaultDataSource.query(sql, params);
63
- };
64
-
65
- // Expose database type detection for resolvers
66
- globalThis.agentlang.getDbType = () => {
67
- if (!defaultDataSource || !defaultDataSource.isInitialized) return 'unknown';
68
- return defaultDataSource.options.type;
69
- };
70
-
71
56
  ApiInited = true;
72
57
  }
73
58
  }
@@ -4,8 +4,7 @@ export const PathAttributeName: string = '__path__';
4
4
  export const PathAttributeNameQuery: string = '__path__?';
5
5
  export const ParentAttributeName: string = '__parent__';
6
6
  export const DeletedFlagAttributeName: string = '__is_deleted__';
7
- export const AgentIdAttributeName: string = 'agentId';
8
- export const TenantAttributeName: string = 'agentId';
7
+ export const TenantAttributeName: string = '__tenant__';
9
8
 
10
9
  export function isPathAttribute(n: string): boolean {
11
10
  return n.startsWith(PathAttributeName);
@@ -1,79 +1,41 @@
1
- /**
2
- * Streaming text chunker - yields chunks one at a time without storing all in memory.
3
- */
4
1
  export class TextChunker {
5
2
  private chunkSize: number;
6
3
  private chunkOverlap: number;
7
4
  private separators: string[] = ['\n\n', '\n', '. ', ' ', ''];
8
5
 
9
6
  constructor(chunkSize: number = 1000, chunkOverlap: number = 200) {
10
- // Ensure valid values - overlap must be less than chunk size to avoid infinite loop
11
- this.chunkSize = Math.max(100, chunkSize || 1000);
12
- // Cap overlap to at most 20% of chunk size to ensure progress
13
- this.chunkOverlap = Math.max(
14
- 0,
15
- Math.min(chunkOverlap || 200, Math.floor(this.chunkSize * 0.2))
16
- );
7
+ this.chunkSize = chunkSize;
8
+ this.chunkOverlap = chunkOverlap;
17
9
  }
18
10
 
19
- /**
20
- * Calculate total chunks without creating them all in memory.
21
- * Used for logging/progress tracking.
22
- */
23
- estimateChunks(text: string): number {
24
- if (text.length <= this.chunkSize) {
25
- return 1;
26
- }
27
- // Rough estimate: (text length / effective chunk size) + 1
28
- const effectiveChunkSize = this.chunkSize - this.chunkOverlap;
29
- return Math.ceil(text.length / effectiveChunkSize);
30
- }
31
-
32
- /**
33
- * Streaming generator that yields chunks one at a time.
34
- * Memory-efficient: doesn't store all chunks in an array.
35
- */
36
- *streamChunks(text: string): Generator<string, void, unknown> {
11
+ splitText(text: string): string[] {
37
12
  if (text.length <= this.chunkSize) {
38
- yield text;
39
- return;
13
+ return [text];
40
14
  }
41
15
 
16
+ const chunks: string[] = [];
42
17
  let start = 0;
43
- const minAdvance = Math.max(50, this.chunkSize - this.chunkOverlap); // Ensure we always advance
44
18
 
45
19
  while (start < text.length) {
46
20
  let end = Math.min(start + this.chunkSize, text.length);
47
21
 
48
22
  if (end < text.length) {
49
- // Try to find a good split point, but ensure we advance by at least minAdvance
50
- const splitPoint = this.findBestSplitPoint(text, start, end);
51
- // Only use split point if it gives us reasonable progress
52
- if (splitPoint - start >= minAdvance * 0.5) {
53
- end = splitPoint;
54
- }
55
- // Otherwise use the hard end to ensure progress
23
+ end = this.findBestSplitPoint(text, start, end);
56
24
  }
57
25
 
58
- yield text.substring(start, end);
59
-
60
- // Advance by at least minAdvance characters to avoid infinite loops
61
- const nextStart = end - this.chunkOverlap;
62
- start = Math.max(nextStart, start + minAdvance * 0.5);
26
+ chunks.push(text.substring(start, end));
27
+ start = end - this.chunkOverlap;
63
28
 
64
- if (start >= text.length) {
29
+ if (start < 0) start = 0;
30
+ if (start >= text.length - this.chunkOverlap) {
31
+ if (start < text.length) {
32
+ chunks.push(text.substring(start));
33
+ }
65
34
  break;
66
35
  }
67
36
  }
68
- }
69
37
 
70
- /**
71
- * Legacy method for backwards compatibility.
72
- * ⚠️ WARNING: This creates all chunks in memory and can cause OOM on large documents.
73
- * Prefer streamChunks() for large documents.
74
- */
75
- splitText(text: string): string[] {
76
- return Array.from(this.streamChunks(text));
38
+ return chunks;
77
39
  }
78
40
 
79
41
  private findBestSplitPoint(text: string, start: number, end: number): number {
@@ -1,7 +1,6 @@
1
1
  import { OpenAIEmbeddings } from '@langchain/openai';
2
2
  import { EmbeddingProvider, EmbeddingProviderConfig } from './provider.js';
3
3
  import { getLocalEnv } from '../auth/defs.js';
4
- import { logger } from '../logger.js';
5
4
 
6
5
  export interface OpenAIEmbeddingConfig extends EmbeddingProviderConfig {
7
6
  model?: string;
@@ -15,9 +14,6 @@ export class OpenAIEmbeddingProvider extends EmbeddingProvider {
15
14
  constructor(config?: EmbeddingProviderConfig) {
16
15
  super(config || {});
17
16
  this.openaiConfig = (this.config as OpenAIEmbeddingConfig) || {};
18
- logger.debug(
19
- `[OPENAI-EMBEDDING] Provider created with model: ${this.openaiConfig.model || 'default'}`
20
- );
21
17
  }
22
18
 
23
19
  protected createEmbeddings(): OpenAIEmbeddings {
@@ -25,40 +21,26 @@ export class OpenAIEmbeddingProvider extends EmbeddingProvider {
25
21
  apiKey: this.resolveApiKey(),
26
22
  };
27
23
 
28
- // Use this.config directly since this.openaiConfig is not initialized yet
29
- // during parent constructor (super() calls createEmbeddings before child init)
30
- const openaiConfig = (this.config as OpenAIEmbeddingConfig) || {};
31
-
32
- if (openaiConfig?.model) {
33
- config.model = openaiConfig.model;
24
+ if (this.openaiConfig?.model) {
25
+ config.model = this.openaiConfig.model;
34
26
  }
35
27
 
36
- if (openaiConfig?.dimensions) {
37
- config.dimensions = openaiConfig.dimensions;
28
+ if (this.openaiConfig?.dimensions) {
29
+ config.dimensions = this.openaiConfig.dimensions;
38
30
  }
39
31
 
40
- if (openaiConfig?.maxRetries !== undefined) {
41
- config.maxRetries = openaiConfig.maxRetries;
32
+ if (this.openaiConfig?.maxRetries !== undefined) {
33
+ config.maxRetries = this.openaiConfig.maxRetries;
42
34
  }
43
35
 
44
36
  return new OpenAIEmbeddings(config);
45
37
  }
46
38
 
47
39
  protected resolveApiKey(): string {
48
- // Use this.config directly since this.openaiConfig may not be initialized yet
49
- // during constructor (createEmbeddings is called during super())
50
- const config = this.openaiConfig || (this.config as OpenAIEmbeddingConfig) || {};
51
- if (config.apiKey) {
52
- return config.apiKey;
53
- }
54
- const envKey = process.env.AGENTLANG_OPENAI_KEY || getLocalEnv('AGENTLANG_OPENAI_KEY');
55
- if (envKey) {
56
- return envKey;
40
+ if (this.openaiConfig?.apiKey) {
41
+ return this.openaiConfig.apiKey;
57
42
  }
58
- logger.warn(
59
- `[OPENAI-EMBEDDING] No API key found! Set AGENTLANG_OPENAI_KEY environment variable.`
60
- );
61
- return '';
43
+ return process.env.AGENTLANG_OPENAI_KEY || getLocalEnv('AGENTLANG_OPENAI_KEY') || '';
62
44
  }
63
45
 
64
46
  getProviderName(): string {
@@ -1,5 +1,4 @@
1
1
  import { Embeddings } from '@langchain/core/embeddings';
2
- import { logger } from '../logger.js';
3
2
 
4
3
  export interface EmbeddingProviderConfig {
5
4
  chunkSize?: number;
@@ -24,27 +23,7 @@ export abstract class EmbeddingProvider {
24
23
  abstract getProviderName(): string;
25
24
 
26
25
  async embedText(text: string): Promise<number[]> {
27
- logger.debug(`[EMBEDDING-PROVIDER] embedText called (${text.length} chars)`);
28
- const startTime = Date.now();
29
- const result = await this.embeddings.embedQuery(text);
30
- const duration = Date.now() - startTime;
31
- logger.debug(
32
- `[EMBEDDING-PROVIDER] embedText completed in ${duration}ms (${result.length} dimensions)`
33
- );
34
- return result;
35
- }
36
-
37
- async embedTexts(texts: string[]): Promise<number[][]> {
38
- if (texts.length === 0) return [];
39
- if (texts.length === 1) return [await this.embedText(texts[0])];
40
- logger.debug(`[EMBEDDING-PROVIDER] embedTexts called (${texts.length} texts)`);
41
- const startTime = Date.now();
42
- const results = await this.embeddings.embedDocuments(texts);
43
- const duration = Date.now() - startTime;
44
- logger.debug(
45
- `[EMBEDDING-PROVIDER] embedTexts completed in ${duration}ms (${texts.length} texts, ${results[0]?.length || 0} dimensions)`
46
- );
47
- return results;
26
+ return await this.embeddings.embedQuery(text);
48
27
  }
49
28
 
50
29
  getConfig(): EmbeddingProviderConfig {
@@ -486,18 +486,18 @@ export async function executeEventHelper(eventInstance: Instance, env?: Environm
486
486
  isLocalEnv = true;
487
487
  }
488
488
  let g: ExecGraph | undefined;
489
- let escalatedRole: string | undefined;
489
+ let assumedRole: string | undefined;
490
490
  if (!isAgentEventInstance(eventInstance)) {
491
491
  g = await generateExecutionGraph(fqn);
492
492
  if (!g) {
493
493
  throw new Error(`Failed to generate graph for event ${fqn}`);
494
494
  }
495
- escalatedRole = getWorkflowForEvent(fqn).getRoleEscalation();
495
+ assumedRole = getWorkflowForEvent(fqn).getRoleEscalation();
496
496
  }
497
497
  const oldModuleName = env.switchActiveModuleName(eventInstance.moduleName);
498
498
  env.bind(eventInstance.name, eventInstance);
499
499
  env.bind(eventInstance.getFqName(), eventInstance);
500
- if (escalatedRole) env.setEscalatedRole(escalatedRole);
500
+ if (assumedRole) env.setAssumedRole(assumedRole);
501
501
  try {
502
502
  if (g) {
503
503
  await executeGraph(g, env);
@@ -522,7 +522,7 @@ export async function executeEventHelper(eventInstance: Instance, env?: Environm
522
522
  }
523
523
  throw err;
524
524
  } finally {
525
- env.resetEscalatedRole();
525
+ env.resetAssumedRole();
526
526
  if (!isLocalEnv) env.switchActiveModuleName(oldModuleName);
527
527
  }
528
528
  }